Найти - Пользователи
Полная версия: matrices are not aligned
Начало » Python для новичков » matrices are not aligned
1
vladimircape
Добрый день, подскажите
Ну никак получается привести к необходимому виду
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))	
Alen
А где начало программы, где Traceback? Почему не PyBrain?
Alen
Никаких ошибок не наблюдаю. Проверьте файл с данными.
>>> import numpy
>>> data = numpy.loadtxt('ex2data2.txt', delimiter=',')
>>> x = data[:, 0: 2]
>>> y = data[:, 2]
>>> lambd = 0.1
>>> m = x.shape[0]
>>> initial_theta = numpy.zeros(shape=(x.shape[1], 1))
>>> x_bias = numpy.hstack((numpy.ones((m, 1)), x))
>>> theta = numpy.atleast_2d(initial_theta).transpose()
vladimircape
Alen
Никаких ошибок не наблюдаю. Проверьте файл с данными.
Файл с данными во вложении к первому сообщению там всё верно
Вот моя ошибка
Traceback (most recent call last):
File “H:\!ai\log2.py”, line 24, in <module>
compute_grad(initial_theta,x,y,lambd)
File “H:\!ai\log2.py”, line 15, in compute_grad
grad = 1.0 / m * (dot(x_bias.transpose(), sigmoid(dot(x_bias, theta)) - y))
ValueError: matrices are not aligned
Alen
Операция умножения двух матриц выполнима только в том случае, если число столбцов в первом сомножителе равно числу строк во втором. У Вас же умножаются матрицы 118х3 на 1х2:
 
>>> x_bias.shape
(118, 3)
>>> theta.shape
(1, 2)
>>> dot(x_bias, theta)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
ValueError: matrices are not aligned
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB