Уточнение при расчете регуляризованной функции затрат для логистической c регрессии с использованием python - PullRequest
0 голосов
/ 02 августа 2020

Ниже приведен код для нахождения регуляризованной функции стоимости и градиента (производной функции стоимости по тета). Я понимаю математику, стоящую за этим, и то, что мы пытаемся здесь сделать.

def costFunctionReg(theta, X, y, lambda_):
    
    h = sigmoid(X.dot(theta.T))
    
    temp = theta
    temp[0] = 0
    
    J = (1 / m) * np.sum(-y.dot(np.log(h)) - (1 - y).dot(np.log(1 - h))) + (lambda_ / (2 * m)) * np.sum(np.square(temp))
    
    grad = (1 / m) * (h - y).dot(X) 
    grad = grad + (lambda_ / m) * temp
    
    return J, grad

Здесь

  • theta: array_like Logisti c параметры регрессии. Вектор с формой (n, )
  • X: array_like Набор данных с формой (m, n).
  • y: array_like Метки данных. Вектор с формой (m, ).

и

  • lambda_: float Параметр регуляризации.

Но я не понимаю почему они сделали temp[0] = 0?

...