Introduksjon til maskinlæringsalgoritmer

Maskinlæring er studiet av prediktiv analyse som fungerer etter prinsippet om at datamaskiner lærer av tidligere data og deretter lager forutsigelser om de nye dataene. Fremkomsten av Machine Learning-algoritmer var lenge tilbake da datamaskinene ble utviklet. Den nylige hypen er imidlertid et resultat av de store datamengdene som blir generert og den enorme regnekraften som dagens datamaskiner har. Dette har resultert i fremveksten av Deep Learning, et underfelt av Machine Learning som trives med mer data. Det fungerer som en menneskelig hjerne der nevroner brukes til å ta bedre beslutninger. På samme måte danner nevrale nettverk i Deep Learning lagene som følger prinsippet om videresending og tilbakeføring av forover for å ta bedre beslutninger.

Kategorier av maskinlæringsalgoritmer

Feltet for maskinlæringsalgoritmer kan kategoriseres i -

  • Supervised Learning - I Supervised Learning er datasettet merket, dvs. for hver funksjon eller uavhengig variabel er det tilsvarende måldata som vi vil bruke til å trene modellen.
  • UN-Supervised Learning - I motsetning til i Supervised Learning, er datasettet ikke merket i dette tilfellet. Dermed brukes klyngeteknikk for å gruppere dataene basert på likheten mellom datapunktene i samme gruppe.
  • Forsterkningslæring - En spesiell type maskinlæring der modellen lærer av hver handling som er utført. Modellen blir belønnet for alle riktige beslutninger som blir tatt og straffet for enhver feil beslutning som gjør at den kan lære mønstrene og ta bedre nøyaktige beslutninger om ukjente data.

Avdeling for maskinlæringsalgoritmer

Problemene i maskinlæringsalgoritmer kan deles inn i -

  • Regresjon - Det er en kontinuerlig sammenheng mellom de avhengige og de uavhengige variablene. Målvariabelen er numerisk, mens de uavhengige variablene kan være numeriske eller kategoriske.
  • Klassifisering - Det vanligste problemstillingen du vil finne i den virkelige verden er å klassifisere et datapunkt i en binær, multinomial eller ordinal klasse. I problemet Binary Classification har målvariabelen bare to utfall (Ja / Nei, 0/1, Sant / usant). I problemet Multinomial Classification er det flere klasser i målvariabelen (Apple / Orange / Mango, og så videre). I Ordinal klassifiseringsproblemet blir målvariabelen bestilt (f.eks. - elevenes karakter).

Nå, for å løse denne typen problemer, har programmerere og vitenskapsmann utviklet noen programmer eller algoritmer som kan brukes på dataene for å gjøre forutsigelser. Disse algoritmene kan deles inn i lineære og ikke-lineære eller trebaserte algoritmer. Lineære algoritmer som Linear Regression, Logistic Regression brukes vanligvis når det er et lineært forhold mellom funksjonen og målvariabelen, mens dataene som viser ikke-lineære mønstre, de trebaserte metodene som Decision Tree, Random Forest, Gradient Boosting, osv. er å foretrekke.

Så langt fikk vi en kort intuisjon om maskinlæring. Nå lærer du noen av de forhåndsprogrammerte algoritmene du kan bruke i neste prosjekt.

algoritmer

Det er mange maskinlæringsalgoritmer som er i markedet for øyeblikket, og det vil bare øke med tanke på mengden forskning som gjøres på dette feltet. Lineær og logistisk regresjon er generelt de første algoritmene du lærer deg som Data Scientist etterfulgt av mer avanserte algoritmer.

Nedenfor er noen av maskinlæringsalgoritmene sammen med eksempler på kodebiter i python.

1. Lineær regresjon

Som navnet antyder, kan denne algoritmen brukes i tilfeller der målvariabelen som er kontinuerlig karakter er lineært avhengig av de avhengige variablene. Det er representert av -

y = a * x + b + e, der y er målvariabelen vi prøver å forutsi, a er avskjæringen og b er skråningen, x er vår avhengige variabel som brukes til å gjøre prediksjonen. Dette er en enkel lineær regresjon da det bare er en uavhengig variabel. Når det gjelder multippel lineær regresjon, ville ligningen vært -

