Я выполняю спуск градиента партии на Matlab. У меня проблема с этапом обновления theta
.
theta
- вектор двух компонентов (две строки).
X
- это матрица, содержащая строки m
(количество обучающих образцов) и столбцы n=2
(количество функций).
Y является вектором строк m
.
Во время этапа обновления мне нужно установить каждый theta(i)
в
theta(i) = theta(i) - (alpha/m)*sum((X*theta-y).*X(:,i))
Это можно сделать с помощью цикла for
, но я не могу понять, как его векторизовать (из-за термина X(:,i)
).
Любое предложение?