În post anterior pe blog am acoperit probabilitatea maximă metoda de estimare a parametrilor în procesul de învățare mașină și modele statistice. În acest post vom trece peste o altă metodă de estimare a parametrilor folosind inferența Bayesiană., Voi arăta, de asemenea, modul în care această metodă poate fi văzută ca o generalizare a probabilității maxime și în ce caz cele două metode sunt echivalente.
unele cunoștințe fundamentale ale teoriei probabilităților se presupune de exemplu, probabilitatea marginală și condiționată. Aceste concepte sunt explicate în primul meu post din această serie. În plus, ajută și la cunoașterea de bază a unei distribuții gaussiene, dar nu este necesară.
Teorema lui Bayes
înainte de a introduce inferența Bayesiană, este necesar să înțelegem teorema lui Bayes. Teorema lui Bayes este foarte cool., Ceea ce o face utilă este faptul că ne permite să folosim anumite cunoștințe sau convingeri pe care le avem deja (cunoscute în mod obișnuit ca prior) pentru a ne ajuta să calculăm probabilitatea unui eveniment conex. De exemplu, dacă dorim să găsim probabilitatea de a vinde înghețată într-o zi caldă și însorită, teorema lui Bayes ne oferă instrumentele necesare pentru a utiliza cunoștințe anterioare despre probabilitatea de a vinde înghețată în orice alt tip de zi (ploios, vânt, zăpadă etc.). Vom vorbi mai multe despre asta mai târziu, așa că nu vă faceți griji dacă nu înțelegeți încă.,
definiție Matematică
din punct de vedere Matematic teorema lui Bayes este definit ca:
în cazul în care a și B sunt evenimente, P(A|B) este condiționată de probabilitatea cu care Un eveniment se produce având în vedere că evenimentul B a avut loc deja (P(B|A) are aceeași semnificație, dar cu rolurile de a și B inversat) și P(O) și P(B) sunt marginale probabilitatea evenimentului a și evenimentul B care apar respectiv.,definițiile matematice se pot simți adesea prea abstracte și înfricoșătoare, așa că să încercăm să înțelegem acest lucru cu un exemplu. Unul dintre exemplele pe care le-am dat în postarea introductivă pe blog a fost despre alegerea unei cărți dintr-un pachet de cărți de joc tradiționale. Există 52 de cărți în pachet, 26 dintre ele sunt roșii și 26 sunt negre. Care este probabilitatea ca cardul să fie un 4 având în vedere că știm că cardul este roșu?
pentru a converti acest lucru în simbolurile matematice pe care le vedem mai sus, putem spune că evenimentul A este evenimentul în care cardul ales este a 4 și evenimentul B este cardul fiind roșu., Prin urmare, P (A / B) în ecuația de mai sus este P(4|roșu) în exemplul nostru, și aceasta este ceea ce vrem să calculăm. Am lucrat anterior că această probabilitate este egală cu 1/13 (există 26 de cartonașe roșii și 2 dintre acestea sunt 4), dar să calculăm acest lucru folosind teorema lui Bayes.
trebuie să găsim probabilitățile pentru termenii din partea dreaptă. Acestea sunt:
- P(B|A) = P(roșu|4) = 1/2
- P(A) = P(4) = 4/52 = 1/13
- P(B) = P(roșu) = 1/2
când înlocuim aceste numere în ecuația pentru teorema lui Bayes de mai sus obținem 1/13, care este răspunsul pe care îl așteptam.,
cum ne permite Teorema lui Bayes să încorporăm credințe anterioare?mai sus am menționat că teorema lui Bayes ne permite să încorporăm credințe anterioare, dar poate fi greu să vedem cum ne permite să facem acest lucru doar uitându-ne la ecuația de mai sus. Deci, să vedem cum putem face asta folosind exemplul de înghețată și vreme de mai sus.să o reprezintă evenimentul pe care le vindem înghețată și B să fie evenimentul vremii. Apoi ne-am putea întreba Care este probabilitatea de a vinde înghețată într-o anumită zi, având în vedere tipul de vreme?, Matematic acest lucru este scris ca P (A=ice cream sale / B = tip de vreme), care este echivalent cu partea stângă a ecuației.P(A) în partea dreaptă este expresia cunoscută sub numele de prior. În exemplul nostru, aceasta este p(a = ice cream sale), adică probabilitatea (marginală) de a vinde înghețată indiferent de tipul de vreme exterioară. P (A) este cunoscut sub numele de prior, deoarece s-ar putea să știm deja probabilitatea marginală a vânzării de înghețată. De exemplu, m-aș putea uita la datele care spuneau că 30 de persoane dintr-un potențial 100 au cumpărat de fapt înghețată la un magazin undeva., Deci P (a = vânzarea de înghețată) = 30/100 = 0.3, înainte de a ști ceva despre vreme. Acesta este modul în care Teorema lui Bayes ne permite să încorporăm informații anterioare.atenție: am menționat mai sus că am putut găsi date dintr-un magazin pentru a obține informații anterioare, dar nu există nimic care să mă împiedice să compun un anterior complet subiectiv care nu se bazează pe niciun fel de date. Este posibil ca cineva să vină cu un anterior care este o presupunere informată din experiența personală sau din anumite cunoștințe de domeniu, dar este important să știți că calculul rezultat va fi afectat de această alegere., Voi intra în mai multe detalii cu privire la modul în care puterea credinței anterioare afectează rezultatul mai târziu în post.acum știm ce este teorema lui Bayes și cum să o folosim, putem începe să răspundem la întrebarea Ce este inferența Bayesiană?în primul rând, inferența (statistică) este procesul de deducere a proprietăților despre o populație sau o distribuție de probabilitate din date. Am făcut acest lucru în postul meu anterior pe probabilitate maximă. Dintr-un set de puncte de date observate am determinat estimarea probabilității maxime a mediei.,prin urmare, inferența Bayesiană este doar procesul de deducere a proprietăților despre o populație sau o distribuție de probabilitate din date folosind teorema lui Bayes. Asta e.
folosind teorema lui Bayes cu distribuții
până acum exemplele pe care le-am dat mai sus au folosit numere unice pentru fiecare termen din ecuația teoremei lui Bayes. Acest lucru a însemnat că răspunsurile pe care le-am primit au fost, de asemenea, numere unice. Cu toate acestea, pot exista momente în care numerele unice nu sunt adecvate.în exemplul de înghețată de mai sus am văzut că probabilitatea anterioară de a vinde înghețată a fost de 0,3. Cu toate acestea, ce se întâmplă dacă 0.,3 a fost doar cea mai bună presupunere a mea, dar am fost puțin nesigur în legătură cu această valoare. Probabilitatea ar putea fi, de asemenea, 0,25 sau 0,4. În acest caz, o distribuție a credinței noastre anterioare ar putea fi mai potrivită (vezi figura de mai jos). Această distribuție este cunoscută sub numele de distribuție anterioară.
Într-un mod similar putem reprezenta alți termeni în Teorema lui Bayes folosind distribuții. Mai ales trebuie să folosim distribuții atunci când avem de-a face cu modele.în definiția introductivă a teoremei lui Bayes de mai sus am folosit evenimentele A și B, dar atunci când forma model a teoremei lui Bayes este menționată în literatură diferite simboluri sunt adesea folosite. Să le prezentăm.
în loc de evenimentul A, vom vedea de obicei Θ, acest simbol se numește Theta., Theta este ceea ce ne interesează, reprezintă setul de parametri. Deci, dacă încercăm să estimăm valorile parametrilor unei distribuții gaussiene, atunci Θ reprezintă atât media, μ, cât și abaterea standard, σ (scrisă matematic ca Θ = {μ, σ}).
în loc de evenimentul B, vom vedea data sau y = {y1, y2,…, yn}. Acestea reprezintă Datele, adică setul de observații pe care le avem. Voi folosi în mod explicit date în ecuație pentru a face, sperăm, ecuația un pic mai puțin criptic.,
Deci, acum teorema lui Bayes în modelul de formular este scris ca:
Am văzut că P(Θ) este înainte de distribuție. Reprezintă convingerile noastre despre adevărata valoare a parametrilor, la fel cum am avut distribuții reprezentând credința noastră despre probabilitatea de a vinde înghețată.
P(Θ / date) pe partea stângă este cunoscută sub numele de distribuție posterioară., Aceasta este distribuția reprezentând credința noastră despre valorile parametrilor după ce am calculat totul pe partea dreaptă, luând în considerare datele observate.
P(data| Θ) este ceva ce am întâlnit înainte. Dacă ați ajuns la sfârșitul postării mele anterioare cu privire la probabilitatea maximă, atunci vă veți aminti că am spus L(date; μ, σ) este distribuția probabilității (pentru o distribuție Gaussiană). Ei bine, P (date / Θ) este exact acest lucru, este distribuția probabilității deghizată. Uneori este scris ca ℒ (Θ; date), dar este același lucru aici.,prin urmare, putem calcula distribuția posterioară a parametrilor noștri folosind convingerile noastre anterioare actualizate cu probabilitatea noastră.acest lucru ne oferă suficiente informații pentru a parcurge un exemplu de inferență a parametrilor folosind inferența Bayesiană. Dar mai întâi …
De ce am ignorat complet P(date)?
Ei bine, în afară de a fi distribuția marginală a datelor nu are într-adevăr un nume fantezist, deși uneori este menționată ca dovezi. Amintiți-vă, suntem interesați doar de valorile parametrilor, dar P(date) nu are nicio referire la ele., De fapt, P(date) nici măcar nu evaluează la o distribuție. E doar un număr. am observat deja datele astfel încât să putem calcula p (date). În general, se dovedește că calculul P(date) este foarte greu și există atât de multe metode pentru a-l calcula. Această postare pe blog de Prasoon Goyal explică mai multe metode de a face acest lucru.
motivul pentru care p(date) este important este că numărul care iese este o constantă de normalizare. Una dintre condițiile necesare pentru o distribuție de probabilitate este ca suma tuturor rezultatelor posibile ale unui eveniment să fie egală cu 1 (de ex., probabilitatea totală de rulare a unui 1, 2, 3, 4, 5 sau 6 pe o matriță cu 6 fețe este egală cu 1). Constanta normalizantă asigură că distribuția posterioară rezultată este o distribuție de probabilitate adevărată, asigurându-se că suma distribuției (ar trebui să spun cu adevărat integrală, deoarece este de obicei o distribuție continuă, dar aceasta este prea pedantică acum) este egală cu 1.în unele cazuri nu ne pasă de această proprietate a distribuției. Ne pasă doar de locul în care are loc vârful distribuției, indiferent dacă distribuția este normalizată sau nu., În acest caz, mulți oameni scrie modelul de formular de teorema lui Bayes pentru ca
în cazul în care ∝ înseamnă „proporțională”. Acest lucru face explicit faptul că adevărata distribuție posterioară nu este egală cu partea dreaptă, deoarece nu am contabilizat constanta de normalizare P(date).
Bayesian inference example
bine făcut pentru a face acest lucru departe. S-ar putea să ai nevoie de o pauză după toată această teorie., Dar să plug pe cu un exemplu în cazul în care inferența ar putea veni la îndemână. Exemplul pe care îl vom folosi este să stabilim lungimea unei legături de hidrogen. Nu trebuie să știți ce este o legătură de hidrogen. Folosesc acest exemplu doar pentru că a fost unul cu care am venit pentru a ajuta un prieten în timpul doctoratului meu (eram în departamentul de Biochimie, motiv pentru care era relevant la acea vreme).,
Să presupunem că o legătură de hidrogen este între 3,2 Å — 4.,0Å (o verificare rapidă pe Google mi-a dat aceste informații. Ångström, Å, este o unitate de distanță unde 1Å este egal cu 0,1 nanometri, deci vorbim despre distanțe foarte mici). Aceste informații vor forma starețul meu. În ceea ce privește o distribuție de probabilitate, voi reformula acest lucru ca o distribuție Gaussiană cu μ = 3.6 Å medie și deviația standard σ = 0.2 Å (a se vedea figura de mai jos).
Acum ne sunt prezentate unele date (5 puncte de date generate aleator dintr-o distribuție Gaussiană de medie 3Å și abaterea standard 0.4 Å pentru a fi exact. În situații reale, aceste date vor proveni din rezultatul unui experiment științific) care oferă lungimi măsurate ale legăturilor de hidrogen (puncte de aur din Figura 3). Putem obține o distribuție a probabilității din date la fel cum am făcut-o în postul anterior cu privire la probabilitatea maximă., Presupunând că datele au fost generate dintr-un proces care poate fi descris printr-o distribuție Gaussiană, obținem o distribuție a probabilității reprezentată de curba de aur din figura de mai jos. Observați că probabilitatea maximă de estimare medie de 5 puncte de date este mai mic decât 3 (aproximativ 2,8 Å)
Acum avem 2 distribuții Gaussiene, albastru reprezentând înainte și aur reprezentând probabilitatea. Nu ne pasă de Constanta normalizatoare, așa că avem tot ce ne trebuie pentru a calcula distribuția posterioară nenormalizată. Reamintim că ecuația care reprezintă densitatea de probabilitate pentru un Gaussian este
Deci, avem de a multiplica 2 dintre acestea., Nu voi trece prin matematică aici pentru că devine foarte murdar. Dacă sunteți interesat de matematică, atunci îl puteți vedea efectuat în primele 2 pagini ale acestui document. Distribuția posterioară rezultată este prezentată în roz în figura de mai jos.
acum avem distribuția posterioară pentru lungimea unei legături de hidrogen, putem obține statistici din aceasta. De exemplu, am putea folosi valoarea așteptată a distribuției pentru a estima distanța. Sau am putea calcula varianța pentru a cuantifica incertitudinea noastră cu privire la concluzia noastră. Una dintre cele mai comune statistici calculate din distribuția posterioară este modul. Aceasta este adesea folosită ca estimare a valorii reale pentru parametrul de interes și este cunoscută ca estimarea probabilității maxime a posteriori sau pur și simplu, estimarea hărții., În acest caz, distribuția posterioară este, de asemenea, o distribuție Gaussiană, deci media este egală cu modul (și mediana), iar estimarea hărții pentru distanța unei legături de hidrogen este la vârful distribuției la aproximativ 3,2 Å.
De ce folosesc mereu Gaussians?
veți observa că în toate exemplele mele care implică distribuții folosesc distribuții gaussiene. Unul dintre motivele principale este că face matematica mult mai ușoară. Dar pentru exemplul de inferență Bayesian este necesar calcularea produsului de 2 distribuții. I-am spus acest lucru a fost murdar și așa că nu am merge prin matematica., Dar chiar și fără să fac eu matematica, știam că posteriorul era o distribuție Gaussiană. Acest lucru se datorează faptului că distribuția Gaussiană are o proprietate particulară cu care este ușor să lucrați. Se conjugă cu sine în ceea ce privește o funcție de probabilitate Gaussiană. Aceasta înseamnă că, dacă înmulțesc o distribuție anterioară Gaussiană cu o funcție de probabilitate Gaussiană, voi obține o funcție posterioară Gaussiană. Faptul că posterior și prior sunt ambele din aceeași familie de distribuție (ambii sunt Gaussieni) înseamnă că se numesc distribuții conjugate., În acest caz, distribuția anterioară este cunoscută sub numele de conjugat anterior.
în multe situații de inferență sunt alese astfel încât distribuțiile rezultate să fie conjugate, deoarece facilitează matematica. Un exemplu în știința datelor este latent Dirichlet Allocation (Lda), care este un algoritm de învățare nesupravegheat pentru găsirea de subiecte în mai multe documente text (denumit corpus). O introducere foarte bună la LDA poate fi găsită aici pe blogul lui Edwin Chen.,în unele cazuri, nu putem alege doar prior sau Probabilitatea în așa fel încât să fie ușor de calculat distribuția posterioară. Uneori, probabilitatea și / sau distribuția anterioară pot părea îngrozitoare, iar calcularea posteriorului cu mâna nu este ușoară sau posibilă. În aceste cazuri putem folosi diferite metode pentru a calcula distribuția posterioară. Una dintre cele mai comune metode este prin utilizarea unei tehnici numite Markov lanț metode Monte Carlo., Ben Shaver a scris un articol genial numit o introducere zero-Matematica la Markov lanț Monte Carlo metode care explică această tehnică într-un mod foarte accesibil.
ce se întâmplă când primim date noi?
unul dintre lucrurile minunate despre inferența Bayesiană este că nu aveți nevoie de o mulțime de date pentru a o utiliza. 1 observație este suficientă pentru a actualiza prior. De fapt, cadrul Bayesian vă permite să vă actualizați convingerile iterativ în timp real, pe măsură ce datele intră. Funcționează după cum urmează: aveți o credință anterioară despre ceva (de exemplu, valoarea unui parametru) și apoi primiți unele date., Vă puteți actualiza convingerile calculând distribuția posterioară așa cum am făcut mai sus. După aceea, primim și mai multe date. Deci posteriorul nostru devine noul stareț. Putem actualiza noul prior cu probabilitatea derivată din noile date și din nou obținem un nou posterior. Acest ciclu poate continua la nesfârșit, astfel încât să vă actualizați continuu convingerile.
filtrul Kalman (și variantele sale) este un exemplu excelent în acest sens. Este folosit în multe scenarii, dar, eventual, cel mai înalt profil în știința datelor sunt aplicațiile sale pentru autovehicule., Am folosit o variantă numită filtrul Kalman neparfumat în timpul doctoratului meu în cristalografia proteinei matematice și am contribuit la implementarea unui pachet open source. Pentru o descriere vizuală bună a filtrelor Kalman, consultați această postare pe blog: cum funcționează un filtru Kalman, în imagini de Tim Babb.
Utilizarea antecedente ca regularisers
datele Pe care le-a generat în legătură de hidrogen lungime exemplul de mai sus a sugerat că 2,8 Å a fost cea mai bună estimare. Cu toate acestea, este posibil să fim expuși riscului de supraîncărcare dacă ne bazăm estimarea exclusiv pe date., Aceasta ar fi o problemă uriașă dacă ceva nu ar fi în regulă cu procesul de colectare a datelor. Putem combate acest lucru în cadrul Bayesian folosind antecedente. În exemplul nostru, folosind un Gaussian anterior centrat pe 3.6 Å a rezultat o distribuție posterioară care a dat o estimare hartă a lungimii legăturii de hidrogen ca 3.2 Å. Acest lucru demonstrează că prior nostru poate acționa ca un regulariser atunci când estimarea valorilor parametrilor.
cantitatea de greutate pe care o punem pe probabilitatea noastră anterioară vs probabilitatea noastră depinde de incertitudinea relativă dintre cele două distribuții. În figura de mai jos putem vedea acest lucru Grafic., Culorile sunt aceleași ca mai sus, albastru reprezintă distribuția anterioară, aur probabilitatea și roz posterior. În graficul din stânga din figură puteți vedea că prior-ul nostru (albastru) este mult mai puțin răspândit decât probabilitatea (aur). Prin urmare, posteriorul seamănă cu precedentul mult mai mult decât probabilitatea. Opusul este adevărat în graficul din dreapta.,
Prin urmare, dacă dorim să creștem regularizarea un parametru putem alege pentru a restrânge înainte de distribuție în raport cu riscul.Michael Green a scris un articol numit The truth about Bayesian priors and overfitting care acoperă acest lucru mai detaliat și oferă sfaturi despre cum să setați priors.
când estimarea hărții este egală cu estimarea probabilității maxime?,
estimarea hărții este egală cu MLE atunci când distribuția anterioară este uniformă. Un exemplu de distribuție uniformă este prezentat mai jos.
Ceea ce putem vedea este că distribuția uniformă atribuie o pondere egală pentru fiecare valoare de pe axa x (e o linie orizontală). Intuitiv, aceasta reprezintă o lipsă de cunoștințe anterioare despre valorile care sunt cele mai probabile., În acest caz, toată greutatea este atribuită funcției de probabilitate, astfel încât atunci când înmulțim prior cu probabilitatea, posteriorul rezultat seamănă exact cu probabilitatea. Prin urmare, metoda de probabilitate maximă poate fi văzută ca un caz special de hartă.