y = a1*x1 + a2*x2 + …… + a(n)*x(n) + b + e

Her er e feilbegrepet og a1, a2 .. a (n) er koeffisienten til de uavhengige variablene.

For å evaluere ytelsen til modellen brukes en beregning som i dette tilfellet kan være Root Mean Square Error, som er kvadratroten av gjennomsnittet av summen av forskjellen mellom de faktiske og de forutsagte verdiene.

Målet med Lineær regresjon er å finne den beste passformlinjen som minimerer forskjellen mellom de faktiske og de forutsagte datapunktene.

Lineær regresjon kan skrives i Python som nedenfor -

2. Logistisk regresjon

Når det gjelder å opprettholde et lineært forhold, er det det samme som Lineær regresjon. I motsetning til i Linear Regression, er imidlertid målvariabelen i Logistic Regression kategorisk, dvs. binær, multinomial eller ordinal. Valget av aktiveringsfunksjonen er viktig i Logistic Regression som for binære klassifiseringsproblemer, logg av odds til fordel, dvs. sigmoid-funksjonen brukes.

I tilfelle av et multiklasse-problem foretrekkes softmax-funksjonen, da en sigmoid-funksjon tar mye beregningstid.

Metrikken som brukes for å evaluere et klassifiseringsproblem er generelt nøyaktighet eller ROC-kurven. Jo mer området under ROC, jo bedre er modellen. En tilfeldig graf vil ha en AUC på 0, 5. Verdien på 1 indikerer mest nøyaktighet, mens 0 indikerer minst nøyaktighet.

Logistisk regresjon kan skrives i læring som -


3. K-nærmeste naboer

Maskinlæringsalgoritmer kan brukes til både klassifiserings- og regresjonsproblemer. Ideen bak KNN-metoden er at den spår verdien av et nytt datapunkt basert på dets K Nærmeste naboer. K er generelt foretrukket som et oddetall for å unngå konflikter. Når du klassifiserer et hvilket som helst nytt datapunkt, tas klassen med den høyeste modusen i naboene i betraktning. Når det gjelder regresjonsproblemet, regnes middelet som verdien.

Jeg lærte at KNN er skrevet som -


KNN brukes til å bygge en anbefalingsmotor.

4. Støtt vektormaskiner

En klassifiseringsalgoritme der et hyperplan skiller de to klassene. I et binært klassifiseringsproblem anses to vektorer fra to distinkte klasser kjent som støttevektorene og hyperplanet trekkes i maksimal avstand fra støttevektorene.

Som du ser, skiller en enkelt linje de to klassene. Imidlertid vil dataene i de fleste tilfeller ikke være så perfekte og et enkelt hyperplan ville ikke være i stand til å skille klassene. Derfor må du stille inn parametere som Regularization, Kernel, Gamma, og så videre.

Kjernen kan være lineær eller polynom, avhengig av hvordan dataene skilles. I dette tilfellet er kjernen lineær. I tilfelle av regulering, må du velge en optimal verdi på C, da den høye verdien kan føre til overmasse, mens en liten verdi kan tilfredsstille modellen. Påvirkningen fra et enkelt treningseksempel er definert av Gamma. Poeng nær linjen blir vurdert i høy gamma og omvendt for lav gamma.

I sklearn er SVM skrevet som -


5. Naive Bayes

Det fungerer etter prinsippet om Bayes teorem som finner sannsynligheten for en hendelse med tanke på noen sanne forhold. Bayes teorem er representert som -

Algoritmen kalles Naive fordi den mener at alle variabler er uavhengige og tilstedeværelsen av en variabel ikke har noe forhold til de andre variablene, noe som aldri er tilfelle i det virkelige liv. Naive Bayes kan brukes i e-post spam-klassifisering og i tekstklassifisering.

Naïve Bayes kode i Python -

6. Avgjørelsestre

