In ons eerdere bericht zijn we ingegaan op de redenen waarom we voor de logistische regressie een Sigmoid-functie gebruiken in plaats van een normale lineaire functie. In dit bericht gaan we verder in op de kostenfunctie.
De kostenfunctie is belangrijk omdat ze ons de fouten van onze voorspellingen geeft en dus nodig is voor ons leeralgoritme. Concreet willen wij de fouten van onze voorspellingen minimaliseren, d.w.z. de kostenfunctie minimaliseren. Idealiter, als al onze fouten nul zijn, is het vergelijkbaar met het spelen van een dartspel waarbij al onze darts de roos zouden raken. Aan de andere kant, als onze fouten zeer hoog zijn, betekent dit dat onze voorspelde waarden alle echte waargenomen waarden missen, d.w.z. dat onze pijlen in het algemeen de roos niet raken.
Hoewel we graag nul fouten hebben bij het uitvoeren van onze kostenfunctie met onze veronderstelde waarden (perfecte voorspelling voor elke waarde), zou dit geen goed scenario kunnen zijn, aangezien het zou kunnen leiden tot een fenomeen dat “hoge variantie” wordt genoemd. We zullen hier in latere artikelen nader op ingaan.
Terugkomend op de formulering van de verliesfunctie, zou een typische verliesfunctie zijn om de som van de gekwadrateerde fouten te minimaliseren, d.w.z.
Deze functie kan echter tijdens het optimalisatieproces aanleiding geven tot meerdere lokale optima, wat betekent dat uw geoptimaliseerde oplossing misschien niet de meest geoptimaliseerde is (er is een kans dat er een betere oplossing is). Idealiter willen we dat de geoptimaliseerde oplossing het globale minimum is, in plaats van het lokale minimum.
Zoals in het bovenstaande diagram te zien is, kunnen we de parameters onbedoeld initialiseren en ze optimaliseren tot het lokale minimum zonder het “echte” mondiale minimum te bereiken. Daarom zou de bovengenoemde verliesfunctie voor ons niet ideaal zijn om te gebruiken.
Wat zou dan onze verliesfunctie kunnen zijn?
Een verliesfunctie die gewoonlijk voor logistieke regressie wordt gebruikt, is deze:
Merk op dat ik kosten en verlies door elkaar heb gebruikt, maar voor degenen die gewend zijn aan de lezingen van Andrew Ng: de “verliesfunctie” geldt voor één enkel trainingsvoorbeeld, terwijl de “kostenfunctie” het gemiddelde over alle trainingsvoorbeelden neemt.
Om te zien waarom deze verliesfunctie zinvol is: Als we aannemen dat y = 1, en we concentreren ons op de bovenste vergelijking, -log(h⊖(x)), dan willen we dat deze zeer negatief is, aangezien dit een verliesfunctie is (Herinner dat we de verliesfunctie als doelstelling willen minimaliseren). Als gevolg daarvan zal h⊖(x) groot zijn. Maar vergeet niet dat h⊖(x) beperkt is tot de maximale waarde van 1 omdat de Sigmoid-functie de geschatte hypothesewaarde beperkt van 0 tot 1:
h⊖(x) = ŷ = σ(z)
Dus, wanneer y=1, is de verliesfunctie geminimaliseerd tot het uiterste wanneer ŷ = 1. Een perfecte voorspelling waarbij weinig of geen verlies/kosten worden gemaakt.
Omgekeerd, als y = 0, en met nadruk op het onderste deel van de vergelijking, -log(1- h⊖(x)). We willen dat dit zeer negatief is vanwege onze verliesminimalisatiedoelstelling. Als gevolg daarvan zou 1- h⊖(x) zeer groot zijn, en het gevolg daarvan zou zijn dat h⊖(x) zeer klein zou zijn. Bedenk echter dat h⊖(x) beperkt is tot de minimumwaarde 0 omdat de Sigmoid-functie de geschatte hypothesewaarde tussen 0 en 1 plaatst.
Dus wanneer y=0 is de verliesfunctie geminimaliseerd tot het uiterste punt wanneer ŷ = 0. Een perfecte voorspelling waarbij weinig of geen verlies/kosten worden gemaakt.
De bijbehorende grafieken zullen bovenstaande punten illustreren:
Zoals u in de linkergrafiek (y = -log(h⊖(x)) kunt zien, gaan de kosten bij y = 1 naar 0 wanneer de veronderstelde waarde 1 is en gaan ze naar oneindig wanneer de veronderstelde waarde dicht bij 0 ligt.
In dezelfde trant, de rechtergrafiek (y = -log(1 – h⊖(x)), wanneer y = 0, gaan de kosten naar 0 wanneer de veronderstelde waarde 0 is en gaan naar oneindig wanneer de veronderstelde waarde dicht bij 1 ligt.
Als u beide in een nette vergelijking combineert, krijgt u de kostenfunctie voor de logistieke regressie met m oefenvoorbeelden: