Kurs:Maschinelles Lernen/Klassifikation mittels Gradientenabstieg

Aus testwiki
Version vom 29. April 2024, 12:06 Uhr von imported>Bert Niehaus (Bert Niehaus verschob die Seite Kurs:Maschinelles Lernen (SoSe 2024)/Klassifikation mittels Gradientenabstieg nach Kurs:Maschinelles Lernen/Klassifikation mittels Gradientenabstieg)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Vorherige Seite: K2 - Feature Engineering
Nächste Seite: K3 - Klassifikation mittels Support Vector Machines

Formulierung des Problems und passender Hypothesen

Als Eingabedaten liegen wieder Punkte x aus dem X=d vor. Für eine binäre Klassifikation, die hier betrachtet werden soll, sind die möglichen Ausgabewerte aus dem Raum Y={0,1}. Das bedeutet, es müssen Hypothesen gesucht werden, die Abbildungen der Form

h:d{0,1}

sind.

Im Kapitel über Vektoren war zu erkennen, dass der Raum Rd durch eine Hyperebene, welche durch

nxc=0

beschrieben wird, in zwei Bereiche geteilt wird. Daher läge es nahe eine Hypothese der Art

hw(x)=Θ(wx+w0)

zu formulieren, wobei

Θ(x)={1x00x<0

die Theta-Funktion ist. Diese Form einer Hypothese ist allerdings für ein Gradientenabstiegsverfahren ungeeignet, da die Theta-Funktion an der Stelle x=0 nicht differenzierbar ist.

Statt der Theta-Funktion wird daher die Sigmoidfunktion (auch als logistische Funktion bezeichnet)

sig:(0,1),xsig(x)=11+ex

betrachtet werden. Sie verfügt über die Grenzwerte

lim\limits xsig(x)=0lim\limits x+sig(x)=1

und ist mit der Ableitung

sig(x)=sig(x)(1sig(x))

in jedem Punkt differenzierbar. Damit kann dann zur Optimierung die Hypothese

hw(x)=sig(wx+w0)=11+e(wx+w0)

verwendet werden, womit die Idealen Gewichte w^ bestimmt werden. Zur schlussendlichen Klassifikation muss aber die Theta-Funktion

h^w^(x)=Θ(w^x+w^0)

verwendet werden.

Verlustfunktion und empirisches Risiko

Für Klassifikationsverfahren wird mit der Vereinbarung 0ln(0)=0 die Kreuzentropie

l(h(x),y)=[yln(h(x))+(1y)ln(1h(x))]

als Verlustfunktion verwendet. Durch Einsetzen der Hypothese mit der Sigmoid-Funktion kann diese zu

l(hw(x),y)=ln(1+exp((1)y(wx+w0)))

bestimmt werden.

Für das empirische Risiko

R^=1Ni=1Nl(hw(xi),yi)

für einen vorliegenden Datensatz mit N Datenpunkten kann so der Ausdruck

R^=1Ni=1Nln(1+exp((1)yi(X_w)i))

gefunden werden. Darin taucht die erweiterte Datenmatrix X_ in einem Matrixvektorprodukt mit w auf. (Dies lässt sich in bspw. in Python mit numpy besonders effizient durchführen. Die Summe über i trifft hingegen nicht mit den indizierten Größen auf, so dass diese explizit bestimmt werden muss.)

Wird der Gradient des empirischen Risikos bestimmt, so kann der Ausdruck

R^wl=1Ni=1N(1)yiX_'il1+exp((1)yi(X_w)i)

gefunden werden.

In der Praxis wird hierbei der Faktor 1N oft ignoriert. Durch die Einführung eines Hyperparametrs a>0 kann die Entscheidung an der Sigmoidfunktion mit sig(ax) noch härter gemacht werden. In diesem Fall nehmen das empirische Risiko und sein Gradient die Formen

R^=1Ni=1Nln(1+exp(a(1)yi(X_w)i))

und

R^wl=1Ni=1Na(1)yiX_'il1+exp(a(1)yi(X_w)i)

an.

Feature Engineering

Wie auch bei linearen Regressionen lassen sich Klassifikationsprobleme weiterhin durch lineare Zusammenhänge lösen, wenn ein Feature Engineering durchgeführt wird. Dazu kann folgendes Beispiel betrachtet werden. Im zweidimensionalen Raum X=2 sollen Punkte in zwei Kategorien Y={0,1} klassifiziert werden. Durch Augenmaß ist bereits zu erkennen, dass die Separation durch einen Kreis mit Radius 1 erfolgen könnte. Ein solcher wird durch

x12+x22=11x12+1x221=0

beschrieben. Dies stellt aber einen linearen Zusammenhang in x12 und x22 dar. Wird insgesamt der Grad g betrachtet, müssen wesentlich mehr Terme berücksichtigt werden. So würde sich für eine Feature Map mit dem Grad g=2 die Form

ϕ:25,(x1x2)(x1x2x12x1x2x22)

ergeben. Typischerweise wird eine Feature Map die Form

ϕ:dm

mit md haben. Aus ϕ(x) wird dann die erweiterten Datenmatrix X_ für das oben beschriebene Gradientenabstiegsverfahren erstellt.