Ну никак получается привести к необходимому виду
def sigmoid(X): den = 1.0 + e ** (-1.0 * X) d = 1.0 / den return d def compute_grad(theta,x,y,lambd): """ Calculate the gradient of J: grad = 1 / m * (X' * (sigmoid(X * theta) - y)) grad(2 : end) += lambda / m * theta(2 : end) """ m = x.shape[0] x_bias = hstack((ones((m, 1)), x)) theta = atleast_2d(theta).transpose() grad = 1.0 / m * (dot(x_bias.transpose(), sigmoid(dot(x_bias, theta)) - y)) grad[1 : :] += lambd / m * theta[1 : :] return grad.ravel() data = loadtxt('ex2data2.txt', delimiter=',') x = data[:, 0:2] y = data[:, 2] lambd = 0.1 m = x.shape[0] initial_theta = zeros(shape=(x.shape[1], 1)) compute_grad(initial_theta,x,y,lambd)
x_bias = hstack((ones((m, 1)), x))