logo

Klasifikacijski algoritem v strojnem učenju

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.

Klasifikacijski algoritem v strojnem učenju

Algoritem, ki izvaja klasifikacijo na naboru podatkov, je znan kot klasifikator. Obstajata dve vrsti klasifikacij:

    Binarni klasifikator:Če ima težava s klasifikacijo samo dva možna rezultata, se imenuje binarni klasifikator.
    Primeri: DA ali NE, MOŠKI ali ŽENSKI, SPAM ali NI SPAM, MAČKA ali PES itd.Večrazredni klasifikator:Če ima problem klasifikacije več kot dva izida, se imenuje večrazredni klasifikator.
    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:

    Leni učenci:Lazy Learner najprej shrani nabor podatkov o usposabljanju in počaka, dokler ne prejme nabora testnih podatkov. V primeru lenega učenca se razvrstitev izvede na podlagi najbolj povezanih podatkov, shranjenih v naboru podatkov o usposabljanju. Traja manj časa za trening, več pa za napovedi.
    primer: Algoritem K-NN, sklepanje na podlagi primerovŽeljni učencev:Eager Learners razvijejo klasifikacijski model, ki temelji na naboru podatkov za usposabljanje, preden prejmejo nabor testnih podatkov. V nasprotju z lenimi učenci si Eager Learner vzame več časa za učenje in manj časa za napovedovanje. primer: Odločitvena drevesa, Nave Bayes, ANN.

Vrste klasifikacijskih algoritmov ML:

Klasifikacijske algoritme lahko nadalje razdelimo v predvsem dve kategoriji:

    Linearni modeli
    • Logistična regresija
    • Podporni vektorski stroji
    Nelinearni modeli
    • 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
Klasifikacijski algoritem v strojnem učenju

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.