0 Daumen
398 Aufrufe

Aufgabe:

Ich habe folgende Kosten-Funktion und muss diese partiell nach θ1 ableiten und danach die Steigung berechnen

Für θ1 wurden folgende Werte eingesetzt : 1;2;3 , da ich einen Datensatz mit 3 Punkten habe. Die x bzw. y Koordinaten sind (1,1), (2,2) und (3,3)

J(θ1) = 1/2 * 3 * (θ11 - 1)^2 + (θ12 - 2)^2 + (θ1*3 - 3)^2


Problem/Ansatz:

Schritt 1: Ableitung des ersten Terms (θ11 - 1)^2 in Bezug auf θ1:
d/dθ1 (θ11 - 1)^2 = 2

Schritt 2: Ableitung des zweiten Terms (θ12 - 2)^2 in Bezug auf θ1:
d/dθ1 (θ12 - 2)^2 = 4

Schritt 3: Ableitung des zweiten Terms (θ13 - 2)^2 in Bezug auf θ1:
d/dθ1 (θ13 - 2)^2 = 6

Schritt 4: Ergebnisse der Ableitungen wieder in die Kostenfunktion einsetzen:

d/dθ1 J(θ1) = 1/6 * 2*(θ1-1) + 4*(θ1-1) + 6*(θ1-1)

Schritt 5: Kombinieren der gleichen Terme:

1/6 * (2θ1 -2) + (4θ1 - 4) + (6θ1 - 6)

= 1/6 * (12θ1 - 12)

= 2θ1 - 2

Schritt 6 : Müsste man die Ableitung nicht 0 setzten , um den minimum Punkt zu finden ?

0 = 2θ1 - 2

Schritt 7: Lösen nach θ1:

θ1 = 1

Dies müsste dann der Steigung entsprechen?


Ich bin mir leider bei dem ganzen Rechenweg sehr unsicher! D.h. es wäre sehr nett , wenn jemand darüber schauen könnte und mir sagen könnte, ob die partiellen Ableitungen sowie die Steigung richtig oder falsch berechnet wurden.

Die Aufgabe ist dabei im Kontext eines gradient descent algorithmus zu verstehen. Inbegriffen sein sollte also lineare Regression, partielle Ableitung , sowie die Steigung der optimalen Linie die durch die genannten Punkte geht. ( Ich bitte um Nachsicht , bin ein totaler noobie auf diesem Gebiet)

Avatar von

Niemand ?

Also ich habe jetzt auch "ähnliche" Aufgaben im Forum betrachtet, leider sind diese bis auf die partielle Ableitung nicht wie bei mir. Dort wird meistens nach Vektoren gefragt.

Wäre sehr erfreulich, wenn mich jemand diesbezüglich erleuchten könnte. Vielleicht mache ich auch bezüglich meines Posts etwas falsch und bekomme deshalb keine Antwort? Falls ja, macht mich bitte darauf Aufmerksam !

1 Antwort

0 Daumen
 
Beste Antwort

Hallo Tommy,

nachdem ich noch mal gegoogelt habe und Deine Frage mehrfach gelesen habe, habe ich es - glaube ich - verstanden. Meine ursprüngliche Antwort lasse ich stehen, dann kannst Du den Fortschritt sehen ;-)

Für θ1 wurden folgende Werte eingesetzt : 1;2;3 , da ich einen Datensatz mit 3 Punkten habe

das ist falsch und damit schon verwirrend für den Leser. Für \(\theta_1\) hast Du nichts eingesetzt, sondern es existiert ein Model oder eine Hypothese (bzw. dessen Linearisierung)$$h_{\theta} (x)=\theta_1 x \quad h_{\theta}(x) \space \text{alias} \space y$$Und gesucht ist der Parameter \(\theta_{1}\). Gegeben sind die drei Wertepaare$$(x_{i},\,y_{i}) = [(1,1),\,(2,2),\,(3,3)]$$und gesucht ist der Wert für \(\theta_{1}\), der so beschaffen ist, dass das Modell best möglich zu den Wertepaaren passt.

Normalerweise macht man das über die Minimierung der Fehlerquadrate, als da wäre:$$J(\theta_{1}) = \sum\limits_{i=1}^{n} \left(h_{\theta}(x_{i}) - y_{i}\right)^2 \to \min$$Du schreibst aber:

J(θ1) = 1/2 * 3 * (θ11 - 1)2 + (θ12 - 2)2 + (θ1*3 - 3)2

Ganz wichtig: beschäftige Dich bitte mal mit den vier Grundrechenarten und deren Priorisierung. 1.Regel: Punktrechnung (Mal und Geteilt) geht vor Strichrechnung (Plus und Minus). Es ist $$5 \cdot 8 + 2 = (5 \cdot 8) + 2 = 42 \ne 5 \cdot (8 + 2) = 50$$

