Minimera modellfel med kostnadsfunktioner

Slutförd

Inlärningsprocessen ändrar upprepade gånger en modell tills den kan göra högkvalitativa uppskattningar. För att avgöra hur bra en modell presterar använder inlärningsprocessen matematik i form av en kostnadsfunktion. Kostnadsfunktionen kallas även för en objektiv funktion. För att förstå vad en kostnadsfunktion är kan vi dela upp den lite.

Fel, kostnad och förlust

I övervakad inlärning, fel, kostnad och förlust refererar alla till antalet misstag som en modell gör när man förutsäger en eller flera etiketter.

Dessa tre termer används löst i maskininlärning, vilket kan orsaka viss förvirring. För enkelhetens skull använder vi dem utbytbart här. Kostnaden beräknas genom matematik; Det är inte en kvalitativ bedömning. Om en modell till exempel förutsäger en daglig temperatur på 40°F, men det faktiska värdet är 35°F, kan vi säga att den har ett fel på 5°F.

Att minimera kostnaderna är vårt mål

Eftersom kostnaden anger hur dåligt en modell fungerar är vårt mål att ha noll kostnad. Med andra ord vill vi träna modellen att inte göra några misstag alls. Denna idé är dock ofta omöjlig, så i stället sätter vi ett något mer oklart mål att träna modellen för att få lägsta möjliga kostnad.

På grund av det här målet avgör hur vi beräknar kostnaden vad modellen försöker lära sig. I föregående exempel definierade vi kostnaden som felet vid beräkning av temperatur.

Vad är en kostnadsfunktion?

I övervakad inlärning är en kostnadsfunktion en liten kod som beräknar kostnaden från en modells förutsägelse och den förväntade etiketten: rätt svar. I den föregående övningen beräknade vi till exempel kostnaden genom att beräkna förutsägelsefelen, placera dem i kvart och summera dem.

När kostnadsfunktionen har beräknat kostnaden vet vi om modellen fungerar bra eller inte. Om det fungerar bra kan vi välja att sluta träna. Annars kan vi skicka kostnadsinformation till optimeraren, som använder den här informationen för att välja nya parametrar för modellen.

Diagram över maskininlärningslivscykeln med etiketter, men utan funktioner.

Under träningen kan olika kostnadsfunktioner ändra hur lång tid träningen tar eller hur bra den fungerar. Om kostnadsfunktionen till exempel alltid anger att felen är små gör optimeraren bara små ändringar i modellen. Som ett annat exempel, om kostnadsfunktionen returnerar stora värden när vissa misstag görs. Sedan gör optimeraren ändringar i modellen så att den inte gör den här typen av misstag.

Det finns inte en kostnadsfunktion som passar alla. Vilken som är bäst beror på vad vi försöker uppnå. Vi behöver ofta experimentera med kostnadsfunktioner för att få ett resultat som vi är nöjda med. I nästa övning gör vi det här experimentet.