Pythonでロジスティック回帰を試しています。最急降下法を介してコスト関数の最小化が行われるバージョンを実装しました。次に、scipy( scipy.optimize.fmin_bfgs )のBFGSアルゴリズムを使用したいと思います。
データのセットがあります(行列Xの特徴、Xのすべての行に1つのサンプル、垂直ベクトルyの対応するラベル)。最小化するパラメータシータを見つけようとしています:
fmin_bfgsが正確にどのように機能するかを理解するのに苦労しています。私がそれを得る限り、私は最小化される関数とシータの初期値のセットを渡さなければなりません。
私は次のことをします:
initial_values = numpy.zeros((len(X[0]), 1))
myargs = (X, y)
theta = scipy.optimize.fmin_bfgs(computeCost, x0=initial_values, args=myargs)
ここで、computeCostは上記のようにJ(Thetas)を計算します。しかし、インデックス関連のエラーが発生するため、fmin_bfgsが期待するものを提供していないと思います。
誰かがこれに光を当てることができますか?