Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Hitta Parametrarna | Logistisk Regression
Klassificering med Python

Hitta Parametrarna

Svep för att visa menyn

Logistisk regression kräver endast att datorn lär sig de bästa parametrarna ββ. För detta behöver vi definiera vad "bästa parametrar" betyder. Låt oss repetera hur modellen fungerar, den förutspår pp – sannolikheten att tillhöra klass 1:

p=σ(z)=σ(β0+β1x1+...)p = \sigma (z) = \sigma (\beta_0 + \beta_1x_1 + ...)

Där

σ(z)=11+ez\sigma (z) = \frac{1}{1 + e^{-z}}

Uppenbarligen är modellen med bra parametrar den som förutspår höga (nära 1) pp för instanser som faktiskt tillhör klass 1 och låga (nära 0) pp för instanser med faktisk klass 0.

bra dålig logistisk regressionsmodell

För att mäta hur dålig eller bra modellen är använder vi en kostnadsfunktion. Vid linjär regression använde vi MSE (medelkvadratfel) som kostnadsfunktion. Den här gången används en annan funktion:

kostnad

Här representerar pp sannolikheten att tillhöra klass 1, som förutsägs av modellen, medan yy anger det faktiska målvariabelvärdet.

Denna funktion straffar inte bara felaktiga förutsägelser utan tar även hänsyn till modellens säkerhet i sina förutsägelser. Som illustrerat i bilden ovan, när värdet på pp ligger nära yy (det faktiska målet), förblir kostnadsfunktionen relativt liten, vilket indikerar att modellen med säkerhet valt rätt klass. Omvänt, om förutsägelsen är felaktig, ökar kostnadsfunktionen exponentiellt i takt med att modellens säkerhet i den felaktiga klassen ökar.

good bad cost lr

I samband med binär klassificering med en sigmoidfunktion används kostnadsfunktionen som specifikt kallas binär korsentropiförlust, vilket visades ovan. Det är viktigt att notera att det också finns en allmän form som kallas korsentropiförlust (eller kategorisk korsentropi) som används för flerklass-klassificeringsproblem.

Den kategoriska korsentropiförlusten för ett enskilt träningsfall beräknas enligt följande:

Categorical Cross-Entropy Loss=i=1Cyilog(pi)\text{Categorical Cross-Entropy Loss} = -\sum_{i=1}^{C} y_i \log(p_i)

Där

  • CC är antalet klasser;
  • yiy_i är det faktiska målvärdet (1 om klassen är korrekt, annars 0);
  • pip_i är den predicerade sannolikheten att instansen tillhör klass ii.

Vi beräknar förlustfunktionen för varje träningsinstans och tar medelvärdet. Detta medelvärde kallas kostnadsfunktionen. Logistisk regression hittar parametrarna β\beta som minimerar kostnadsfunktionen.

Sigmoid2
question mark

Vilken av dessa används som förlustfunktion vid klassificeringsuppgifter?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 2

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 2. Kapitel 2
some-alt