Questi sono argomenti con cui ho avuto difficolta anche scrivendo appunti sulla likelihood l’anno scorso. Li ho riorganizzati qui sulla base dei contenuti di BoostCamp.
Teoria della probabilita
Il deep learning si basa sulla teoria del machine learning basata sulla probabilita.
Distribuzioni di probabilita

Nello spazio dei dati (X x y), la distribuzione di probabilita D e la distribuzione da cui vengono campionati i dati nello spazio dei dati.
Dato che y e assunto, questa spiegazione si basa sull’apprendimento supervisionato con etichette di verita.
Variabili casuali
Variabile casuale = dati osservabili nello spazio dei dati.
- Le variabili casuali vengono usate quando si estraggono dati.
- Una distribuzione di probabilita si riferisce alla distribuzione da cui vengono estratte le variabili casuali.
Tipi di variabili casuali
Le variabili casuali sono classificate come discrete o continue a seconda della distribuzione D.
Non classificate in base allo spazio dei dati. Per esempio, le variabili casuali nello spazio degli interi sono necessariamente discrete. Ma una variabile casuale nello spazio dei numeri reali e comunque discreta se si possono selezionare solo -0.5 e 0.5.
Variabili casuali discrete
Modellate come somma delle probabilita considerando tutti i casi possibili.
Chiamata funzione di massa di probabilita.
Variabili casuali continue
Modellate integrando la densita delle variabili casuali definite nello spazio dei dati.
La densita e la seguente:

La densita e il tasso di variazione della funzione di distribuzione cumulativa — non e una probabilita!
Distribuzione congiunta
Dati i dati completi X e y, possiamo postulare una distribuzione, chiamata distribuzione congiunta.
La distribuzione congiunta modella la distribuzione di probabilita D.

Nella figura sopra, i punti dati reali sono i punti blu. Sembrano variabili casuali continue, ma se postuliamo la distribuzione congiunta come le caselle rosse, possono essere trattate come se fossero discrete.
Il tipo della distribuzione dei dati reali e il tipo della distribuzione congiunta sono indipendenti. Dipende da come si modella.
Dato che gestiamo i dati computazionalmente, basta impostare la distribuzione congiunta P(X, y) in modo appropriato per approssimare la vera distribuzione D.
Distribuzione di probabilita marginale

P(x) = distribuzione di probabilita marginale per l’input x; nessuna informazione su y. Come mostrato, si possono contare le occorrenze lungo x o fornire informazioni integrate.
Si puo definire anche la distribuzione marginale per y. Cioe contare o integrare lungo y per definire P(y).
Distribuzione di probabilita condizionata
P(x|y) = modella la relazione tra input x e output y.
Come mostrato, la distribuzione condizionata puo modellare le informazioni di x quando y=1.
Probabilita condizionata e machine learning
P(y|x) = la probabilita che la risposta sia y per la variabile di input x.
Nella regressione logistica, la combinazione di un modello lineare e softmax viene usata per interpretare i pattern estratti dai dati come probabilita.
Come calcolare la probabilita condizionata P(y|x):
- Nella classificazione, softmax(W*phi + b) viene calcolata usando il pattern di feature phi(x) estratto dai dati x e la matrice dei pesi W.
- Si puo scrivere P(y|phi(x)) al posto di P(y|x).
Deep learning:
- Le NN estraggono i pattern di feature phi dai dati.
Valore atteso
Quando si analizzano dati data una distribuzione di probabilita, si possono calcolare vari funzionali statistici.
Il valore atteso (expectation) e la statistica rappresentativa dei dati. E la media. Viene anche usato per calcolare altri funzionali statistici dalla distribuzione di probabilita.

Per le distribuzioni continue si calcola per integrazione; per quelle discrete per sommatoria.
Utilizzo
Usato per calcolare varianza, curtosi, covarianza, ecc.
Stima del valore atteso condizionato nella regressione
Il valore atteso condizionato coincide con la funzione che minimizza la norma L2.
Per stime robuste nella regressione, si usa la mediana al posto del valore atteso condizionato.
Campionamento Monte Carlo
La maggior parte dei problemi di machine learning inizia senza conoscere la distribuzione di probabilita.
Cioe bisogna calcolare il valore atteso usando solo i dati, ed e qui che entra il campionamento Monte Carlo.

Spiegazione della formula:
- Sostituire i dati campionati x in f.
- Calcolare la media aritmetica dei dati campionati.
- Questo valore approssima il valore atteso.
Monte Carlo funziona sia per il caso discreto che continuo.
Il campionamento Monte Carlo richiede estrazioni indipendenti.
- La convergenza e garantita dalla legge dei grandi numeri.
Esempio di campionamento Monte Carlo

Integrare la funzione sopra su [-1, 1] e analiticamente impossibile. E qui che si usa il campionamento Monte Carlo.
- Per strutturare la formula integrale come il campionamento Monte Carlo, si divide l’espressione integrale per 2. Perche nell’integrazione non esiste il concetto di “numero di elementi”, la lunghezza dell’intervallo x integrato viene usata come se fosse il numero di elementi.
- Si estraggono N punti dati uniformemente da [-1, 1] e si calcola la media aritmetica.
def mc_int(fun, low, high, sample_size=100, repeate=10): int_len = np.abs(high - low) stat = [] for _ in range(repeat): x = np.random.uniform(low=low, high=high, size=sample_size) fun_x = fun(x) int_val = int_len * np.mean(fun_x) stat.append(int_val) return np.mean(stat), np.std(stat)def f_x(x): return np.exp(-x**2)
print(mc_int(f_x, low=-1, high=1, sample_size=10000, repeat=100))