Guida Didattica · Percorso Python

Fondamenti Matematici per la Data Science

Vettori, matrici, tensori e funzioni: il linguaggio matematico dietro Machine Learning e AI, spiegato senza formule complicate.

0 di 5 passaggi completati

01Fondamenti

Perché la matematica, a questo punto del percorso?

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.

[ 3 ]
Scalare
Un singolo numero
[3, 7, 2]
Vettore
Una fila di numeri (1 dimensione)
[[1,2],[3,4]]
Matrice
Righe e colonne (2 dimensioni)
[[[…]]]
Tensore
3 o più dimensioni

Un esempio concreto

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.

02Concetti Chiave

🔢 Scalare▶

Un singolo numero, senza direzione né struttura: 5, -3, 7.2. È la "dimensione zero" del mondo matematico che useremo.

➡️ Vettore▶

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.

altezza_peso_età = np.array([1.75, 68, 30])
▦ Matrice▶

Una griglia di numeri organizzata in righe e colonne: un array 2D. Una tabella di dati (come un DataFrame) è concettualmente una matrice.

🧊 Tensore▶

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.

✖️ Prodotto scalare (dot product)▶

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.

a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) np.dot(a, b) # 1*4 + 2*5 + 3*6 = 32
📐 Funzione (in senso matematico)▶

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.

03Checklist Pratica

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)
1. Crea uno scalare, un vettore e una matrice con NumPyUsa np.array() come nell'esempio sopra e stampane la shape.

Esempio per il punto 2

a = np.array([1, 2, 3])
b = np.array([10, 20, 30])
print(a + b)  # [11 22 33]
2. Esegui la somma tra due vettoriCrea due vettori della stessa lunghezza e sommali, come nell'esempio sopra.

Esempio per il punto 3

print(np.dot(a, b))  # 1*10 + 2*20 + 3*30 = 140
3. Esegui il prodotto scalare (dot product)Usa np.dot() tra i tuoi due vettori, come nell'esempio sopra: il risultato è un singolo numero.

Esempio per il punto 4

tensore = np.array([[[1,2],[3,4]],
                    [[5,6],[7,8]]])
print(tensore.shape)  # (2, 2, 2)
4. Crea un tensore 3DCrea un array NumPy a 3 dimensioni come nell'esempio sopra e stampane la shape.
5. Completa il quiz di verificaScendi in fondo alla guida e rispondi correttamente ad almeno l'80% delle domande.

04Glossario Interattivo

Tocca ogni termine per vederne la definizione.

05Quiz di Verifica

06Esercitazioni Pratiche

Esercizio 1

Identifica la dimensione

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.

⏱ 20 minuti📦 Script + 4 shape commentate🖥️ Individuale
Esercizio 2

Il prodotto scalare del carrello

Crea un vettore "prezzi" e un vettore "quantità" per 4 prodotti. Calcola il totale della spesa usando np.dot() invece di un ciclo for.

⏱ 15 minuti📦 Script con totale calcolato🖥️ Individuale
Esercizio 3

Trova l'errore: vettori di lunghezza diversa

Questo codice genera un errore: np.dot([1,2,3], [1,2]). Spiega perché il prodotto scalare richiede vettori della stessa lunghezza.

⏱ 10 minuti📦 Spiegazione scritta🖥️ Individuale o in coppia

🎓 Attestato di completamento

Completa tutti i 5 passaggi della checklist per sbloccare il tuo attestato in PDF.

0 / 5 passaggi completati