2.Regel: Operationen mit gleicher Priorität werden von links nach rechts durchgeführt. Es ist$$1 / 2 \cdot 3 = 0,5 \cdot 3 = 1,5 \ne 1/(2 \cdot 3) = \frac{1}{6}$$Das Mal-Zeichen kann oft weg gelassen werden, aber bitte nicht zwischen zwei Zahlen! Woher soll man den wissen, dass mit \(\theta11\) eigentlich \(\theta_{1} \cdot 1\) gemeint ist? Zumal es unüblich ist, den Faktor (hier die 1) hinter die Variable (hier \(\theta_{1}\)) zu schreiben.

Wenn man dann noch die drei \(x\)-Werte 1,2,3 und die drei \(y\)-Werte 1,2,3 und die Indizes 1,2,3 hat, kann man das definitiv nicht mehr unterscheiden!

Was Du also meinst ist sicher$$J(\theta_{1}) = \frac{1}{2n}\sum\limits_{i=1}^{n} \left(h_{\theta}(x_{i}) - y_{i}\right)^2 \\ \quad = \frac{1}{2\cdot 3} \left((\theta_{1}\cdot 1-1)^2+(\theta_{1}\cdot 2-2)^2+(\theta_{1}\cdot 3-3)^2\right)$$Dies ableiten und die Ableitung zu 0 setzen gibt dann:$$\begin{aligned} \frac{\partial J}{\partial \theta_{1}} &= \frac{1}{n}\sum\limits_{i=1}^{n}  \left(h_{\theta}(x_{i}) - y_{i}\right)\frac{\partial h_{\theta}(x_{i})}{\partial \theta}\\ &=  \frac{1}{3}\left((\theta_{1} \cdot 1 - 1) + 2(\theta_{1} \cdot 2 - 2) +3 (\theta_{1} \cdot 3 - 3)\right) \\ &= \frac{1}{3}\left(\theta_{1}-1 + 4\theta_{1} - 4 + 9\theta_{1} - 9 \right)\\ &= \frac{1}{3}\left(14\theta_{1} -14\right) \to 0 \end{aligned}$$woraus dann \(\theta_{1} = 1\) folgt. Und Ja - das ist die Steigung. Siehe die Hypothese oben.

Schritt 4: Ergebnisse der Ableitungen wieder in die Kostenfunktion einsetzen:
d/dθ1 J(θ1) = 1/6 * 2*(θ1-1) + 4*(θ1-1) + 6*(θ1-1)

hier hast Du falsch abgeschrieben. Und dann taucht jetzt das (richtige) 1/6 auf, wo ein Leser aber auf Grund der fehlerhaften Scheibweise oben nicht wissen kann, wo das her kommt.

Vielleicht mache ich auch bezüglich meines Posts etwas falsch und bekomme deshalb keine Antwort?

Ja - ich revidiere meine Aussage von vorhin (s.u.). Bitte die Aufgabe so formulieren, dass zumindest die Grundlagen der Algebra korrekt sind und darauf achten, dass richtig abgeschrieben wurde. Das versteht sonst niemand. Der Hinweies auf 'gradient descent algorithmus' war hilfreich, sonst wäre ich da nie drauf gekommen.

Ach ja - und wenn Du einen Term ableitest, so bitte die ganze Ableitung des Terms hin schreiben

Schritt 2: Ableitung des zweiten Terms (θ12 - 2)2 in Bezug auf θ1:
d/dθ1 (θ12 - 2)2 = 4

ist falsch. Richtig wäre $$\frac{\partial }{\partial \theta_{1}} (\theta_{1} \cdot 2 - 2)^2 = 4(\theta_{1} \cdot 2 - 2) = 8\theta_{1} - 8$$

Das Fatale ist: wenn Du das in einer Prüfung so machst, so kann das Ergebnis richtig sein (so wie hier), aber Du bekommst von einem weniger geduldigen Prüfer nur 0 Punkte.

Gruß Werner



meine ursprüngliche Antwort war:

Vielleicht mache ich auch bezüglich meines Posts etwas falsch und bekomme deshalb keine Antwort?

Nö - eigentlich nicht. Es wird erfahrungsgemäß auf Fagen vom Typ: "ich habe es so berechnet, ist das so richtig?" weniger oft geantwortet. Die Wahrheit ist: das ist für den Antwortenden aufwendiger als eine eigene Lösung zu produzieren ;-)

Zu Deiner Frage:

Deine Kostenfunktion ist: J(θ1) = 1/2 * 3 * (θ11 - 1)2 + (θ12 - 2)2 + (θ1*3 - 3)2

Es ist nicht sofort ersichtlich, was \(\Theta_1\) ist. In der Kostenfunktion sieht es so aus, als ob es sich bei \(\Theta_1\) um einen Vektor mit drei Kordinaten \(\Theta_{1,1}\), \(\Theta_{1,2}\) und \(\Theta_{1,3}\) handelt. Komisch ist nur das Mal-Zeichen bei (θ1*3 - 3)2.

Dass \(\Theta_1\) ein Vektor ist steht aber im Widerspruch zu der Aussage:

Für θ1 wurden folgende Werte eingesetzt : 1;2;3 , da ich einen Datensatz mit 3 Punkten habe. Die x bzw. y Koordinaten sind (1,1), (2,2) und (3,3)

Kläre uns doch bitte auf, ob \(\Theta_1\) ein Vektor oder ein Skalar ist, wenn es ein Skalar ist, was bedeutet dann \(\Theta_{11}\)? Und wie spielt dann \(x\) und \(y\) mit da rein?


Schritt 1: Ableitung des ersten Terms (θ11 - 1)2 in Bezug auf θ1:
d/dθ1 (θ11 - 1)2 = 2

das ist sicher falsch. Wenn müsste es heißen$$\frac{\partial }{\partial \Theta_{1,1}} (\Theta_{1,1}- 1)^2 = 2(\Theta_{1,1}- 1)$$

Avatar von 48 k

Antwort neu geschrieben

Vielen lieben Dank ! Ich werde deine Hinweise in Zukunft beachten !

Nachdem ich mir deine Antwort nochmal durchgelesen habe , verstehe ich leider die Ableitung nicht ganz.

Müsste ich nicht partiell nach θ1 ableiten ? Also die anderen Zahlen wie Konstante behandeln?

$$\begin{aligned} \frac{\partial J}{\partial \theta_{1}} &= \frac{1}{n}\sum\limits_{i=1}^{n}  \left(h_{\theta}(x_{i}) - y_{i}\right)\\ &=  \frac{1}{3}\left((\theta_{1} \cdot 1 - 1) + (\theta_{1} \cdot 2 - 2) + (\theta_{1} \cdot 3 - 3)\right) \\ &= \frac{1}{3}\left(\theta_{1}-1 + 2\theta_{1} - 2 + 3\theta_{1} - 3 \right)\\ &= 2\theta_{1} -2 \to 0 \end{aligned}$$

Diese Ableitung kann ich deshalb leider nicht nachvollziehen.

Der Exponent ist überall verschwunden , aber mit was wurde dieser Multipiziert ? Oder wurde dieser dann gekürzt ?

Müsste es nicht hier schon 1/6 anstatt 1/3 sein ?

Vielleicht könntest du mir deine Ableitungsschritte erklären und mir mitteilen, ob das nun partiell nach \(\theta_1\) gemacht werden muss oder "normal" ?

Also ich habe - in Bezug auf ( with respect to) immer als partiell aufgefasst. Ich habe mich leider schon eine Weile nicht mehr Mathe befasst, und bitte deshalb um Nachsicht :(

Müsste ich nicht partiell nach θ1 ableiten ?

Da hier nur eine Variable - nämlich \(\theta_1\) - vorliegt, ist partielle Ableitung ud totale Ableitung dasselbe. Es wird schlicht nach \(\theta_1\) abgeleitet. Im Falle von mehr als einer Variable, würde man partiell ableiten, da die Parameter von einander unabhängig angenommen werden.

verstehe ich leider die Ableitung nicht ganz.

Ein Ausdruck wie \(\theta^2\) wird nach \(\theta\) abgeleitet, indem man den Exponenten vor den Term stellt und ihn anschließend um \(1\) dekrementiert.$$\frac{\partial}{\partial\theta} \theta^2 = 2 \cdot \theta^{2-1} = 2\theta$$Wenn dort statt \(\theta\) eine Funktion von \(\theta\) steht, wendet man die Kettenregel an. Allgemein$$\frac{\partial}{\partial\theta} \left(f(\theta)\right)^2 = 2f(\theta) \cdot \frac{\partial }{\partial\theta}f(\theta)$$Letzteres ist die sogenannte innere Ableitung - und das hatte ich auch glatt oben in meiner Antwort vergessen. Ich habe es aber korrigiert (s.o.). also ist z.B.:$$\frac{\partial }{\partial \theta_{1}} (\theta_{1} \cdot 2 - 2)^2 = 2(\theta_{1} \cdot 2 - 2) \cdot\underbrace{ \frac{\partial }{\partial\theta}(\theta_{1} \cdot 2 - 2)}_{=2} = 4(2\theta_1-2)$$man könnte es auch vor dem Ableiten ausmultiplizieren$$\frac{\partial }{\partial \theta_{1}} (\theta_{1} \cdot 2 - 2)^2= \frac{\partial }{\partial \theta_{1}}(4\theta^2 - 8\theta + 4) = 8\theta - 8$$

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community