私はtheta関数を計算するための普遍的な方程式の作成に取り組んできました。私が持っている現在の方程式は普遍的ではありません。これは最大2テタまで有効です。私がthetaの計算を2以上にしなければならない場合は、括弧内の数字を手動で変更する必要があります。theta()
。普遍的なコードを作成する
ユニバーサル機能を設定する方法はありますか? thata(j) = equation
のようなものです。私は以下の2つのコードを貼り付けました。一つは動作していますが普遍的ではなく、もう一つは演奏しようとしたが、まだエラーで終わったものです。
コード1:
for iter = 1:num_iters
theta(1) = theta(1) - (alpha/m)*((X*theta-y)')*X(:,1),
theta(2) = theta(2) - (alpha/m)*((X*theta-y)')*X(:,2);
theta_hist(iter,1) = theta(1);
theta_hist(iter,2) = theta(2);
end
コード2:
num_cols = size(X,2)
for inter = 1:num_iters
for j = 1:num_cols
theta(j) = theta(j) - (alpha/m)*((X*theta-y)')*X(:,j),
end,
end,
このコードの課題は、そのコードがループ二回通過する場合(i
= 1、j
= 2) 。関数は、thetaの新しい値を使用しています。これは計算を台無しにしています。
ご意見やご提案をいただければ幸いです。この問題の
詳しい説明は以下のリンクに記載されている: https://docs.google.com/document/d/1XwAVV1OBN9BhQ7n60F2oEUoT263t_2hcAAuCaroR-2g/edit?usp=sharing
これはRコードではありません。正しい言語タグを追加してください。 – Roland
申し訳ありませんが、私はRとOctaveで作業していました。そして混乱した。修正をありがとう。 – blackknight316
すべての入力変数の次元は何ですか(一般的な場合)? –