Mašīnmācība ir viena no populārākajām tehnoloģijām, lai izveidotu prognozēšanas modeļus dažādiem sarežģītiem regresijas un klasifikācijas uzdevumiem. Gradienta paaugstināšanas mašīna (GBM) tiek uzskatīts par vienu no jaudīgākajiem paaugstināšanas algoritmiem.
Lai gan mašīnmācībā tiek izmantots tik daudz algoritmu, algoritmu uzlabošana ir kļuvusi par galveno mašīnmācības kopienā visā pasaulē. Uzlabošanas tehnika atbilst ansambļa mācīšanās koncepcijai, un tādējādi tā apvieno vairākus vienkāršus modeļus (vāji apmācāmie vai bāzes novērtētāji), lai radītu galīgo rezultātu. GBM tiek izmantota arī kā ansambļa metode mašīnmācībā, kas vājos audzēkņus pārvērš par spēcīgiem studentiem. Šajā tēmā “GBM mašīnmācībā” mēs apspriedīsim gradientu mašīnmācīšanās algoritmus, dažādus pastiprināšanas algoritmus mašīnmācībā, GBM vēsturi, tā darbību, dažādas GBM izmantotās terminoloģijas utt. Bet pirms darba sākšanas vispirms izprotiet pastiprināšanas koncepciju un dažādus pastiprināšanas algoritmus mašīnmācībā.
aizvietot java virknē
Kas ir mašīnmācības veicināšana?
Boosting ir viena no populārajām mācību ansambļa modelēšanas metodēm, ko izmanto, lai izveidotu spēcīgus klasifikatorus no dažādiem vājiem klasifikatoriem. Tas sākas ar primārā modeļa izveidi no pieejamajām apmācības datu kopām, pēc tam tiek identificētas bāzes modelī esošās kļūdas. Pēc kļūdas identificēšanas tiek izveidots sekundārais modelis, un tālāk šajā procesā tiek ieviests trešais modelis. Tādā veidā šis vairāku modeļu ieviešanas process tiek turpināts, līdz tiek iegūta pilnīga apmācības datu kopa, pēc kuras modelis prognozē pareizi.
AdaBoost (Adaptive boosting) bija pirmais pastiprināšanas algoritms, kas apvienoja dažādus vājus klasifikatorus vienā spēcīgā klasifikatorā mašīnmācīšanās vēsturē. Tas galvenokārt ir vērsts uz tādu klasifikācijas uzdevumu risināšanu kā binārā klasifikācija.
Algoritmu uzlabošanas soļi:
Ir daži svarīgi soļi, lai uzlabotu algoritmu:
- Apsveriet datu kopu ar dažādiem datu punktiem un inicializējiet to.
- Tagad piešķiriet vienādu svaru katram datu punktam.
- Pieņemsim šo svaru kā modeļa ievadi.
- Identificējiet datu punktus, kas ir nepareizi klasificēti.
- Palieliniet datu punktu svaru 4. darbībā.
- Ja iegūstat atbilstošu izvadi, pārtrauciet šo procesu, pretējā gadījumā vēlreiz izpildiet 2. un 3. darbību.
Piemērs:
Pieņemsim, ka mums ir trīs dažādi modeļi ar to prognozēm, un tie darbojas pilnīgi atšķirīgi. Piemēram, lineārās regresijas modelis parāda lineāras attiecības datos, savukārt lēmumu koka modelis mēģina uztvert datu nelinearitāti, kā parādīts zemāk attēlā.
Turklāt, tā vietā, lai šos modeļus izmantotu atsevišķi, lai prognozētu iznākumu, ja mēs tos izmantojam sēriju vai kombinācijas veidā, mēs iegūstam modeli ar pareizu informāciju nekā visi bāzes modeļi. Citiem vārdiem sakot, tā vietā, lai izmantotu katra modeļa individuālās prognozes, ja mēs izmantotu vidējo prognozi no šiem modeļiem, mēs varētu iegūt vairāk informācijas no datiem. To dēvē par ansambļa mācīšanos, un pastiprināšana ir balstīta arī uz ansambļa metodēm mašīnmācībā.
Algoritmu uzlabošana mašīnmācībā
Mašīnmācībā galvenokārt ir 4 uzlabošanas algoritmi. Tie ir šādi:
Kas ir GBM mašīnmācībā?
Gradient Boosting Machine (GBM) ir viena no populārākajām uz priekšu mācīšanās ansambļa metodēm mašīnmācībā. Tā ir jaudīga metode paredzamo modeļu veidošanai regresijas un klasifikācijas uzdevumiem.
GBM palīdz mums iegūt paredzamo modeli vāju prognozēšanas modeļu, piemēram, lēmumu koku, kopuma veidā. Ikreiz, kad lēmumu koks darbojas kā vājš apmācāmais, iegūto algoritmu sauc par kokiem ar gradientu.
slf4j vs log4j
Tas ļauj mums apvienot dažādu apmācāmo modeļu prognozes un izveidot galīgo prognozēšanas modeli ar pareizu prognozi.
Bet šeit var rasties viens jautājums, ja mēs izmantojam vienu un to pašu algoritmu, kā vairāki lēmumu koki var sniegt labākas prognozes nekā viens lēmumu koks? Turklāt kā katrs lēmumu koks no vieniem un tiem pašiem datiem uztver atšķirīgu informāciju?
Tātad atbilde uz šiem jautājumiem ir tāda, ka katra lēmumu koka mezgli izmanto atšķirīgu pazīmju apakškopu, lai atlasītu labāko sadalījumu. Tas nozīmē, ka katrs koks uzvedas atšķirīgi un tādējādi uztver dažādus signālus no vieniem un tiem pašiem datiem.
Kā darbojas GBM?
Parasti lielākā daļa uzraudzīto mācīšanās algoritmu ir balstīti uz vienu paredzamo modeli, piemēram, lineāro regresiju, sodītu regresijas modeli, lēmumu koku utt. Taču ir daži uzraudzīti algoritmi ML, kas ir atkarīgi no dažādu modeļu kombinācijas kopā caur ansamblī. Citiem vārdiem sakot, ja vairāki bāzes modeļi sniedz savas prognozes, visu prognožu vidējais rādītājs tiek pielāgots, izmantojot pastiprināšanas algoritmus.
Gradienta paaugstināšanas mašīnas sastāv no 3 šādiem elementiem:
- Zaudējuma funkcija
- Vāji izglītojamie
- Piedevu modelis
Izpratīsim šos trīs elementus sīkāk.
1. Zaudējuma funkcija:
Lai gan mašīnmācībā ir liela Loss funkciju saime, ko var izmantot atkarībā no risināmo uzdevumu veida. Zaudējumu funkcijas izmantošana tiek novērtēta pēc nosacītā sadalījuma specifisko raksturlielumu pieprasījuma, piemēram, robustuma. Izmantojot zaudējuma funkciju mūsu uzdevumā, mums ir jānorāda zaudējuma funkcija un funkcija, lai aprēķinātu atbilstošo negatīvo gradientu. Kad mēs iegūstam šīs divas funkcijas, tās var viegli ieviest gradienta paaugstināšanas iekārtās. Tomēr GBM algoritmiem jau ir ierosinātas vairākas zaudēšanas funkcijas.
bezgalīga cilpa
Zaudējumu funkcijas klasifikācija:
Pamatojoties uz atbildes mainīgā y veidu, zaudējumu funkciju var klasificēt dažādos veidos šādi:
- Gausa L2 zudumu funkcija
- Laplasa L1 zuduma funkcija
- Hūbera zuduma funkcija, norādīta δ
- Kvantilā zuduma funkcija, norādīta α
- Binomiālā zuduma funkcija
- Adaboost zaudējumu funkcija
- Zaudējumu funkcijas izdzīvošanas modeļiem
- Zaudējumu funkcijas uzskaita datus
- Pielāgotas zaudējumu funkcijas
2. Vājš apmācāmais:
Vāji apmācāmie ir pamata apmācāmo modeļi, kas mācās no pagātnes kļūdām un palīdz izveidot spēcīgu prognozēšanas modeļa dizainu, lai uzlabotu mašīnmācības algoritmus. Parasti lēmumu koki darbojas kā vāji apmācāmie algoritmu uzlabošanā.
Pastiprināšana ir definēta kā sistēma, kas nepārtraukti strādā, lai uzlabotu bāzes modeļu izvadi. Daudzas gradientu paaugstināšanas lietojumprogrammas ļauj 'pieslēgt' dažādas jūsu rīcībā esošās vāju audzēkņu klases. Tādējādi lēmumu koki visbiežāk tiek izmantoti vājiem (bāzes) studentiem.
Lieldienu olas Android ierīcē
Kā apmācīt vājus audzēkņus:
Mašīnmācība izmanto apmācības datu kopas, lai apmācītu bāzes apmācāmos, un, pamatojoties uz iepriekšējā apmācāmā prognozēm, tā uzlabo veiktspēju, koncentrējoties uz apmācību datu rindām, kurās iepriekšējā kokam bija vislielākās kļūdas vai atlikumi. Piem. sekli koki tiek uzskatīti par vājiem, kas spēj pieņemt lēmumus, jo tajos ir daži sadalījumi. Parasti pastiprināšanas algoritmos visbiežāk sastopami koki, kuriem ir līdz 6 šķelšanās.
Tālāk ir norādīta vājā apmācāmā apmācības secība, lai uzlabotu savu sniegumu, kur katrs koks atrodas secībā ar iepriekšējā koka atlikumiem. Turklāt mēs ieviešam katru jauno koku, lai tas varētu mācīties no iepriekšējā koka kļūdām. Tie ir šādi:
- Apsveriet datu kopu un iekļaujiet tajā lēmumu koku.
F1(x)=y - Ietilpināt nākamo lēmumu koku ar lielākajām iepriekšējā koka kļūdām.
h1(x)=y?F1(x) - Pievienojiet šo jauno koku algoritmam, pievienojot gan 1., gan 2. darbībā.
F2(x)=F1(x)+h1(x) - Atkal savietojiet nākamo lēmumu koku ar iepriekšējā koka atlikumiem.
h2(x)=y?F2(x) - Atkārtojiet to pašu, ko darījām 3. darbībā.
F3(x)=F2(x)+h2(x)
Turpiniet šo procesu, līdz kāds mehānisms (t.i., savstarpēja validācija) liek mums pārtraukt. Galīgais modelis šeit ir pakāpeniski pievienots b atsevišķu koku modelis:
f(x)=B∑b=1fb(x)Tādējādi koki tiek būvēti alkatīgi, izvēloties labākos sadalīšanas punktus, pamatojoties uz tīrības rādītājiem, piemēram, Džini, vai samazinot zaudējumus.
3. Piedevas modelis:
Piedevu modelis ir definēts kā koku pievienošana modelim. Lai gan nevajadzētu pievienot vairākus kokus vienlaikus, ir jāpievieno tikai viens koks, lai esošie koki modelī netiktu mainīti. Turklāt mēs varam arī dot priekšroku gradienta nolaišanās metodei, pievienojot kokus, lai samazinātu zaudējumus.
Dažos pēdējos gados gradienta nolaišanās metode tika izmantota, lai samazinātu tādu parametru kopu kā regresijas vienādojuma koeficients un svars neironu tīklā. Pēc kļūdas vai zuduma aprēķināšanas tiek izmantots svara parametrs, lai samazinātu kļūdu. Taču pēdējā laikā lielākā daļa ML ekspertu dod priekšroku vājiem apmācāmo apakšmodeļiem vai lēmumu kokiem kā šo parametru aizstājēju. Kurā mums modelim jāpievieno koks, lai samazinātu kļūdu un uzlabotu šī modeļa veiktspēju. Tādā veidā prognoze no tikko pievienotā koka tiek apvienota ar prognozi no esošās koku sērijas, lai iegūtu galīgo prognozi. Šis process turpinās, līdz zaudējumi sasniedz pieņemamu līmeni vai vairs nav nepieciešami uzlabojumi.
dharmendra vecums
Šī metode ir pazīstama arī kā funkcionālā gradienta nolaišanās vai gradienta nolaišanās ar funkcijām.
EXTREME GRADIENT BOSTING MACHINE (XGBM)
XGBM ir jaunākā gradienta paaugstināšanas iekārtu versija, kas arī darbojas ļoti līdzīgi GBM. XGBM koki tiek pievienoti secīgi (pa vienam), kas mācās no iepriekšējo koku kļūdām un uzlabo tās. Lai gan XGBM un GBM algoritmi pēc izskata un darbības ir līdzīgi, tomēr starp tiem ir dažas atšķirības, piemēram:
- XGBM izmanto dažādas regulēšanas metodes, lai samazinātu modeļa nepietiekamu vai pārmērīgu pielāgošanu, kas arī palielina modeļa veiktspēju vairāk nekā gradienta paaugstināšanas iekārtas.
- XGBM seko katra mezgla paralēlai apstrādei, savukārt GBM ne, kas padara to ātrāku par gradienta paaugstināšanas mašīnām.
- XGBM palīdz mums atbrīvoties no trūkstošo vērtību imputācijas, jo pēc noklusējuma modelis par to rūpējas. Tas pats uzzina, vai šīm vērtībām jābūt labajā vai kreisajā mezglā.
Gaismas gradienta paaugstināšanas iekārtas (vieglais GBM)
Light GBM ir uzlabota Gradient paaugstināšanas mašīnas versija, pateicoties tās efektivitātei un lielajam ātrumam. Atšķirībā no GBM un XGBM, tas var apstrādāt milzīgu datu apjomu bez jebkādas sarežģītības. No otras puses, tas nav piemērots tiem datu punktiem, kuru skaits ir mazāks.
Līmeņa augšanas vietā Light GBM dod priekšroku koka mezglu augšanai lapu virzienā. Turklāt vieglajā GBM primārais mezgls tiek sadalīts divos sekundārajos mezglos, un vēlāk tas izvēlas vienu sekundāro mezglu sadalīšanai. Šis sekundārā mezgla sadalījums ir atkarīgs no tā, kuram starp diviem mezgliem ir lielāks zudums.
Līdz ar to lapu sadalījuma dēļ Light Gradient Boosting Machine (LGBM) algoritmam vienmēr tiek dota priekšroka salīdzinājumā ar citiem, kur tiek sniegts liels datu apjoms.
CATBOOST
Catboost algoritms galvenokārt tiek izmantots, lai apstrādātu kategoriskos elementus datu kopā. Lai gan GBM, XGBM un Light GBM algoritmi ir piemēroti skaitliskām datu kopām, Catboost ir paredzēts, lai kategoriskos mainīgos apstrādātu skaitliskos datos. Tādējādi catboost algoritms sastāv no būtiska priekšapstrādes posma, lai kategoriskas pazīmes pārvērstu skaitliskos mainīgajos, kas nav nevienā citā algoritmā.
Uzlabošanas algoritmu priekšrocības:
- Uzlabošanas algoritmi seko ansambļa apguvei, kas ļauj modelim sniegt precīzāku prognozi, ko nevar pārspēt.
- Pastiprināšanas algoritmi ir daudz elastīgāki nekā citi algoritmi, jo var optimizēt dažādas zudumu funkcijas un nodrošina vairākas hiperparametru regulēšanas iespējas.
- Tam nav nepieciešama datu iepriekšēja apstrāde, jo tā ir piemērota gan skaitliskiem, gan kategoriskiem mainīgajiem.
- Tas neprasa datu kopā trūkstošo vērtību imputāciju, tas automātiski apstrādā trūkstošos datus.
Uzlabošanas algoritmu trūkumi:
Tālāk ir minēti daži uzlabošanas algoritmu trūkumi:
- Algoritmu pastiprināšana var izraisīt pārmērīgu pielāgošanu, kā arī pārmērīgu noviržu uzsvēršanu.
- Gradienta pastiprināšanas algoritms nepārtraukti koncentrējas, lai samazinātu kļūdas, un tam ir nepieciešami vairāki koki, tāpēc tas ir skaitļošanas ziņā dārgs.
- Tas ir laikietilpīgs un atmiņu ietilpīgs algoritms.
- Mazāk interpretējoša rakstura, lai gan tas ir viegli risināms ar dažādiem rīkiem.
Secinājums:
Tādā veidā mēs esam iemācījušies pastiprinošus algoritmus prognozēšanai mašīnmācībā. Mēs esam arī apsprieduši dažādus svarīgus pastiprināšanas algoritmus, ko izmanto ML, piemēram, GBM, XGBM, vieglo GBM un Catboost. Turklāt mēs esam redzējuši dažādus komponentus (zaudējumu funkciju, vāju apmācāmo un papildinošo modeli) un to, kā GBM darbojas ar tiem. Kā paaugstināšanas algoritmi ir izdevīgi izvietošanai reālās pasaules scenārijos utt.