Функция стоимости логистической регрессии не сходитсяPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Функция стоимости логистической регрессии не сходится

Сообщение Anonymous »

Я пытаюсь создать модель логистической регрессии, используя метод градиентного спуска и набор данных Iris. Но независимо от того, сколько раз я буду итерации (даже миллионы раз), функция стоимости не сходится к минимуму (она продолжает спускаться). В чем проблема?import numpy as np
from sklearn.datasets import load_iris

iris = load_iris()
X = iris.data
y = iris.target
X = X[y < 2]
y = y[y < 2]

m = X.shape[0] # the number of samples
n = X.shape[1] # the dimension of each sample

def sigmoid(x: any) -> any:
return 1 / (1 + np.exp(-x))

def cost(w: np.ndarray, b: float) -> float:
y_hat = sigmoid( X.dot(w) + b )
loss = -(y * np.log(y_hat) + (1 - y) * np.log(1 - y_hat))
return np.mean(loss)

def gradient(w: np.ndarray, b: float) -> tuple:
y_hat = sigmoid( X.dot(w) + b )
dw = X.T.dot(y_hat - y) / m
db = np.mean(y_hat - y)
return dw, db

w = np.zeros(n)
b = 0.0
alpha = 0.01
for i in range(100000):
dw, db = gradient(w, b)
tmp_w = w - alpha * dw
tmp_b = b - alpha * db
w, b = tmp_w, tmp_b
print(cost(w, b))


Подробнее здесь: https://stackoverflow.com/questions/796 ... t-converge
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»