INNLEDNING Lineær regresjon vs. Logistisk regresjon

INNLEDNING Lineær regresjon vs. Logistisk regresjon
Mens maskinlæring ikke er ny, er det nå mer data enn noen gang før, noe som bidrar til den nylige populariteten. Vi vil se på to populære maskinlæringsalgoritmer: lineær regresjon og logistisk regresjon med matematikk og implementering.

Hva er lineær regresjon?

Lineær regresjon er en enkel, men effektiv overvåket maskinlæringsalgoritme for å forutsi kontinuerlige variabler. Lineær regresjon søker å bestemme hvordan inngangsvariabelen (forklarende variabel) varierer fra utgangsvariabelen (responsvariabel). Mange avanserte algoritmer av maskinlæringsalgoritmer er basert på lineære regresjonskonsepter. Lineær regresjon brukes ofte i maskinlæringsproblemer for å forutsi kontinuerlige variabler der mål- og funksjonsvariablene har et lineært forhold.

Følgende er hovedkomponentene i en enkel lineær regresjon: kontinuerlig inngangsvariabel, kontinuerlig responsvariabel og de lineære regresjonsforutsetningene er oppfylt.

Antagelser om lineær regresjon:

  1. Inngangsvariabler (x) har et lineært forhold til målvariabelen (y). Inngangsvariable koeffisienter skal heller ikke korreleres med hverandre.
  2. Feilbegrepet er fordelt likt rundt 0, så den forventede verdien av feilbegrepet er e (e) = 0.

Hvordan lineær regresjon fungerer?

En lineær regresjonsmodell prøver å passe til en linje som går gjennom det viktigste antall punkter, samtidig som den minimerer den kvadratiske avstanden (kostnadsfunksjonen) til punktene til de monterte linjeverdiene gitt et sett med datapunkter (x) og svar (y).

Som et resultat er kostnadsfunksjonen til slutt minimert. Kostnadsfunksjonen for lineær regresjon er vanligvis Gjennomsnittlig kvadratfeil:

Regresjonsligningen er skrevet som y = β1x + βo.

Begrepet C representerer avskjæringen, M representerer helningen på regresjonslinjen, X representerer inngangsvariabelen, og Y representerer den forutsagte verdien av responsvariabelen.

Vi vet fra grunnleggende matematikk at en rett linje er identifisert av to parametere: skråning og avskjæring. Den lineære regresjonsalgoritmen velger noen innledende parametere og oppdaterer dem kontinuerlig for å minimere standardavviket. Nedenfor er bildet som viser regresjonslinjen (blå), avvik (grønn) og datapunktene (rødt).

Den lineære regresjonen kan også utvides til flere inngangsvariabler, og tilnærmingen forblir nøyaktig den samme. Ligningen på linjen for flere variabler er representert av:

En demo om lineær regresjon

La oss forutsi en målvariabel ved bruk av en enkelt inngangsvariabel. Eksemplet nedenfor og datasettet er fra Scikit-Learn Offisiell dokumentasjon. Scikit-Learn er et mye brukt bibliotek for å utvikle maskinlæringsmodeller.

Importer matplotlib.Pyplot som Plt
Importer numpy som NP
Fra Sklearn Import Datasett, Linear_Model
Fra Sklearn.Metrics Importer Mean_squared_error, R2_Score
# Last inn diabetesdatasettet
diabetes_x, diabetes_y = datasett.LOAD_DIABETES (return_x_y = true)
# Bruk bare en funksjon
diabetes_x = diabetes_x [:, np.Newaxis, 2]
# Del dataene i trening/testingssett
diabetes_x_train = diabetes_x [:-20]
diabetes_x_test = diabetes_x [-20:]
# Del målene i trening/testingssett
diabetes_y_train = diabetes_y [:-20]
diabetes_y_test = diabetes_y [-20:]
# Lag lineær regresjonsobjekt
reg = linear_model.LinearRegression ()
# Tren modellen ved å bruke treningssettene
reg.Fit (Diabetes_x_Train, Diabetes_y_train)
# Gjør spådommer ved hjelp av testsettet
diabetes_y_pred = reg.forutsi (diabetes_x_test)
# Den gjennomsnittlige kvadratfeilen
Print ("Gjennomsnittlig kvadratfeil: %.2f " % mean_squared_error (diabetes_y_test, diabetes_y_pred))

Produksjon

Gjennomsnittlig kvadratfeil: 2548.07

Hva er logistisk regresjon?

Logistisk regresjon er en klassifiseringsalgoritme. Det er en beslutningsalgoritme, som betyr at den oppsøker grensene mellom to klasser, og den simulerer sannsynligheten for en enkelt klasse. Fordi inngangen er diskret og kan ta to verdier, brukes den vanligvis til binær klassifisering.

Målvariabelen i lineær regresjon er kontinuerlig, noe som betyr at den kan ta enhver virkelig tallverdi, mens vi i logistisk regresjon ønsker at utgangen skal være sannsynligheter (mellom 0 til 1). Logistisk regresjon er avledet fra lineær regresjon, men den tilfører et ekstra lag med sigmoidfunksjon for å sikre at utgangen forblir mellom 0 og 1.

Hvordan logistisk regresjon fungerer?

Logistisk regresjon er en enkel og mye brukt maskinlæringsalgoritme, spesielt for binære klassifiseringsproblemer. Denne utvidelsen av den lineære regresjonsalgoritmen bruker en sigmoid aktiveringsfunksjon for å begrense utgangsvariabelen mellom 0 og 1. Anta at vi må bygge en maskinlæringsmodell, da vil hvert uavhengig variabelt datapunkt være x1 * w1 + x2 * w2 ... og så videre, og dette vil gi en verdi mellom 0 og 1 når det føres gjennom aktiveringsfunksjonen hvis vi bruker 0.50 som en avgjørende verdi eller terskel. Deretter ethvert resultat større enn 0.5 regnes som en 1, og ethvert resultat mindre enn det regnes som 0. Sigmoid -aktiveringsfunksjonen er representert som:

Vi kan se fra grafen at utgangsvariabelen er begrenset mellom 0 og 1.

I scenarier av mer enn to klasser bruker vi en VS. All klassifiseringsmetode. Å dele opp flerklasse datasettet i flere binære klassifiseringsproblemer er hva en VS. Hvile handler om.

På hvert binær klassifiseringsproblem er en binær klassifiserer trent, og spådommer blir laget ved hjelp av modellen med høyest tillit.

Implementering av logistisk regresjon

Nedenfor er manuset fra Scikit-Learn offisiell dokumentasjon for å klassifisere irisblomsten basert på forskjellige funksjoner.

>>> fra Sklearn.Datasett importerer Load_iris
>>> fra Sklearn.linear_model importerer logistikkregresjon
>>> x, y = last_iris (return_x_y = true)
>>> clf = logistikkregresjon (random_state = 0).passform (x, y)
>>> clf.forutsi (x [: 2 ,:])
Array ([0, 0])
>>> clf.PREATION_PROBA (x [: 2 ,:])
Array ([[9.8… E-01, 1.8… E-02, 1.4… E-08],
[9.7… E-01, 2.8… E-02,… E-08]])
>>> clf.poengsum (x, y)
0.97 ..

Konklusjon

Vi gikk gjennom introduksjonen av logistisk og lineær regresjon, diskuterte den underliggende matematikken som var involvert og gikk gjennom implementeringsdelen av hver av dem. Vi kan konkludere med at lineær regresjon hjelper med å forutsi kontinuerlige variabler mens logistisk regresjon brukes i tilfelle av diskrete målvariabler. Logistisk regresjon gjør dette ved å anvende sigmoidaktiveringsfunksjonen på den lineære regresjonsligningen.