Förbättra klassificeringsmodeller

Slutförd

I våra övningar fann vi att vår modell kunde förutsäga laviner så lite, men det var fortfarande fel cirka 40% av tiden. Den här felmängden beror på att vår funktion – antalet svaga snölager – inte är det enda som är ansvarigt för laviner.

Nu ska vi gå igenom de två primära sätten att förbättra prestanda för klassificeringsmodellen: att tillhandahålla fler funktioner och vara selektiva om vad som kommer in i modellen.

Ange fler funktioner

Precis som linjär regression behöver logistisk regression inte begränsas till en enda indata. Den kan kombinera funktioner för att göra förutsägelser. Vi kan till exempel försöka förutsäga laviner baserat på snöfall och antalet vandrare som stör ett spår. Vi kan ange båda dessa funktioner i samma modell för att beräkna sannolikheten för en lavin.

Internt kombinerar logistisk regression funktioner på samma sätt som linjär regression. Det innebär att den behandlar alla funktioner som oberoende, vilket innebär att den förutsätter att funktioner inte påverkar varandra. Vår modell förutsätter till exempel att mängden snöfall inte ändrar hur många som besöker leden. Som standard förutsätter det också att snöfallet ökar risken för lavin med en viss mängd – oavsett hur många vandrare som går på spåret.

De goda och dåliga sidorna av oberoende funktioner

Logistisk regression kan uttryckligen uppmanas att kombinera egenskaper så att hur de fungerar tillsammans kan modelleras, men det sker inte automatiskt som standard. Att göra logistisk regression annorlunda än de flesta andra välkända kategoriseringsalgoritmer som beslutsträd och neurala nätverk.

Det faktum att logistisk regression behandlar funktioner som oberoende som standard är både en styrka och en begränsning som bör beaktas. Det kan göra tydliga förutsägelser helt enkelt, som att öka antalet personer ökar risken, vilket vanligtvis inte är möjligt med andra modeller. Det minskar också risken för överanpassning av träningsdata. Modellen kan däremot inte fungera bra om funktioner faktiskt interagerar i den verkliga världen. Till exempel är fem vandrare som korsar ett berg riskabla om det finns snö, men fem personer är säkra om det inte finns något snöfall för att orsaka en lavin. En logistisk regressionsmodell måste uttryckligen uppmanas att leta efter en interaktion mellan snöfall och antalet vandrare i det här exemplet för att hämta den här nyansen.

Tänk på dina funktioner

Det andra sättet att förbättra modeller är att tänka på vilka funktioner som tillhandahålls och varför. Ju fler funktioner vi lägger till i en modell, desto bättre fungerar modellen. Den här korrelationen är dock bara sann om de funktioner vi tillhandahåller är relevanta och förklarar något som befintliga funktioner inte gör.

Undvika överträning

Om vi tillhandahåller fler funktioner som inte är användbara kan modellen överträna. Att ge intrycket av att fungera bättre, men faktiskt fungera sämre i praktiken.

Tänk dig till exempel om vi hade dagliga poster för mängden snö, antalet vandrare, temperatur och antalet fåglar som har observerats. Antalet fåglar som upptäcks är förmodligen inte relevant information. Men om modellen levereras modellerar den ett förhållande mellan laviner och antalet fåglar som upptäcks under givna dagar. Om fåglar sågs mer på lavindagar antyder modellen att fåglar kan vara ansvariga för att orsaka laviner. Vi kan sedan sätta upp ett systematiskt fågelskådningsprogram för att förutsäga laviner, bara för att upptäcka att det inte fungerar alls.

Undvika underträning

Att använda funktioner naivt kan också leda till otillräcklig träning och göra förutsägelser som inte är så korrekta som möjligt. Temperaturen och antalet vandrare kan till exempel båda vara nära kopplade till laviner. Men om människor bara går på soliga dagar kan modellen ha svårt att skilja hur viktiga vandrare är i jämförelse med temperaturen. På samma sätt kan vi upptäcka att vår modell fungerar bättre om vi anger antalet vandrare som ett exakt antal besökare, snarare än att bara använda high eller low. Låt sedan modellträningen hitta en mer exakt relation.