Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 5, 2014 15:28:57

vladimircape
Зарегистрирован: 2014-08-14
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

fmin_bfgs - Desired error not neccessarily achieved due to precision loss

Добрый день,
Использую scipy для нахождения минимума функции стоимости и выпадает такая ошибка, т.к. почему-то функция стоимости получается nan
Может ли кто-то обьяснить в чем причина ошибки вычисления и как исправить

def compute_cost(theta,X,y): 
    m = X.shape[0]    
    theta = num.reshape(theta,(len(theta),1))        
    J = (1./m) * (-num.transpose(y).dot(num.log(sigmoid(X.dot(theta)))) - num.transpose(1-y).dot(num.log(1-sigmoid(X.dot(theta)))))
    return J		
def grad(theta, X, y):
    p_1 = sigmoid(num.dot(X, theta))
    error = p_1 - y 
    grad = num.dot(error, X_1) / y.size # gradient vector
    return grad
theta_1 = opt.fmin_bfgs(compute_cost, theta, fprime=grad, args=(X_1, y))

Офлайн

#2 Сен. 5, 2014 21:21:05

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

fmin_bfgs - Desired error not neccessarily achieved due to precision loss

vladimircape
grad = num.dot(error, X_1) / y.size # gradient vector

Попробуй так:
grad = float(num.dot(error, X_1)) / y.size # gradient vector



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version