Ich habe Probleme zu verstehen, wie Funktionen auf dem Machine Learning-Kurs, der auf Coursera verfügbar ist, zu vektorisieren.Coursera Maschinelles Lernen: Gradientenabstieg Vektorisierung
Im Kurs Andrew Ng erklärt, dass die Hypothese der transponierte Theta von x multipliziert vektorisiert werden kann:
H(x) = theta' * X
Mein erstes Problem ist, wenn ich diese Übungen auf implementieren. Warum ist die Vektorisierung auf Papier die Transponierte von Theta multipliziert mit x, während auf Oktave X mal Theta ist?
theta'*X % leads to errors while multiplying
Mein zweites Problem folgen dem ersten.
Wenn ich diese Summe der Gradientenabfallsaktualisierung Funktion vektorisieren wollen:
sum((h(x)-y)*x))
Ich verstehe nicht wirklich, wie Sie auf diese einmal vektorisiert erhalten:
X'*(h(x)-y)
Jeder konnte das erklären?
Um dies zu beantworten, ist es wichtig, die Größe der Matrizen zu kennen (X, Theta, X, Y ...). Btw, du solltest nicht '' 'als Transponieren verwenden' .'' – Andy
Danke für deine Antwort. Derzeit ist mein Wert von X eine 47x3-Matrix, gefüllt mit Einsen und Werten, die hier verfügbar sind: https://github.com/yhyap/machine-learning-courera/blob/master/mlclass-ex1/ex1data2.txt. Die dritte Spalte ist y (47x1-Matrix). Theta ist [0; 0; 0]. Wissen Sie in diesem speziellen Fall, warum wir es auf diese Weise bewerten können? – etiennefr
Mögliches Duplikat von [Maschinelles Lernen - Lineare Regression mit Batch-Gradienten-Abstieg] (https://stackoverflow.com/questions/32274474/machine-learning-linearre-regression-using-batch-gradient-descent) – rayryeng