Matlab でバッチ勾配降下法を実装しています。の更新手順に問題がありtheta
ます。
theta
2 つの成分 (2 行) のベクトルです。
行 (トレーニング サンプルの数)と列 (特徴の数)X
を含む行列です。Yは行ベクトルです。m
n=2
m
更新ステップ中に、それぞれtheta(i)
を次のように設定する必要があります
theta(i) = theta(i) - (alpha/m)*sum((X*theta-y).*X(:,i))
これはfor
ループで実行できますが、ベクトル化する方法がわかりません (X(:,i)
用語のため)。
なにか提案を?