Salta al contenuto
Note per Studenti Formulario · Artificial Intelligence and Machine Learning

FormularioArtificial Intelligence and Machine Learning: definizioni, teoremi e formule delle note, in ordine di capitolo

In questa pagina 7

1. Introduzione e agenti intelligenti

Intelligenza artificiale - definizioni, test di Turing e storia

Definizione. L'intelligenza artificiale è lo studio di come far fare ai computer cose in cui, al momento, gli umani sono migliori (Rich e Knight).

Definizione. Comportamento razionale = "fare la cosa giusta", cioè quella da cui ci si aspetta il massimo raggiungimento degli obiettivi, date le informazioni disponibili.

Agenti intelligenti - ambienti, PEAS e tipi di agente

Definizione. Un agente è un'entità che percepisce il proprio ambiente tramite sensori e agisce su di esso tramite attuatori. Astrattamente è una funzione dalle sequenze di percezioni (percept sequences, la storia di tutto ciò che ha percepito) alle azioni: f:P∗→A.f : P^\ast \to A .

Definizione (agente razionale). Per ogni possibile sequenza di percezioni, un agente razionale seleziona un'azione da cui ci si aspetta di massimizzare la propria misura di prestazione (performance measure), date le evidenze fornite dalla sequenza di percezioni e la conoscenza incorporata nell'agente.

Esempio: stessa funzione, misure diverse. Misura: +1+1 per ogni quadrato pulito a ogni passo, −1-1 per ogni spostamento. Partenza: AA e BB sporchi, agente in AA, orizzonte 10 passi.

  • Agente reattivo (aspira se sporco, altrimenti cambia quadrato): Suck (1), Right (1 pulito −1-1 mossa =0= 0), Suck (2), poi per 7 passi Left/Right alternati, ciascuno 2−1=12 - 1 = 1: totale 1+0+2+7⋅1=101 + 0 + 2 + 7 \cdot 1 = 10.
  • Agente che ricorda di aver visto entrambi i quadrati puliti e poi si ferma con NoOp: gli stessi primi tre passi (3) e poi 7⋅2=147 \cdot 2 = 14: totale 1717.

2. Algoritmi di ricerca

Ricerca nello spazio degli stati - formulazione dei problemi e ricerca non informata

Definizione. Un problema è definito da:

  • l'insieme degli stati possibili (lo spazio degli stati, un grafo);
  • lo stato iniziale (per esempio "in Arad");
  • uno o più stati obiettivo, descritti in modo esplicito ("in Bucarest") o implicito (NoDirt(x), nessuna sporcizia), con un test dell'obiettivo is_goal(s);
  • le azioni: Actions(s) è l'insieme delle azioni applicabili in ss (Actions(Arad) = {verso Timisoara, verso Zerind, verso Sibiu});
  • il modello di transizione: Result(s, a) è lo stato raggiunto applicando aa in ss (Result(Arad, verso Zerind) = Zerind);
  • la funzione di costo delle azioni c(s,a,s′)c(s, a, s'), supposta ≥0\ge 0, e il costo del cammino come somma dei costi dei passi (somma di distanze, numero di azioni eseguite, ecc.).

Una soluzione è una sequenza di azioni che porta dallo stato iniziale a uno stato obiettivo; una soluzione ottima è quella di costo minimo.

Definizione. Uno stato è (la rappresentazione di) una configurazione fisica. Un nodo è una struttura dati che fa parte dell'albero di ricerca e contiene: stato, genitore (parent), azione che l'ha generato, figli, profondità dd e costo del cammino gg.

Ricerca informata - greedy best-first, A* ed euristiche

Definizione. La ricerca greedy best-first espande il nodo che sembra più vicino all'obiettivo: f(n)=h(n)f(n) = h(n), con h(n)h(n) stima del costo da nn all'obiettivo più vicino.

Esempio: da Arad a Bucarest con hSLDh_{SLD} (grafo con tabella dei raggiunti):

Definizione. A∗ usa la funzione di valutazione f(n)=g(n)+h(n),f(n) = g(n) + h(n), dove g(n)g(n) è il costo finora speso per arrivare a nn, h(n)h(n) la stima del costo restante e f(n)f(n) la stima del costo totale di un cammino che passa per nn. Idea: evitare di espandere cammini già costosi.

Esempio: da Arad a Bucarest con hSLDh_{SLD}. Ogni nodo è scritto come g+h=fg + h = f; la frontiera è ordinata per ff.

Definizione. Un'euristica hh è ammissibile se h(n)≥0h(n) \ge 0, h(G)=0h(G) = 0 per ogni obiettivo GG e non sovrastima mai il costo vero: h(n)≤h∗(n)h(n) \le h^\ast(n), con h∗(n)h^\ast(n) costo del cammino ottimo da nn all'obiettivo. È consistente (o monotona) se per ogni nodo nn, ogni azione aa e successore n′n' h(n)≤c(n,a,n′)+h(n′).h(n) \le c(n, a, n') + h(n').

Teorema. Se hh è ammissibile, A∗ (versione ad albero) è ottima. Se hh è consistente, anche la versione su grafo con tabella dei raggiunti è ottima.

Definizione (hill climbing). L'ascesa del colle (hill climbing, anche greedy local search) parte da uno stato e passa sempre al vicino di valore più alto; si ferma quando nessun vicino è migliore e restituisce lo stato corrente, un massimo locale.

3. Logica (corso da 9 CFU)

Agenti logici e logica proposizionale - inferenza e risoluzione

Definizione (conseguenza logica, entailment). La KB implica logicamente α\alpha, e si scrive KB⊨αKB \models \alpha, se e solo se α\alpha è vero in tutti i modelli in cui la KB è vera.

Logica del primo ordine - unificazione, forward e backward chaining

Definizione (sostituzione). Una sostituzione θ={v1/t1,…,vn/tn}\theta = \{v_1/t_1, \dots, v_n/t_n\} assegna un termine a ciascuna variabile. Dato un enunciato SS, SθS\theta è il risultato di applicare θ\theta a SS.

Esempio. S=Smarter(x,y)S = Smarter(x,y) e θ={x/Hillary,y/Bill}\theta = \{x/Hillary, y/Bill\} danno Sθ=Smarter(Hillary,Bill)S\theta = Smarter(Hillary, Bill). Ask(KB, S) restituisce alcune o tutte le θ\theta tali che KB⊨SθKB \models S\theta.

Definizione (unificazione). Unify(α,β)=θUnify(\alpha, \beta) = \theta con Subst(θ,α)=Subst(θ,β)\mathrm{Subst}(\theta, \alpha) = \mathrm{Subst}(\theta, \beta). Se non esiste θ\theta l'unificazione fallisce.

4. Incertezza e reti bayesiane

Incertezza - probabilità, regola di Bayes e indipendenza condizionata

Definizione. Teoria delle decisioni (decision theory) = teoria della probabilità + teoria dell'utilità. Ogni stato ha un'utilità (quanto è desiderabile). Un agente è razionale se sceglie l'azione con utilità attesa massima, cioè la media delle utilità dei possibili esiti pesata con le loro probabilità: EU(a)=∑sP(s∣a) U(s)EU(a)=\sum_s P(s\mid a)\,U(s).

Esempio (numeri inventati). Scorciatoia buia: con probabilità 0,90{,}9 si arriva presto (utilità 88), con probabilità 0,10{,}1 si viene aggrediti (utilità −50-50). Strada illuminata e più lunga: utilità 44 sicura. EU(scorciatoia)=0,9⋅8+0,1⋅(−50)=2,2<4=EU(strada)EU(\text{scorciatoia})=0{,}9\cdot 8+0{,}1\cdot(-50)=2{,}2<4=EU(\text{strada}): si sceglie la strada illuminata, anche se la scorciatoia è quasi sempre meglio. La scelta sequenziale con utilità e probabilità è sviluppata in Processi decisionali di Markov - utilità, equazione di Bellman, value e policy iterationUn MDP (processo decisionale di Markov) modella un problema decisionale sequenziale in ambiente stocastico e completamente osservabile con stati S, azioni A(s), modello di transizione P(s'|s,a) e ricompensa R(s,a,s'). La soluzione è una politica pi(s). L'utilità U(s) è il ritorno scontato atteso e soddisfa l'equazione di Bellman U(s)=max_a sum_s' P(s'|s,a)[R(s,a,s')+gamma U(s')]; la quantità tra parentesi quadre sommata su s' è la funzione azione-utilità Q(s,a). Value iteration parte da U=0, applica Bellman a tutti gli stati insieme e si ferma quando delta <= eps(1-gamma)/gamma; la politica è argmax_a Q(s,a). Policy iteration alterna valutazione (sistema lineare, senza max) e miglioramento greedy, e termina quando la politica non cambia. Nei POMDP lo stato è nascosto: si lavora sullo stato di credenza b aggiornato come nel filtraggio, b'(s')=alpha P(e|s') sum_s P(s'|s,a)b(s).Processi decisionali di Markov - utilità, equazione di Bellman, value e policy iteration →; il valor medio è quello di Valore attesoIl valore atteso E[X] = Σ x p_X(x) è la media dei valori di X pesata con le loro probabilità (esiste se la serie converge assolutamente); per una funzione g vale E[g(X)] = Σ g(x) p_X(x) senza trovare la legge di g(X), ed E è lineare: E[aX + bY + c] = aE[X] + bE[Y] + c.Valore atteso →.

Teorema. Se b1,…,bNb_1,\dots,b_N sono eventi mutuamente esclusivi ed esaustivi, P(a)=∑kP(a,bk)=∑kP(a∣bk)P(bk)P(a)=\sum_k P(a,b_k)=\sum_k P(a\mid b_k)P(b_k).

Formula (inferenza per marginalizzazione). Sia X\mathbf X l'insieme di tutte le variabili, Y\mathbf Y le variabili di interrogazione (query), E\mathbf E le variabili di evidenza con valori osservati e\mathbf e e H=X−Y−E\mathbf H=\mathbf X-\mathbf Y-\mathbf E le variabili nascoste. Allora P(Y∣e)=α P(Y,e)=α∑hP(Y,e,h).\mathbf P(\mathbf Y\mid\mathbf e)=\alpha\,\mathbf P(\mathbf Y,\mathbf e)=\alpha\sum_{\mathbf h}\mathbf P(\mathbf Y,\mathbf e,\mathbf h).

Teorema (regola di Bayes). P(b∣a)=P(a∣b) P(b)P(a)⟺P(causa∣effetto)=P(effetto∣causa) P(causa)P(effetto).P(b\mid a)=\frac{P(a\mid b)\,P(b)}{P(a)}\qquad\Longleftrightarrow\qquad \mathbf P(\text{causa}\mid\text{effetto})=\frac{\mathbf P(\text{effetto}\mid\text{causa})\,\mathbf P(\text{causa})}{P(\text{effetto})}.

Grafico interattivo: Probabilità di avere il cancro dato un test positivo, in funzione della probabilità a priori x (sensibilità 0,73, falsi positivi 0,12): per x = 1/700 vale 0,0086

Definizione (indipendenza). aa e bb sono indipendenti se P(a∣b)=P(a)P(a\mid b)=P(a), o equivalentemente P(b∣a)=P(b)P(b\mid a)=P(b), o P(a,b)=P(a)P(b)P(a,b)=P(a)P(b). Vedi Indipendenza di eventiA e B sono indipendenti se P(A ∩ B) = P(A) P(B), cioè se sapere che uno si è verificato non cambia la probabilità dell'altro; l'indipendenza passa ai complementari, non va confusa con l'incompatibilità, e per più eventi va richiesta su ogni sottofamiglia.Indipendenza di eventi →.

Definizione (indipendenza condizionata). aa e bb sono condizionalmente indipendenti dato cc se P(a∣b,c)=P(a∣c)P(a\mid b,c)=P(a\mid c), o equivalentemente P(b∣a,c)=P(b∣c)P(b\mid a,c)=P(b\mid c), o P(a,b∣c)=P(a∣c)P(b∣c)P(a,b\mid c)=P(a\mid c)P(b\mid c). Vedi Eventi indipendenti e indipendenza condizionataA e B sono indipendenti se P(AB) = P(A)P(B), cioè (se P(B) > 0) P(A | B) = P(A): sapere B non cambia la probabilità di A. Se A, B sono indipendenti lo sono anche A e Bᶜ. Tre eventi sono indipendenti se lo sono a coppie E P(ABC) = P(A)P(B)P(C): l'indipendenza a coppie non basta. Prove ripetute indipendenti: le probabilità si moltiplicano. Indipendenza condizionata a F: P(AB | F) = P(A | F)P(B | F); non implica l'indipendenza (due lanci della stessa moneta scelta a caso). Eventi disgiunti con probabilità positive non sono mai indipendenti.Eventi indipendenti e indipendenza condizionata →.

Esempio (allarme antincendio). P(allarme∣fuoco,fumo)=P(allarme∣fumo)P(\text{allarme}\mid\text{fuoco},\text{fumo})=P(\text{allarme}\mid\text{fumo}): se si sa che c'è fumo, sapere che c'è fuoco non aggiunge nulla, perché l'allarme reagisce al fumo.

Reti bayesiane - semantica, indipendenze e inferenza esatta

Definizione (scomposizione in prodotto). P(x1,…,xn)=∏i=1nP(xi∣parents(Xi)).P(x_1,\dots,x_n)=\prod_{i=1}^n P\big(x_i\mid \text{parents}(X_i)\big).

Esempio. P(X1,X2,X3)=P(X3∣X1,X2)P(X2∣X1)P(X1)P(X_1,X_2,X_3)=P(X_3\mid X_1,X_2)P(X_2\mid X_1)P(X_1). Se X3X_3 è condizionalmente indipendente da X1X_1 dato X2X_2, diventa P(X3∣X2)P(X2∣X1)P(X1)P(X_3\mid X_2)P(X_2\mid X_1)P(X_1): X2X_2 è genitore di X3X_3, X1X_1 di X2X_2, X1X_1 non ha genitori.

Definizione (rete bayesiana). Un DAG (grafo diretto senza cicli) in cui:

  • ogni nodo è una variabile aleatoria;
  • un arco X→YX\to Y dice che XX è genitore di YY (di solito: XX è una causa di YY);
  • ogni nodo ha una tabella delle probabilità condizionate (conditional probability table, CPT) P(Xi∣Parents(Xi))\mathbf P(X_i\mid\text{Parents}(X_i)); un nodo senza genitori ha una distribuzione a priori.

La rete rappresenta la congiunta come prodotto delle CPT. Topologia + CPT = rappresentazione compatta, di solito semplice da costruire anche per non esperti.

Esempio. Nella rete con archi X→ZX\to Z, Y→ZY\to Z, Z→WZ\to W la congiunta è P(W,Z,X,Y)=P(W∣Z) P(Z∣X,Y) P(X) P(Y)\mathbf P(W,Z,X,Y)=\mathbf P(W\mid Z)\,\mathbf P(Z\mid X,Y)\,\mathbf P(X)\,\mathbf P(Y): ogni fattore è la CPT di un nodo condizionata ai suoi genitori.

Inferenza approssimata nelle reti bayesiane - campionamento

Definizione (Markov blanket). Il Markov blanket di un nodo XX è l'insieme dei suoi genitori, dei suoi figli e degli altri genitori dei suoi figli. Dato il suo blanket, XX è condizionalmente indipendente da tutti gli altri nodi della rete.

Ragionamento probabilistico nel tempo - catene di Markov, HMM, filtraggio e smoothing

Definizione (HMM del primo ordine). Hidden Markov model: stati nascosti XtX_t che formano una catena di Markov e osservazioni EtE_t figlie dello stato. Distribuzione congiunta, con prior P(X0)\mathbf P(X_0): P(x0,x1:t,e1:t)=P(x0)∏i=1tP(xi∣xi−1) P(ei∣xi).P(x_0,x_{1:t},e_{1:t})=P(x_0)\prod_{i=1}^t P(x_i\mid x_{i-1})\,P(e_i\mid x_i). In senso stretto l'HMM ha un'unica variabile di stato discreta (le evidenze possono essere più d'una).

Apprendimento delle reti bayesiane - parametri e struttura

Formula (stima ML). Per un nodo BB con genitori A,CA,C: P(B=bi∣A=aj,C=ck)≈Ni,j,kNj,k,P(B=b_i\mid A=a_j,C=c_k)\approx\frac{N_{i,j,k}}{N_{j,k}}, dove Ni,j,kN_{i,j,k} conta le righe con B=bi,A=aj,C=ckB=b_i,A=a_j,C=c_k e Nj,kN_{j,k} quelle con A=aj,C=ckA=a_j,C=c_k (qualunque BB).

Esempio (golf). P(Play=P)=9/14=0,643P(\text{Play}=P)=9/14=0{,}643, P(N)=5/14=0,357P(N)=5/14=0{,}357. Per Outlook dato NN ci sono 55 righe di classe NN (righe 1,2,6,8,141,2,6,8,14): 33 sunny, 00 overcast, 22 rainy, quindi P(sunny∣N)=3/5=0,6P(\text{sunny}\mid N)=3/5=0{,}6, P(overcast∣N)=0P(\text{overcast}\mid N)=0, P(rainy∣N)=2/5=0,4P(\text{rainy}\mid N)=2/5=0{,}4.

Formula (Laplace). Variabile discreta con kk valori, NN campioni, in cui xix_i compare mm volte: P(xi)=1+mk+N.P(x_i)=\frac{1+m}{k+N}. (Per una CPT: NN = righe con quella configurazione dei genitori.)

Grafico interattivo: Stima di Laplace di P(testa) quando in N lanci esce sempre testa: (1+N)/(2+N); per N = 10 vale 11/12, e tende a 1 al crescere di N (la stima ML varrebbe sempre 1)

Formula (BIC). BIC(m)=log⁡P(D∣m)−∣m∣ log⁡∣D∣2,\text{BIC}(m)=\log P(D\mid m)-\frac{|m|\,\log|D|}{2}, con ∣D∣|D| numero di campioni e ∣m∣|m| numero di parametri indipendenti del modello. Il secondo termine penalizza la complessità. Si sceglie il massimo.

Esempio svolto. Due booleane A,BA,B, N=20N=20 campioni: (a,b)×7(a,b)\times7, (a,¬b)×2(a,\neg b)\times2, (¬a,b)×3(\neg a,b)\times3, (¬a,¬b)×8(\neg a,\neg b)\times8. Confrontare m0m_0 (nessun arco) e m1m_1 (A→BA\to B), con log⁡\log naturale.

  • m0m_0: 99 campioni con aa, 1111 con ¬a\neg a; 1010 con bb, 1010 con ¬b\neg b. log⁡P(D∣m0)=9ln⁡920+11ln⁡1120+10ln⁡12+10ln⁡12=−7,187−6,576−13,863=−27,626\log P(D\mid m_0)=9\ln\frac9{20}+11\ln\frac{11}{20}+10\ln\frac12+10\ln\frac12=-7{,}187-6{,}576-13{,}863=-27{,}626. Parametri ∣m0∣=2|m_0|=2 (P(a)P(a) e P(b)P(b)): penalità 2ln⁡20/2=2,9962\ln20/2=2{,}996. BIC=−30,621\text{BIC}=-30{,}621.
  • m1m_1: stesso termine per AA (−13,763-13{,}763); per BB con aa: 7ln⁡79+2ln⁡29=−4,7677\ln\frac79+2\ln\frac29=-4{,}767; con ¬a\neg a: 3ln⁡311+8ln⁡811=−6,4463\ln\frac3{11}+8\ln\frac8{11}=-6{,}446; log⁡P(D∣m1)=−24,976\log P(D\mid m_1)=-24{,}976. Parametri ∣m1∣=3|m_1|=3 (P(a),P(b∣a),P(b∣¬a)P(a),P(b\mid a),P(b\mid\neg a)): penalità 3ln⁡20/2=4,4943\ln20/2=4{,}494. BIC=−29,469\text{BIC}=-29{,}469.

5. Inferenza causale (corso da 9 CFU)

Inferenza causale - modelli causali strutturali e scala della causalità

Definizione (SCM, structural causal model). Un SCM è formato da

  • un insieme di variabili esogene UU: non dipendono da nessun'altra variabile del modello (sono i fattori esterni, il «rumore»);
  • un insieme di variabili endogene VV: ciascuna è determinata dalle altre;
  • un insieme di funzioni F={fv}v∈VF=\{f_v\}_{v\in V}, una per ogni variabile endogena, v=fv(pa(v),uv)v=f_v(\text{pa}(v),u_v);

e (implicitamente) da un grafo con una freccia da ogni variabile che compare in fvf_v verso vv.

Esempio. Stipendio CC in funzione di istruzione AA ed esperienza BB: U={A,B}U=\{A,B\}, V={C}V=\{C\}, F={fC}F=\{f_C\} con fC: C=2A+3Bf_C:\ C=2A+3B. Il grafo è A→C←BA\to C\leftarrow B.

Definizione (causa). XX è causa diretta di YY se compare nella funzione fYf_Y. XX è causa di YY se è causa diretta di YY o di un'altra causa di YY (definizione ricorsiva).

Definizione (d-separazione). Sia ZZ l'insieme delle variabili condizionanti. XX e YY sono d-separate da ZZ se ogni cammino pp tra loro (di qualunque verso delle frecce) soddisfa almeno una condizione:

  • pp contiene una catena A→B→CA\to B\to C o un fork A←B→CA\leftarrow B\to C con B∈ZB\in Z;
  • pp contiene un collider A→B←CA\to B\leftarrow C e né BB né i suoi discendenti sono in ZZ.

In tal caso X⊥ ⁣ ⁣ ⁣⊥Y∣ZX\perp\!\!\!\perp Y\mid Z.

Interventi e operatore do - criterio backdoor e aggiustamento

Definizione (operatore do). do(X=x)do(X=x) indica che si forza XX al valore xx (per esempio con un esperimento), indipendentemente da ciò che XX avrebbe fatto spontaneamente. P(Y=y∣do(X=x))P(Y=y\mid do(X=x)) è la probabilità di yy nel mondo in cui XX è stato imposto.

Esempio (sprinkler, 10 righe). La tabella della slide ha 5 righe con irrigatore acceso, di cui 2 con erba bagnata: P(bagnata∣irrigatore acceso)=2/5=0.4P(\text{bagnata}\mid\text{irrigatore acceso})=2/5=0.4. Ma do(Sprinkler=vero)do(\text{Sprinkler}=\text{vero}) forza tutte le 10 righe ad avere l'irrigatore acceso, scenario molto diverso: in particolare non si guarda più se era nuvoloso, che di solito spegne l'irrigatore.

Definizione (intervento come chirurgia). L'intervento do(X=x)do(X=x) trasforma l'SCM MM in un modello MxM_x in cui la funzione di XX è sostituita dalla costante X=xX=x e tutte le frecce entranti in XX sono tolte. Le altre funzioni restano invariate. Si ha P(y∣do(x))=PMx(y∣x).P(y\mid do(x))=P_{M_x}(y\mid x).

Grafico interattivo: Chirurgia del grafo dello sprinkler: a sinistra il modello originale, a destra quello dopo do(S = vero): la freccia C → S è tolta

Formula di aggiustamento (regola dell'effetto causale). P(y∣do(x))=∑z∈ΛP(y∣x,z) P(z),P(y\mid do(x))=\sum_{z\in\Lambda}P(y\mid x,z)\,P(z), con Λ\Lambda l'insieme dei genitori di XX.

Esempio (sprinkler, laboratorio 7). P(g∣do(r))P(g\mid do(r)): l'unico genitore di RR è CC. P(g∣do(r))=P(g∣r,c)P(c)+P(g∣r,¬c)P(¬c).P(g\mid do(r))=P(g\mid r,c)P(c)+P(g\mid r,\neg c)P(\neg c). P(c)=0.5P(c)=0.5 è nella rete. P(G∣r,c)P(G\mid r,c) si ottiene con l'enumerazione (Reti bayesiane - semantica, indipendenze e inferenza esattaUna rete bayesiana è un grafo diretto aciclico (DAG) con una variabile per nodo e una tabella delle probabilità condizionate (CPT) $P(X_i\mid\text{Parents}(X_i))$ per nodo; rappresenta la congiunta come prodotto $P(x_1,\dots,x_n)=\prod_i P(x_i\mid\text{parents}(X_i))$, con molti meno numeri della tabella completa (rete dell'allarme: 10 contro 31). Tre strutture elementari: catena $X\to Y\to Z$ e fork $Y\leftarrow X\to Z$ (estremi indipendenti dato il centro), collider $X\to Z\leftarrow Y$ (indipendenti, ma dipendenti se si osserva $Z$ o un suo discendente). Modelli causali (genitori = cause) danno reti più piccole. Inferenza esatta per enumerazione: $\mathbf P(X\mid\mathbf e)=\alpha\sum_{\mathbf y}\mathbf P(X,\mathbf e,\mathbf y)$ calcolata come somma di prodotti, in profondità e da sinistra a destra; per l'allarme $\mathbf P(B\mid j,m)=\langle0{,}284;\ 0{,}716\rangle$. Molti prodotti si ripetono: l'eliminazione di variabili li salva come fattori e li riusa.Reti bayesiane - semantica, indipendenze e inferenza esatta →), sommando sulla variabile nascosta SS: P(G∣r,c)=α∑sP(c)P(r∣c)P(s∣c)P(G∣r,s)=α′[P(s∣c)P(G∣r,s)+P(¬s∣c)P(G∣r,¬s)]\mathbf P(G\mid r,c)=\alpha\sum_s P(c)P(r\mid c)P(s\mid c)\mathbf P(G\mid r,s)=\alpha'\big[P(s\mid c)\mathbf P(G\mid r,s)+P(\neg s\mid c)\mathbf P(G\mid r,\neg s)\big] (il prodotto P(c)P(r∣c)P(c)P(r\mid c) non dipende da ss e finisce nel fattore di normalizzazione α′\alpha'). Con le tabelle: P(G∣r,c)=0.1⟨0.95,0.05⟩+0.9⟨0.90,0.10⟩=⟨0.905,0.095⟩\mathbf P(G\mid r,c)=0.1\langle0.95,0.05\rangle+0.9\langle0.90,0.10\rangle=\langle0.905,0.095\rangle e P(G∣r,¬c)=0.5⟨0.95,0.05⟩+0.5⟨0.90,0.10⟩=⟨0.925,0.075⟩\mathbf P(G\mid r,\neg c)=0.5\langle0.95,0.05\rangle+0.5\langle0.90,0.10\rangle=\langle0.925,0.075\rangle. Quindi P(g∣do(r))=0.905⋅0.5+0.925⋅0.5=0.915.P(g\mid do(r))=0.905\cdot0.5+0.925\cdot0.5=\mathbf{0.915}. Si confronti con P(g∣r)=0.907P(g\mid r)=0.907 osservazionale. Il calcolo completo con il codice è in Esercizio - Effetto causale di pioggia e irrigatore sul prato bagnato (laboratorio 7), la versione con pyAgrum in Esercizio - Effetto causale della pioggia con pyAgrum (esempio sprinkler). Verificato anche simulando l'SCM dello sprinkler con un milione di campioni: 0.9150.915.

Definizione (ACE). Per un trattamento X∈{1,0}X\in\{1,0\} e un esito Y=1Y=1, ACE=P(Y=1∣do(X=1))−P(Y=1∣do(X=0)).ACE=P(Y=1\mid do(X=1))-P(Y=1\mid do(X=0)). ACE>0ACE>0: il trattamento ha effetto positivo; ACE<0ACE<0 negativo; ACE=0ACE=0 neutro.

Esempio (Simpson). Il grafo è quello degli incidenti con XX medicina, YY guarigione, ZZ sesso. P(Z=1)=(87+270)/700=0.51P(Z=1)=(87+270)/700=0.51 (uomini), 0.490.49 donne. P(Y=1∣do(X=1))=0.93⋅0.51+0.73⋅0.49=0.832,P(Y=1∣do(X=0))=0.87⋅0.51+0.69⋅0.49=0.7818,\begin{aligned}P(Y{=}1\mid do(X{=}1))&=0.93\cdot0.51+0.73\cdot0.49=0.832,\\ P(Y{=}1\mid do(X{=}0))&=0.87\cdot0.51+0.69\cdot0.49=0.7818,\end{aligned} ACE=0.0502>0ACE=0.0502>0: la medicina migliora la guarigione, in accordo con i sottogruppi e in contrasto con il dato aggregato 78%<83%78\%<83\%. Le slide usano percentuali arrotondate; con le frazioni esatte (81/8781/87, ecc.) si ottiene 0.8325−0.7789=0.05370.8325-0.7789=0.0537. Svolto in Esercizio - Paradosso di Simpson ed effetto causale della medicina (slide del corso) e, con pyAgrum e un secondo insieme di dati, in Esercizio - Paradosso di Simpson con pyAgrum (laboratorio 7).

Definizione (cammino backdoor). Un cammino backdoor tra XX e YY è un qualunque cammino da XX a YY che inizia con una freccia entrante in XX (passa per i genitori di XX). Si blocca condizionando su una catena o un fork, oppure è già bloccato da un collider non condizionato (d-separazione: Inferenza causale - modelli causali strutturali e scala della causalitàI dati e la distribuzione congiunta da soli non dicono quali variabili causano quali: lo mostrano il paradosso di Simpson (la medicina funziona in ogni sottogruppo ma sembra peggiorare la popolazione) e il fatto che reti bayesiane diverse (A→B e B→A) descrivono la stessa congiunta. Serve un modello causale: un modello causale strutturale (SCM) ha variabili esogene U, endogene V e funzioni $v_i=f_i(\text{genitori},u_i)$; il suo grafo è la rete causale, e una rete causale è una rete bayesiana in cui le frecce sono cause. Le tre strutture elementari decidono l'indipendenza: catena $A\to B\to C$ e fork $A\leftarrow B\to C$ si bloccano osservando B, il collider $A\to B\leftarrow C$ si blocca se B e i suoi discendenti NON sono osservati (osservarlo crea dipendenza, explaining away). d-separazione: X e Y sono separati da Z se ogni cammino è bloccato; allora $X\perp!!!\perp Y\mid Z$. La scala della causalità (Pearl): associazione $P(y\mid x)$, intervento $P(y\mid do(x))$, controfattuali. Argomento del corso da 9 CFU.Inferenza causale - modelli causali strutturali e scala della causalità →).

Definizione (criterio backdoor). Un insieme SS di variabili soddisfa il criterio backdoor per (X,Y)(X,Y) se

  1. blocca ogni cammino backdoor tra XX e YY;
  2. non contiene alcun discendente di XX.

Grafico interattivo: Esempio backdoor: X → A → Y, X → Y, B → X, B → C ← D, D → Y. L'unico cammino backdoor è X ← B → C ← D → Y

Formula di aggiustamento con il criterio backdoor. Se SS soddisfa il criterio backdoor, P(y∣do(x))=∑sP(y∣x,s) P(s),P(y\mid do(x))=\sum_sP(y\mid x,s)\,P(s), con ss che varia su tutte le combinazioni di valori delle variabili di SS.

Formula front-door. P(y∣do(x))=∑zP(z∣x)∑x′P(y∣z,x′) P(x′).P(y\mid do(x))=\sum_zP(z\mid x)\sum_{x'}P(y\mid z,x')\,P(x'). Criterio: SS soddisfa il front-door per (X,Y)(X,Y) se (1) blocca ogni cammino diretto da XX a YY; (2) non ci sono cammini backdoor non bloccati da XX a SS; (3) tutti i cammini backdoor da SS a YY sono bloccati da XX. L'espressione non dipende da UU.

Definizione (CDE). Per un valore fissato zz: CDE(z)=P(y∣do(x),do(z))−P(y∣do(x∗),do(z)).CDE(z)=P(y\mid do(x),do(z))-P(y\mid do(x^*),do(z)). L'effetto diretto medio (ADE) si ottiene mediando i CDECDE sui valori di ZZ.

Controfattuali e scoperta causale

Definizione (SCM lineare). Le equazioni strutturali sono lineari, per esempio X=UX,Z=aX+UZ,W=bX+cZ+UW,Y=dZ+eW+UY.X=U_X,\quad Z=aX+U_Z,\quad W=bX+cZ+U_W,\quad Y=dZ+eW+U_Y. I coefficienti strutturali (di cammino) a,b,c,d,ea,b,c,d,e quantificano l'effetto diretto di un genitore sul figlio.

Esempio. Con i punti (1,6),(2,5),(3,7),(4,10)(1,6),(2,5),(3,7),(4,10): xˉ=2.5\bar x=2.5, yˉ=7\bar y=7; Sxy=∑(x−xˉ)(y−yˉ)=(−1.5)(−1)+(−0.5)(−2)+0.5⋅0+1.5⋅3=7S_{xy}=\sum(x-\bar x)(y-\bar y)=(-1.5)(-1)+(-0.5)(-2)+0.5\cdot0+1.5\cdot3=7, Sxx=∑(x−xˉ)2=5S_{xx}=\sum(x-\bar x)^2=5; pendenza r1=7/5=1.4r_1=7/5=1.4 e intercetta r0=7−1.4⋅2.5=3.5r_0=7-1.4\cdot2.5=3.5, cioè Y^=3.5+1.4X\hat Y=3.5+1.4X (Regressione lineareNell'apprendimento supervisionato si impara una funzione $F(x)$ dagli esempi $(x,y)$: regressione se $y$ è continua, classificazione se è categorica. Il modello lineare è $F_\beta(x)=\beta_0+\beta_1x_1+\dots+\beta_px_p=X\beta$ (con una colonna di uni per $\beta_0$) e i parametri si scelgono minimizzando l'errore quadratico medio $\mathrm{MSE}=\frac1n\sum_i(y_i-F_\beta(x_i))^2$, funzione convessa dei parametri. Annullando il gradiente di $J(\beta)=|y-X\beta|^2$ si ottengono le equazioni normali $X^TX\beta=X^Ty$ e la soluzione dei minimi quadrati ordinari $\beta=(X^TX)^{-1}X^Ty$. Il coefficiente di determinazione $R^2=1-SS_{res}/SS_{tot}$ misura la qualità del fit (0 = come la media, negativo = peggio della media). Un modello va valutato su un test set mai usato per addestrare: l'errore sul training è ottimistico e un polinomio di grado alto lo azzera senza generalizzare.Regressione lineare →).

Grafico interattivo: SCM lineare: Z = aX + U_Z, W = bX + cZ + U_W, Y = dZ + eW + U_Y, con X = U_X

6. Processi decisionali di Markov

Processi decisionali di Markov - utilità, equazione di Bellman, value e policy iteration

Definizione (utilità attesa). Se l'azione aa porta nello stato s′s' con probabilità P(RESULT(a)=s′)P(\text{RESULT}(a)=s') e U(s′)U(s') misura quanto è desiderabile s′s' (di solito normalizzata tra 0 e 1, ma può essere in euro, punti, ...), l'utilità attesa dell'azione è EU(a)=∑s′P(RESULT(a)=s′) U(s′).EU(a)=\sum_{s'}P(\text{RESULT}(a)=s')\,U(s'). Il principio di massima utilità attesa (MEU) sceglie l'azione con EUEU più alta. È un Valore attesoIl valore atteso E[X] = Σ x p_X(x) è la media dei valori di X pesata con le loro probabilità (esiste se la serie converge assolutamente); per una funzione g vale E[g(X)] = Σ g(x) p_X(x) senza trovare la legge di g(X), ed E è lineare: E[aX + bY + c] = aE[X] + bE[Y] + c.Valore atteso → (Incertezza - probabilità, regola di Bayes e indipendenza condizionataUn agente con osservazioni parziali non può usare regole logiche rigide ("mal di denti implica carie" è falso): usa la probabilità come grado di credenza e, con la teoria dell'utilità, sceglie l'azione con utilità attesa massima. Strumenti: distribuzione congiunta completa (tabella di $2^n$ valori), marginalizzazione $P(Y\mid e)=\alpha\sum_h P(Y,e,h)$ con costante di normalizzazione $\alpha=1/P(e)$, regola del prodotto $P(a,b)=P(a\mid b)P(b)$, regola di Bayes $P(\text{causa}\mid\text{effetto})=\frac{P(\text{effetto}\mid\text{causa})P(\text{causa})}{P(\text{effetto})}$ e indipendenza condizionata $P(a,b\mid c)=P(a\mid c)P(b\mid c)$, che permette di scomporre la congiunta in tabelle più piccole. Un test con sensibilità 73% e falsi positivi 12% su una malattia con prior 1/700 dà una probabilità a posteriori di appena 0,9%.Incertezza - probabilità, regola di Bayes e indipendenza condizionata → per le probabilità).

Definizione (MDP). Problema decisionale sequenziale in un ambiente completamente osservabile e stocastico, dato da

  • un insieme di stati SS, con stato iniziale s0s_0;
  • un insieme di azioni A(s)A(s) per ogni stato;
  • un modello di transizione P(s′∣s,a)P(s'\mid s,a): probabilità di arrivare in s′s' eseguendo aa in ss;
  • una funzione di ricompensa R(s,a,s′)R(s,a,s'), numero (positivo o negativo) assegnato alla transizione.

La proprietà di Markov dice che P(s′∣s,a)P(s'\mid s,a) non dipende dalla storia passata.

Grafico interattivo: Mondo 4x3: colonne 1-4 da sinistra, righe 1-3 dal basso; muro in (2,2), terminali (4,3) con +1 e (4,2) con −1. Con l'azione Su da (1,1) il robot va in (1,2) con probabilità 0,8 e devia in (2,1) con 0,1 (a sinistra c'è il bordo e resta in (1,1) con 0,1)

Definizione (equazione di Bellman). L'utilità di uno stato è la ricompensa attesa della prossima transizione più l'utilità scontata dello stato successivo, supponendo di scegliere l'azione ottima: U(s)=max⁡a∈A(s)∑s′P(s′∣s,a) [R(s,a,s′)+γ U(s′)].U(s)=\max_{a\in A(s)}\sum_{s'}P(s'\mid s,a)\,\big[R(s,a,s')+\gamma\,U(s')\big]. La somma da massimizzare è la funzione azione-utilità (Q-function) Q(s,a)=∑s′P(s′∣s,a) [R(s,a,s′)+γ U(s′)],U(s)=max⁡aQ(s,a).Q(s,a)=\sum_{s'}P(s'\mid s,a)\,\big[R(s,a,s')+\gamma\,U(s')\big],\qquad U(s)=\max_aQ(s,a). La politica ottima si legge da UU:  π∗(s)=arg⁡max⁡aQ(s,a)\ \pi^*(s)=\arg\max_aQ(s,a).

Esempio: lo stato (1,1)(1,1) del mondo 4x3 con γ=1\gamma=1, r=−0,04r=-0{,}04 e le utilità finali U(1,2)=0,8016U(1,2)=0{,}8016, U(2,1)=0,6953U(2,1)=0{,}6953, U(1,1)=0,7453U(1,1)=0{,}7453. Le quattro azioni, tenendo presente che il muro o il bordo lasciano fermi:

  • Su: 0,8(r+U(1,2))+0,1(r+U(2,1))+0,1(r+U(1,1))=0,8⋅0,7616+0,1⋅0,6553+0,1⋅0,7053=0,74530{,}8(r+U(1,2))+0{,}1(r+U(2,1))+0{,}1(r+U(1,1))=0{,}8\cdot0{,}7616+0{,}1\cdot0{,}6553+0{,}1\cdot0{,}7053=\mathbf{0{,}7453};
  • Sinistra: 0,9(r+U(1,1))+0,1(r+U(1,2))=0,9⋅0,7053+0,1⋅0,7616=0,71090{,}9(r+U(1,1))+0{,}1(r+U(1,2))=0{,}9\cdot0{,}7053+0{,}1\cdot0{,}7616=0{,}7109 (a sinistra c'è il bordo: 0,8+0,10{,}8+0{,}1 restano fermi);
  • Giù: 0,9(r+U(1,1))+0,1(r+U(2,1))=0,70030{,}9(r+U(1,1))+0{,}1(r+U(2,1))=0{,}7003;
  • Destra: 0,8(r+U(2,1))+0,1(r+U(1,2))+0,1(r+U(1,1))=0,67090{,}8(r+U(2,1))+0{,}1(r+U(1,2))+0{,}1(r+U(1,1))=0{,}6709.

Definizione (stato di credenza, belief state). Distribuzione di probabilità bb sugli stati: b(s)=P(stato=s)b(s)=P(\text{stato}=s). Si risolve il problema come un normale MDP i cui stati sono le credenze.

7. Machine learning e deep learning

Apprendimento automatico nell'IA - supervisionato, SVM e valutazione

Definizione. Dato un training set di NN esempi (x1,y1),…,(xN,yN)(x_1,y_1),\dots,(x_N,y_N) generati da una funzione sconosciuta y=f(x)y=f(x), si cerca un'ipotesi hh (un modello dei dati) che approssimi ff. Gli yiy_i si chiamano ground truth. Un'ipotesi generalizza bene se predice con accuratezza le uscite di esempi non ancora visti: la sua qualità si misura sul test set, non sul training set.

Definizione. Un albero di decisione mappa un vettore di valori di attributi in un'uscita con una sequenza di test, dalla radice a una foglia: ogni nodo interno testa un attributo, i rami sono i suoi valori, le foglie danno la decisione. Dettagli, Gini e CART in Alberi di decisioneUn albero di decisione partiziona i dati con una sequenza di regole su una sola variabile alla volta (nodi interni = regole, foglie = predizioni: classe più frequente, oppure media del target in regressione). Si costruisce in modo ricorsivo scegliendo a ogni nodo la divisione che rende i figli più «puri»: con l'entropia $H=-\sum p_i\log_2p_i$ e il guadagno d'informazione $IG=H(S)-\sum\frac{|S_v|}{|S|}H(S_v)$ (ID3), oppure con l'indice di Gini $1-\sum p_i^2$ e soglie $x\le t$ su variabili numeriche (CART); in regressione con MSE o riduzione di varianza. Un albero pienamente sviluppato fa overfitting (varianza alta): si limita con la profondità massima (pre-potatura) o con la potatura a costo-complessità $R_\alpha(T)=R(T)+\alpha|T|$ (post-potatura). Pro: interpretabile, niente normalizzazione, predizione immediata; contro: varianza alta, da cui le foreste. Programma di Telecomunicazioni: Decision Trees e Random Forests.Alberi di decisione →.

Esempio del corso: il ristorante. Il problema è decidere se aspettare un tavolo (WillWait, booleano) a partire da 10 attributi (Alternate, Bar, Fri, Hungry, Patrons con valori None/Some/Full, Price, Rain, Reservation, Type, Estimated waiting); il dataset ha 12 esempi precedenti, 6 positivi e 6 negativi.

Deep learning - reti profonde, CNN e addestramento con Keras

Definizione (unità). Un'unità (neurone) calcola la somma pesata dei suoi ingressi, inj=w0,j+∑iwi,j aiin_j=w_{0,j}+\sum_iw_{i,j}\,a_i (con w0w_0 il peso del bias, ingresso fisso +1+1), e applica una funzione di attivazione non lineare gjg_j: aj=gj(inj)a_j=g_j(in_j). Se gg fosse lineare la combinazione di più unità sarebbe ancora lineare.