0
計算ロジスティック回帰を使用したいので、私はfmin_bfgsを使用しています。 しかしグラデーションを使用しようと、それはこのようなエラーを与えながら:fmin_bfgsの勾配を使用
ValueError: operands could not be broadcast together with shapes (5,25) (5,)
fmin_bfgsを使用していないが、それは勾配罰金を計算します。ここで
は私のコードの一部です:ここで
theta, J = fmin_bfgs(costfunction, \
initial_theta , fprime = gradient, args = (X,y==c,lmd))
all_theta[:,c] = theta
は、私は、勾配を計算する方法である:
def gradient(theta,X,y,lmd):
m = len(y)
n = len(theta)
z = np.dot((np.transpose(X)),theta)
h = sigmoid(z)
y = np.reshape(y , (-1,1))
h.reshape(m,1)
grad = np.dot(X , (h-y))/m
#print('grad shape %d'%(grad.shape))
print('grad %d'%(grad))
temp = theta
temp[0] = 0
grad = grad + (lmd/m)*temp
return grad
データの例を追加してください。ノイズを含むデータを生成する関数に最適ですか?完全でありながら最小限の作業例の作成方法については、[mcve]を参照してください。 – roadrunner66
最後の行だけでなく、例外の完全なトレースバックを表示してください –