2017-01-20 2 views
1

Ich habe die Hausaufgaben 1 in Andrew Ng maschinellen Lernkurs gemacht. Aber ich stehe auf meinem Verständnis davon, wovon er sprach, wenn der multivariable Gradientenabfall vektorisiert wird.Vektorisierung von multivariable Gradientenabstieg

seine Gleichung stellt sich wie folgt dar: theta: = theta - alpha * f

f soll, mit 1/m * Summe (h (xi) -yi) * Xi i erstellt werden, in denen die index

jetzt hier ist, wo ich verwirrt, ich weiß, dass h (xi) -y (i) kann als Theta * xi umgeschrieben werden, wo xi eine Reihe von Feature-Elementen (1xn) darstellt und Theta eine Spalte darstellt (nx1) einen Skalar erzeugen, den ich dann von einem individuellen Wert von y subtrahiere, den ich dann mit Xi multipliziere, wobei Xi eine Spalte von 1 Merkmalswerten darstellt?

so würde ich mir mx1 Vektor geben? was muss dann von einem nx1 Vektor subtrahiert werden?

Ist Xi eine Reihe von Merkmalswerten? und wenn ja, wie kann ich dies ohne Indexierung über alle diese Zeilen tun?

ich beziehe ich auf dieses Bild speziell: enter image description here

Antwort

0

ich es mit der nicht-vektorisierte Implementierung erklären werde mir

so MX1 Vektor dass würde? was muss dann von einem nx1-Vektor abgezogen werden?

ja es wird Ihnen m x 1 Vektor, sondern von n x 1 Vektor subtrahiert werden kann, muss es auch von m x 1 Vektor subtrahiert werden. Wie?

Ich weiß, dass h (xi) -y (i) kann als umgeschrieben werden theta * xi wobei xi mit einer Reihe von Merkmalselementen repräsentiert (1 × N) und theta A für Säule (nx1) Erzeugen eines skalaren

Sie beantworten haben es tatsächlich, theta * xi erzeugen einen Skalar, also wenn Sie m Proben haben es geben Ihnen einen mx 1 Vektor. Wenn Sie in der Gleichung genau sehen, wird das Skalarergebnis von h (xi) - y (i) mit einem Skalar multipliziert, der x0 aus Beispiel i (x sup i sub 0) ist, so wird es Ihnen einen Skalar geben Ergebnis, oder mx 1 Vektor, wenn Sie m Proben haben.

Verwandte Themen