Brukt til både klassifiserings- og regresjonsproblemer, er Decision Tree-algoritmen en av de mest enkle og lett tolkbare Machine Learning-algoritmene. Det påvirkes ikke av utliggere eller manglende verdier i dataene og kan fange opp de ikke-lineære forholdene mellom de avhengige og de uavhengige variablene.

For å bygge et beslutnings tre blir alle funksjoner vurdert med det første, men funksjonen med maksimal informasjonsgevinst blir tatt som den endelige rotnoden basert på hvilken den påfølgende delingen gjøres. Denne splittingen fortsetter på barneknuten basert på de maksimale informasjonskriteriene, og den stopper til alle forekomster er blitt klassifisert eller dataene ikke kunne deles videre. Beslutningstrær er ofte utsatt for overmasse, og det er derfor nødvendig å innstille hyperparameteret som maksimal dybde, min bladknuter, minimumsprøver, maksimale funksjoner og så videre. For å redusere overmontering er det en grådig tilnærming som setter begrensninger på hvert trinn og velger de best mulige kriteriene for den splittelsen. Det er en annen bedre tilnærming kalt beskjæring der treet først er bygd opp til en viss forhåndsdefinert dybde og deretter fra bunnen blir noder fjernet hvis det ikke forbedrer modellen.

I sklearn er beslutningstrær kodet som -



7. Tilfeldig skog

For å redusere overmontering i Decision Tree, er det påkrevd å redusere variansen til modellen, og dermed kom konseptet bagging på plass. Bagging er en teknikk der resultatet fra flere klassifisere tas for å danne den endelige utdata. Random Forest er en slik posemetode hvor datasettet samples i flere datasett og funksjonene velges tilfeldig for hvert sett. Deretter brukes beslutnings-tre-algoritmen på hver samplede data for å få utdata fra hver modus. Når det gjelder et regresjonsproblem, blir gjennomsnittet av resultatet til alle modellene tatt, mens, i tilfelle av klassifiseringsproblem, vurderes klassen som får maksimal stemme å klassifisere datapunktet. Random Forest påvirkes ikke av utleggere, manglende verdier i dataene, og det hjelper også til reduksjon av dimensjonalitet. Det er imidlertid ikke tolkelig hvilken ulempe for Random Forest. I Python kan du kode Random Forest som -


8. K-betyr Clustering

Så langt har vi jobbet med overvåkede læringsproblemer der det for hver inngang er en tilsvarende utgang. Nå ville vi lære om uovervåket læring der dataene er uten merking og må grupperes i spesifikke grupper. Det er flere klyngeteknikker tilgjengelig. Imidlertid er den vanligste av dem K-betyr klynging. Blekk betyr k refererer til antall klynger som må settes inn før du opprettholder maksimal varians i datasettet. Når k er satt, initialiseres centroids. Sentroidene justeres deretter gjentatte ganger slik at avstanden mellom datapunktene i en centroid er maksimal og avstanden mellom to separate er maksimal. Euklidisk avstand, Manhattan-avstand osv. Er noen av avstandsformlene som brukes til dette formålet.

Verdien av k ble funnet fra albue-metoden.

K-betyr klynging brukes i e-handelsnæringer der kunder grupperes sammen basert på atferdsmønstre. Det kan også brukes i Risk Analytics. Nedenfor er pythonkoden -


Konklusjon: Machine Learning Algorithms

Data Scientist er den mest sexy jobben i det 21. århundre og Machine Learning er absolutt et av de viktigste kompetanseområdene. For å være en dataviter, må man ha en dyptgående forståelse av alle disse algoritmene og også flere andre nye teknikker som Deep Learning.

Anbefalte artikler

Dette har vært en guide til maskinlæringsalgoritmer. Her har vi diskutert konseptet, kategorier, problemer og forskjellige algoritmer til maskinspråk. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Maskinlæringsteknikker
  2. Hva er dyp læring
  3. Data Scientist vs Machine Learning
  4. Supervised Learning vs Unsupervised Learning
  5. Hyperparameter maskinlæring
  6. Hva er forsterkningslæring?
  7. Mest brukte teknikker for læring av ensemble
  8. Komplett guide til eksempler på C ++ algoritme
  9. Veiledning for stadier i maskinlæring livssyklus

Kategori: