ロジスティック回帰の設定におけるPython、numpyおよび行列の乗算に関連する非常に基本的な質問があります。
まず、数学表記を使用していないことをおaび申し上げます。
マトリックスドット乗算と要素ごとのプルティプリケーションの使用について混乱しています。コスト関数は次のように与えられます:
そして、Pythonで私はこれを次のように書いています
cost = -1/m * np.sum(Y * np.log(A) + (1-Y) * (np.log(1-A)))
しかし、たとえばこの式(最初の式-wに関するJの微分)
は
dw = 1/m * np.dot(X, dz.T)
上記でドット乗算を使用するのが正しい理由がわかりませんが、コスト関数では要素ごとの乗算を使用します。
cost = -1/m * np.sum(np.dot(Y,np.log(A)) + np.dot(1-Y, np.log(1-A)))
これは詳しく説明されていませんが、質問は非常に単純なので、基本的なロジスティック回帰の経験がある人でも私の問題を理解できると思います。
Y * np.log(A)
np.dot(X, dz.T)