Je n'arrive pas à comprendre comment vectoriser les fonctions du cours Machine Learning disponible sur Coursera.Coursera Machine Learning: Gradient Descent vectorisation
Au cours, Andrew Ng explique que l'hypothèse peut être vectorisé à la transposition de thêta multiplié par x:
H(x) = theta' * X
Mon premier problème est quand je mets en œuvre ce exercices. Pourquoi la vectorisation sur papier est-elle la transposition de thêta multipliée par x alors que sur Octave c'est X fois thêta?
theta'*X % leads to errors while multiplying
Mon deuxième problème suit le premier.
Quand je veux vectoriser cette somme de la fonction de descente de gradient:
sum((h(x)-y)*x))
Je ne comprends pas vraiment comment vous arrivez à cette fois vectorisé:
X'*(h(x)-y)
Quelqu'un pourrait expliquer cela?
Pour répondre à cette question, il est important de connaître la taille des matrices (X, thêta, x, y ...). Btw, vous ne devriez pas utiliser '' 'comme transpose, utilisez' .'' – Andy
Merci pour votre réponse. Actuellement, ma valeur de X est une matrice 47x3 remplie de valeurs et de valeurs disponibles ici: https://github.com/yhyap/machine-learning-coursera/blob/master/mlclass-ex1/ex1data2.txt. La troisième colonne est y (matrice 47x1). Thêta est [0; 0; 0]. Dans ce cas précis, savez-vous pourquoi nous pouvons le vecotiser de cette façon? – etiennefr
Duplication possible de [Apprentissage automatique - Régression linéaire à l'aide de la descente par gradient de lot] (https://stackoverflow.com/questions/32274474/machine-learning-linear-regression-using-batch-gradient-descent) – rayryeng