clasificatorul optim Bayesedit
clasificatorul optim Bayes este o tehnică de clasificare. Este un ansamblu al tuturor ipotezelor din spațiul ipotezelor. În medie, niciun alt ansamblu nu îl poate depăși. Clasificatorul optim Bayes naiv este o versiune a acestuia care presupune că datele sunt independente condiționat de clasă și fac calculul mai fezabil. Fiecare ipoteză primește un vot proporțional cu probabilitatea ca setul de date de formare să fie eșantionat dintr-un sistem dacă ipoteza respectivă ar fi adevărată. Pentru a facilita datele de formare de dimensiuni finite, votul fiecărei ipoteze este, de asemenea, înmulțit cu probabilitatea anterioară a acestei ipoteze. Clasificatorul optim Bayes poate fi exprimat cu următoarea ecuație:
y = o r g m a x c j ∈ C ∑ h i ∈ H P ( c j | sec i ) P ( T | h ) P ( h i ) {\displaystyle y={\underset {c_{j}\în C}{\mathrm {argmax} }}\sum _{h_{i}\în Sec}{P(c_{j}|h_{i})P(T|h_{i})P(h_{i})}}
în cazul în care y {\displaystyle y} este prezis de clasă, C {\displaystyle C} este un set de toate clase posibile, Sec {\displaystyle H} este ipoteza spațiu, P {\displaystyle P} se referă la o probabilitate, și T {\displaystyle T} este de date de instruire. Ca ansamblu, clasificatorul optim Bayes reprezintă o ipoteză care nu este neapărat în H {\displaystyle H} . Ipoteza reprezentată de clasificatorul optim Bayes, totuși, este ipoteza optimă în spațiul ansamblului (spațiul tuturor ansamblurilor posibile constând doar din ipoteze în H {\displaystyle H} ).
această formulă poate fi retratată folosind teorema lui Bayes, care spune că posteriorul este proporțional cu probabilitatea ori anterior:
P ( h i | T) P ( H I ) P ( h i ) {\displaystyle P(H_{i} | T)\propto P(t|H_{i})p(H_{i})}
prin urmare, y = a r g m a X C J {\mathrm {argmax}}}\Sum _{H_{i}\in H} {P ( C_ {J}/H_{i}) p ( H_{i} | t)}}
bootstrap aggregating(insacuire)edit
Articol principal: Bootstrap aggregating
bootstrap aggregating, adesea prescurtat ca insacuire, implică ca fiecare model din ansamblu să voteze cu o greutate egală. Pentru a promova varianța modelului, insacuirea antrenează fiecare model din ansamblu folosind un subset desenat aleatoriu al setului de antrenament. De exemplu, algoritmul random forest combină arborii de decizie aleatori cu insacuirea pentru a obține o precizie de clasificare foarte ridicată.
la ambalare, eșantioanele sunt generate astfel încât eșantioanele să fie diferite unele de altele, însă înlocuirea este permisă. Înlocuirea înseamnă că o instanță poate apărea în mai multe eșantioane de mai multe ori sau nu poate apărea deloc în unele eșantioane. Aceste eșantioane sunt apoi date mai multor cursanți și apoi rezultatele fiecărui cursant sunt combinate sub formă de vot.
BoostingEdit
Articol principal: Boosting (meta-algoritm)
Boosting implică construirea incrementală a unui ansamblu prin instruirea fiecărei noi instanțe de model pentru a sublinia instanțele de formare pe care modelele anterioare le-au clasificat greșit. În unele cazuri, creșterea s-a dovedit a produce o precizie mai bună decât ambalarea, dar, de asemenea, tinde să fie mai probabil să se potrivească prea mult datelor de antrenament. De departe, cea mai comună implementare a boosting este Adaboost, deși unii algoritmi mai noi sunt raportați pentru a obține rezultate mai bune.
în Boosting, o greutate egală (distribuție uniformă a probabilității) este dată datelor de antrenament ale eșantionului (să zicem D1) chiar la Runda de pornire. Aceste date (D1) sunt apoi date unui cursant de bază (să zicem L1). Instanțelor clasificate greșit cu L1 li se atribuie o greutate mai mare decât instanțelor clasificate corect, dar ținând cont de faptul că distribuția totală a probabilității va fi egală cu 1. Aceste date amplificate (să zicem D2) sunt apoi date celui de-al doilea cursant de bază (să zicem L2) și așa mai departe. Rezultatele sunt apoi combinate sub formă de vot.
Bayesian model averagingEdit
Bayesian model averaging (BMA) face predicții folosind o medie pe mai multe modele cu greutăți date de probabilitatea posterioară a fiecărui model dat datelor. Se știe că BMA oferă, în general, răspunsuri mai bune decât un singur model, obținut, de exemplu, prin regresie treptată, mai ales acolo unde modele foarte diferite au performanțe aproape identice în setul de antrenament, dar altfel pot funcționa destul de diferit.
cea mai evidentă întrebare cu orice tehnică care folosește teorema lui Bayes este priorul, adică o specificație a probabilității (subiective, poate) că fiecare model este cel mai bun de utilizat pentru un anumit scop. Conceptual, BMA poate fi utilizat cu orice anterior. Pachetele ensembleBMA și BMA pentru R utilizează priorul implicat de criteriul de informare Bayesian, (BIC), după Raftery (1995). Pachetul BAS pentru R susține utilizarea priorilor implicați de Akaike information criterion (aic) și a altor criterii asupra modelelor alternative, precum și a priorilor asupra coeficienților.
diferența dintre BIC și AIC este puterea preferinței pentru parsimonie. Pedeapsa pentru complexitatea modelului este Ln ( N ) k {\displaystyle \Ln(N)K} pentru BIC și 2 k {\displaystyle 2k} pentru AIC. Teoria asimptotică a eșantionului mare a stabilit că, dacă există un model mai bun, atunci cu creșterea dimensiunilor eșantionului, BIC este puternic consecvent, adică aproape sigur îl va găsi, în timp ce AIC poate să nu, deoarece AIC poate continua să plaseze probabilitatea posterioară excesivă pe modele care sunt mai complicate decât trebuie să fie. Dacă, pe de altă parte, suntem mai preocupați de eficiență, adică., eroare minimă medie de predicție pătrată, apoi asimptotic, AIC și AICc sunt „eficiente” în timp ce BIC nu este.
Burnham și Anderson (1998, 2002) au contribuit foarte mult la introducerea unui public mai larg la ideile de bază ale modelului Bayesian medierea și popularizarea metodologiei. Disponibilitatea software-ului, inclusiv a altor pachete gratuite open-source pentru R dincolo de cele menționate mai sus, a ajutat metodele să fie accesibile unui public mai larg.
Haussler și colab. (1994) a arătat că atunci când BMA este utilizat pentru clasificare, eroarea sa așteptată este de cel mult două ori eroarea așteptată a Clasificatorului optim Bayes.
Bayesian model combinationEdit
Bayesian model combination (BMC) este o corecție algoritmică la Bayesian model medierea (BMA). În loc să eșantioneze fiecare model din ansamblu individual, eșantionează din spațiul ansamblurilor posibile (cu ponderi de model extrase aleatoriu dintr-o distribuție Dirichlet având parametri uniformi). Această modificare depășește tendința BMA de a converge spre a da toată greutatea unui singur model. Deși BMC este oarecum mai scump din punct de vedere al calculului decât BMA, acesta tinde să producă rezultate dramatic mai bune. Rezultatele de la BMC s-au dovedit a fi mai bune în medie (cu semnificație statistică) decât BMA și insacuire.
utilizarea legii lui Bayes pentru a calcula greutățile modelului necesită calcularea probabilității datelor Date fiecărui model. De obicei, niciunul dintre modelele din ansamblu nu este exact distribuția din care au fost generate datele de antrenament, astfel încât toate acestea primesc corect o valoare apropiată de zero pentru acest termen. Acest lucru ar funcționa bine dacă ansamblul ar fi suficient de mare pentru a proba întregul spațiu model, dar acest lucru este rareori posibil. În consecință, fiecare model din datele de antrenament va determina deplasarea greutății ansamblului către modelul din ansamblul care este cel mai apropiat de distribuția datelor de antrenament. În esență, se reduce la o metodă inutil de complexă pentru a face selecția modelului.
posibilele ponderi pentru un ansamblu pot fi vizualizate ca fiind situate pe un simplex. La fiecare vârf al simplexului, toată greutatea este dată unui singur model din ansamblu. BMA converge spre vârful cel mai apropiat de distribuția datelor de antrenament. În schimb, BMC converge spre punctul în care această distribuție se proiectează pe simplex. Cu alte cuvinte, în loc să selecteze modelul cel mai apropiat de distribuția generatoare, caută combinația de modele care este cea mai apropiată de distribuția generatoare.
rezultatele BMA pot fi adesea aproximate folosind validarea încrucișată pentru a selecta cel mai bun model dintr-o găleată de modele. De asemenea, rezultatele din BMC pot fi aproximate prin utilizarea validării încrucișate pentru a selecta cea mai bună combinație de ansamblu dintr-o eșantionare aleatorie a posibilelor ponderi.
găleată de modeleedit
o „găleată de modele” este o tehnică de ansamblu în care un algoritm de selecție a modelului este utilizat pentru a alege cel mai bun model pentru fiecare problemă. Când este testat cu o singură problemă, o găleată de modele nu poate produce rezultate mai bune decât cel mai bun model din set, dar atunci când este evaluat în multe probleme, va produce de obicei rezultate mult mai bune, în medie, decât orice model din set.
cea mai comună abordare utilizată pentru selectarea modelului este selecția de validare încrucișată (uneori numită „concurs de coacere”). Este descris cu următorul pseudo-Cod:
For each model m in the bucket: Do c times: (where 'c' is some constant) Randomly divide the training dataset into two datasets: A, and B. Train m with A Test m with BSelect the model that obtains the highest average score
selecția de validare încrucișată poate fi rezumată ca: „încercați-le pe toate cu setul de antrenament și alegeți-l pe cel care funcționează cel mai bine”.
Gating este o generalizare a selecției de validare încrucișată. Aceasta implică formarea unui alt model de învățare pentru a decide care dintre modelele din găleată este cel mai potrivit pentru a rezolva problema. Adesea, un percepton este utilizat pentru modelul de închidere. Poate fi folosit pentru a alege modelul” cel mai bun ” sau poate fi folosit pentru a da o greutate liniară predicțiilor din fiecare model din găleată.
când o găleată de modele este utilizată cu un set mare de probleme, poate fi de dorit să se evite antrenarea unor modele care necesită mult timp pentru a se antrena. Landmark learning este o abordare meta-învățare care încearcă să rezolve această problemă. Aceasta implică instruirea numai a algoritmilor rapizi (dar imprecisi) din găleată și apoi utilizarea performanței acestor algoritmi pentru a ajuta la determinarea algoritmului lent (dar precis) care este cel mai probabil să facă cel mai bine.
StackingEdit
stivuirea (uneori numită generalizare stivuită) implică instruirea unui algoritm de învățare pentru a combina predicțiile altor câțiva algoritmi de învățare. În primul rând, toți ceilalți algoritmi sunt instruiți folosind datele disponibile, apoi un algoritm Combinator este instruit pentru a face o predicție finală folosind toate predicțiile celorlalți algoritmi ca intrări suplimentare. Dacă se folosește un algoritm de Combinator arbitrar, atunci stivuirea poate reprezenta teoretic oricare dintre tehnicile de ansamblu descrise în acest articol, deși, în practică, un model de regresie logistică este adesea folosit ca Combinator.
stivuirea produce de obicei performanțe mai bune decât oricare dintre modelele instruite. Acesta a fost utilizat cu succes atât în sarcinile de învățare supravegheate (regresie, clasificare și învățare la distanță), cât și în învățarea nesupravegheată (estimarea densității). De asemenea, a fost folosit pentru aestimați rata de eroare a bagging-ului. S-a raportat că a depășit media modelului Bayesian.Cei doi interpreți de top din competiția Netflix au folosit amestecul, care poate fi considerat o formă de stivuire.
bootstrap aggregating, adesea prescurtat ca insacuire, implică ca fiecare model din ansamblu să voteze cu o greutate egală. Pentru a promova varianța modelului, insacuirea antrenează fiecare model din ansamblu folosind un subset desenat aleatoriu al setului de antrenament. De exemplu, algoritmul random forest combină arborii de decizie aleatori cu insacuirea pentru a obține o precizie de clasificare foarte ridicată.
la ambalare, eșantioanele sunt generate astfel încât eșantioanele să fie diferite unele de altele, însă înlocuirea este permisă. Înlocuirea înseamnă că o instanță poate apărea în mai multe eșantioane de mai multe ori sau nu poate apărea deloc în unele eșantioane. Aceste eșantioane sunt apoi date mai multor cursanți și apoi rezultatele fiecărui cursant sunt combinate sub formă de vot.
BoostingEdit
Boosting implică construirea incrementală a unui ansamblu prin instruirea fiecărei noi instanțe de model pentru a sublinia instanțele de formare pe care modelele anterioare le-au clasificat greșit. În unele cazuri, creșterea s-a dovedit a produce o precizie mai bună decât ambalarea, dar, de asemenea, tinde să fie mai probabil să se potrivească prea mult datelor de antrenament. De departe, cea mai comună implementare a boosting este Adaboost, deși unii algoritmi mai noi sunt raportați pentru a obține rezultate mai bune.
în Boosting, o greutate egală (distribuție uniformă a probabilității) este dată datelor de antrenament ale eșantionului (să zicem D1) chiar la Runda de pornire. Aceste date (D1) sunt apoi date unui cursant de bază (să zicem L1). Instanțelor clasificate greșit cu L1 li se atribuie o greutate mai mare decât instanțelor clasificate corect, dar ținând cont de faptul că distribuția totală a probabilității va fi egală cu 1. Aceste date amplificate (să zicem D2) sunt apoi date celui de-al doilea cursant de bază (să zicem L2) și așa mai departe. Rezultatele sunt apoi combinate sub formă de vot.
Bayesian model averagingEdit
Bayesian model averaging (BMA) face predicții folosind o medie pe mai multe modele cu greutăți date de probabilitatea posterioară a fiecărui model dat datelor. Se știe că BMA oferă, în general, răspunsuri mai bune decât un singur model, obținut, de exemplu, prin regresie treptată, mai ales acolo unde modele foarte diferite au performanțe aproape identice în setul de antrenament, dar altfel pot funcționa destul de diferit.
cea mai evidentă întrebare cu orice tehnică care folosește teorema lui Bayes este priorul, adică o specificație a probabilității (subiective, poate) că fiecare model este cel mai bun de utilizat pentru un anumit scop. Conceptual, BMA poate fi utilizat cu orice anterior. Pachetele ensembleBMA și BMA pentru R utilizează priorul implicat de criteriul de informare Bayesian, (BIC), după Raftery (1995). Pachetul BAS pentru R susține utilizarea priorilor implicați de Akaike information criterion (aic) și a altor criterii asupra modelelor alternative, precum și a priorilor asupra coeficienților.
diferența dintre BIC și AIC este puterea preferinței pentru parsimonie. Pedeapsa pentru complexitatea modelului este Ln ( N ) k {\displaystyle \Ln(N)K} pentru BIC și 2 k {\displaystyle 2k} pentru AIC. Teoria asimptotică a eșantionului mare a stabilit că, dacă există un model mai bun, atunci cu creșterea dimensiunilor eșantionului, BIC este puternic consecvent, adică aproape sigur îl va găsi, în timp ce AIC poate să nu, deoarece AIC poate continua să plaseze probabilitatea posterioară excesivă pe modele care sunt mai complicate decât trebuie să fie. Dacă, pe de altă parte, suntem mai preocupați de eficiență, adică., eroare minimă medie de predicție pătrată, apoi asimptotic, AIC și AICc sunt „eficiente” în timp ce BIC nu este.
Burnham și Anderson (1998, 2002) au contribuit foarte mult la introducerea unui public mai larg la ideile de bază ale modelului Bayesian medierea și popularizarea metodologiei. Disponibilitatea software-ului, inclusiv a altor pachete gratuite open-source pentru R dincolo de cele menționate mai sus, a ajutat metodele să fie accesibile unui public mai larg.
Haussler și colab. (1994) a arătat că atunci când BMA este utilizat pentru clasificare, eroarea sa așteptată este de cel mult două ori eroarea așteptată a Clasificatorului optim Bayes.
Bayesian model combinationEdit
Bayesian model combination (BMC) este o corecție algoritmică la Bayesian model medierea (BMA). În loc să eșantioneze fiecare model din ansamblu individual, eșantionează din spațiul ansamblurilor posibile (cu ponderi de model extrase aleatoriu dintr-o distribuție Dirichlet având parametri uniformi). Această modificare depășește tendința BMA de a converge spre a da toată greutatea unui singur model. Deși BMC este oarecum mai scump din punct de vedere al calculului decât BMA, acesta tinde să producă rezultate dramatic mai bune. Rezultatele de la BMC s-au dovedit a fi mai bune în medie (cu semnificație statistică) decât BMA și insacuire.
utilizarea legii lui Bayes pentru a calcula greutățile modelului necesită calcularea probabilității datelor Date fiecărui model. De obicei, niciunul dintre modelele din ansamblu nu este exact distribuția din care au fost generate datele de antrenament, astfel încât toate acestea primesc corect o valoare apropiată de zero pentru acest termen. Acest lucru ar funcționa bine dacă ansamblul ar fi suficient de mare pentru a proba întregul spațiu model, dar acest lucru este rareori posibil. În consecință, fiecare model din datele de antrenament va determina deplasarea greutății ansamblului către modelul din ansamblul care este cel mai apropiat de distribuția datelor de antrenament. În esență, se reduce la o metodă inutil de complexă pentru a face selecția modelului.
posibilele ponderi pentru un ansamblu pot fi vizualizate ca fiind situate pe un simplex. La fiecare vârf al simplexului, toată greutatea este dată unui singur model din ansamblu. BMA converge spre vârful cel mai apropiat de distribuția datelor de antrenament. În schimb, BMC converge spre punctul în care această distribuție se proiectează pe simplex. Cu alte cuvinte, în loc să selecteze modelul cel mai apropiat de distribuția generatoare, caută combinația de modele care este cea mai apropiată de distribuția generatoare.
rezultatele BMA pot fi adesea aproximate folosind validarea încrucișată pentru a selecta cel mai bun model dintr-o găleată de modele. De asemenea, rezultatele din BMC pot fi aproximate prin utilizarea validării încrucișate pentru a selecta cea mai bună combinație de ansamblu dintr-o eșantionare aleatorie a posibilelor ponderi.
găleată de modeleedit
o „găleată de modele” este o tehnică de ansamblu în care un algoritm de selecție a modelului este utilizat pentru a alege cel mai bun model pentru fiecare problemă. Când este testat cu o singură problemă, o găleată de modele nu poate produce rezultate mai bune decât cel mai bun model din set, dar atunci când este evaluat în multe probleme, va produce de obicei rezultate mult mai bune, în medie, decât orice model din set.
cea mai comună abordare utilizată pentru selectarea modelului este selecția de validare încrucișată (uneori numită „concurs de coacere”). Este descris cu următorul pseudo-Cod:
For each model m in the bucket: Do c times: (where 'c' is some constant) Randomly divide the training dataset into two datasets: A, and B. Train m with A Test m with BSelect the model that obtains the highest average score
selecția de validare încrucișată poate fi rezumată ca: „încercați-le pe toate cu setul de antrenament și alegeți-l pe cel care funcționează cel mai bine”.
Gating este o generalizare a selecției de validare încrucișată. Aceasta implică formarea unui alt model de învățare pentru a decide care dintre modelele din găleată este cel mai potrivit pentru a rezolva problema. Adesea, un percepton este utilizat pentru modelul de închidere. Poate fi folosit pentru a alege modelul” cel mai bun ” sau poate fi folosit pentru a da o greutate liniară predicțiilor din fiecare model din găleată.
când o găleată de modele este utilizată cu un set mare de probleme, poate fi de dorit să se evite antrenarea unor modele care necesită mult timp pentru a se antrena. Landmark learning este o abordare meta-învățare care încearcă să rezolve această problemă. Aceasta implică instruirea numai a algoritmilor rapizi (dar imprecisi) din găleată și apoi utilizarea performanței acestor algoritmi pentru a ajuta la determinarea algoritmului lent (dar precis) care este cel mai probabil să facă cel mai bine.
StackingEdit
stivuirea (uneori numită generalizare stivuită) implică instruirea unui algoritm de învățare pentru a combina predicțiile altor câțiva algoritmi de învățare. În primul rând, toți ceilalți algoritmi sunt instruiți folosind datele disponibile, apoi un algoritm Combinator este instruit pentru a face o predicție finală folosind toate predicțiile celorlalți algoritmi ca intrări suplimentare. Dacă se folosește un algoritm de Combinator arbitrar, atunci stivuirea poate reprezenta teoretic oricare dintre tehnicile de ansamblu descrise în acest articol, deși, în practică, un model de regresie logistică este adesea folosit ca Combinator.
stivuirea produce de obicei performanțe mai bune decât oricare dintre modelele instruite. Acesta a fost utilizat cu succes atât în sarcinile de învățare supravegheate (regresie, clasificare și învățare la distanță), cât și în învățarea nesupravegheată (estimarea densității). De asemenea, a fost folosit pentru aestimați rata de eroare a bagging-ului. S-a raportat că a depășit media modelului Bayesian.Cei doi interpreți de top din competiția Netflix au folosit amestecul, care poate fi considerat o formă de stivuire.