Vettori, matrici, tensori e funzioni: il linguaggio matematico dietro Machine Learning e AI, spiegato senza formule complicate.
Hai già usato NumPy per creare array e Pandas per tabelle di dati. Dietro le quinte, quegli strumenti si basano su concetti matematici semplici ma potentissimi: vettori, matrici e tensori. Non servono formule complesse: bastano tre immagini mentali chiare.
Immagina una foto in bianco e nero: è già una matrice (righe e colonne di pixel). Una foto a colori aggiunge una terza dimensione (rosso, verde, blu): diventa un tensore. Un intero video, composto da tanti fotogrammi, aggiunge una quarta dimensione (il tempo): tensore ancora più complesso. Il Machine Learning e il Deep Learning lavorano proprio manipolando questi "blocchi" di numeri.
Un singolo numero, senza direzione né struttura: 5, -3, 7.2. È la "dimensione zero" del mondo matematico che useremo.
Una fila ordinata di numeri, come le coordinate di un punto o le caratteristiche di un oggetto (es. altezza, peso, età di una persona). In Python è semplicemente un array 1D.
Una griglia di numeri organizzata in righe e colonne: un array 2D. Una tabella di dati (come un DataFrame) è concettualmente una matrice.
Una generalizzazione: un "blocco" di numeri con 3 o più dimensioni. Immagini a colori, video, e i dati che circolano dentro le reti neurali sono tutti tensori.
Un'operazione che combina due vettori della stessa lunghezza in un singolo numero, moltiplicando le coppie di elementi corrispondenti e sommando i risultati. È l'operazione matematica alla base di come una rete neurale "pesa" le informazioni in ingresso.
Una funzione matematica associa a ogni input esattamente un output, seguendo una regola fissa. Un modello di Machine Learning, in fondo, è proprio una funzione (spesso molto complessa) che trasforma dati in ingresso in una previsione in uscita.
Spunta ogni passaggio man mano che lo completi: sbloccherai l'attestato di questa guida al termine.
Esempio per il punto 1
scalare = np.array(5) vettore = np.array([1, 2, 3]) matrice = np.array([[1,2],[3,4]]) print(vettore.shape, matrice.shape) # (3,) (2, 2)
Esempio per il punto 2
a = np.array([1, 2, 3]) b = np.array([10, 20, 30]) print(a + b) # [11 22 33]
Esempio per il punto 3
print(np.dot(a, b)) # 1*10 + 2*20 + 3*30 = 140
Esempio per il punto 4
tensore = np.array([[[1,2],[3,4]], [[5,6],[7,8]]]) print(tensore.shape) # (2, 2, 2)
Tocca ogni termine per vederne la definizione.
Crea con NumPy quattro variabili: uno scalare, un vettore di 4 elementi, una matrice 3x3, un tensore 2x2x2. Stampa la shape di ciascuno e scrivi a fianco a cosa corrisponde nella vita reale.
Crea un vettore "prezzi" e un vettore "quantità" per 4 prodotti. Calcola il totale della spesa usando np.dot() invece di un ciclo for.
Questo codice genera un errore: np.dot([1,2,3], [1,2]). Spiega perché il prodotto scalare richiede vettori della stessa lunghezza.
Completa tutti i 5 passaggi della checklist per sbloccare il tuo attestato in PDF.