Kot vemo, lahko algoritem nadzorovanega strojnega učenja na splošno razvrstimo v regresijske in klasifikacijske algoritme. V regresijskih algoritmih smo napovedali izhod za zvezne vrednosti, vendar za napovedovanje kategoričnih vrednosti potrebujemo klasifikacijske algoritme.
Kaj je algoritem za razvrščanje?
Klasifikacijski algoritem je tehnika nadzorovanega učenja, ki se uporablja za identifikacijo kategorije novih opazovanj na podlagi podatkov o usposabljanju. Pri klasifikaciji se program uči iz danega nabora podatkov ali opazovanj in nato novo opazovanje razvrsti v več razredov ali skupin. Kot naprimer, Da ali Ne, 0 ali 1, vsiljena pošta ali ne vsiljena pošta, mačka ali pes, itd. Razrede lahko kličete kot cilje/oznake ali kategorije.
nekaj hitrega sortiranja
Za razliko od regresije je izhodna spremenljivka klasifikacije kategorija, ne vrednost, kot je 'zeleno ali modro', 'sadje ali žival' itd. Ker je algoritem klasifikacije tehnika nadzorovanega učenja, zato vzame označene vhodne podatke, ki pomeni, da vsebuje vhod z ustreznim izhodom.
V algoritmu za klasifikacijo je diskretna izhodna funkcija (y) preslikana v vhodno spremenljivko (x).
y=f(x), where y = categorical output
Najboljši primer klasifikacijskega algoritma ML je Detektor neželene elektronske pošte .
Glavni cilj algoritma za klasifikacijo je identificirati kategorijo danega nabora podatkov, ti algoritmi pa se uporabljajo predvsem za napovedovanje izhoda za kategorične podatke.
Klasifikacijske algoritme je mogoče bolje razumeti z uporabo spodnjega diagrama. V spodnjem diagramu sta dva razreda, razred A in razred B. Ti razredi imajo lastnosti, ki so si med seboj podobne in se razlikujejo od drugih razredov.
Algoritem, ki izvaja klasifikacijo na naboru podatkov, je znan kot klasifikator. Obstajata dve vrsti klasifikacij:
Primeri: DA ali NE, MOŠKI ali ŽENSKI, SPAM ali NI SPAM, MAČKA ali PES itd.
primer: Klasifikacije vrst poljščin, Klasifikacija vrst glasbe.
Učenci pri težavah s klasifikacijo:
Pri težavah s klasifikacijo obstajata dve vrsti učencev:
primer: Algoritem K-NN, sklepanje na podlagi primerov
Vrste klasifikacijskih algoritmov ML:
Klasifikacijske algoritme lahko nadalje razdelimo v predvsem dve kategoriji:
- Logistična regresija
- Podporni vektorski stroji
- K-najbližji sosedje
- Jedro SVM
- Naive Bayes
- Klasifikacija drevesa odločanja
- Naključna klasifikacija gozdov
Opomba: Zgornje algoritme se bomo naučili v naslednjih poglavjih.
Ocenjevanje modela klasifikacije:
Ko je naš model končan, je treba oceniti njegovo delovanje; ali je to klasifikacijski ali regresijski model. Za ocenjevanje modela klasifikacije imamo torej naslednje načine:
1. Izguba dnevnika ali navzkrižna entropijska izguba:
- Uporablja se za ocenjevanje učinkovitosti klasifikatorja, katerega rezultat je vrednost verjetnosti med 0 in 1.
- Za dober binarni model klasifikacije mora biti vrednost izgube dnevnika blizu 0.
- Vrednost izgube dnevnika se poveča, če napovedana vrednost odstopa od dejanske vrednosti.
- Nižja izguba logaritma predstavlja večjo natančnost modela.
- Za binarno klasifikacijo se navzkrižna entropija lahko izračuna kot:
?(ylog(p)+(1?y)log(1?p))
Kjer je y = dejanski izhod, p = predvideni izhod.
2. Matrica zmede:
- Matrika zmede nam daje matriko/tabelo kot izhod in opisuje delovanje modela.
- Znana je tudi kot matrika napak.
- Matriko sestavljajo rezultati napovedi v povzetku, ki vsebuje skupno število pravilnih napovedi in napačnih napovedi. Matrika je videti tako kot v spodnji tabeli:
Dejansko pozitivno | Dejansko negativno | |
---|---|---|
Predvideno pozitivno | True Positive | Lažno pozitiven |
Napovedano negativno | Lažno negativno | True Negative |
3. Krivulja AUC-ROC:
zakaj označevalni vmesnik v Javi
- ROC krivulja pomeni Krivulja delovanja sprejemnika in AUC pomeni Območje pod krivuljo .
- Je graf, ki prikazuje uspešnost klasifikacijskega modela pri različnih pragovih.
- Za vizualizacijo delovanja večrazrednega klasifikacijskega modela uporabljamo krivuljo AUC-ROC.
- Krivulja ROC je narisana s TPR in FPR, kjer je TPR (True Positive Rate) na osi Y in FPR (False Positive Rate) na X-osi.
Primeri uporabe klasifikacijskih algoritmov
Klasifikacijske algoritme je mogoče uporabiti na različnih mestih. Spodaj je nekaj priljubljenih primerov uporabe algoritmov za razvrščanje:
- Zaznavanje vsiljene e-pošte
- Prepoznavanje govora
- Identifikacije tumorskih celic raka.
- Razvrstitev zdravil
- Biometrična identifikacija itd.