У мене дуже основне питання, яке стосується Python, нумерування та множення матриць при встановленні логістичної регресії.
По-перше, дозвольте мені попросити вибачення за те, що не використовую математичні позначення.
Мене плутає використання матричного множення крапок проти мультиплікаційного множення елементів. Функція витрат задається:
І в python я написав це як
cost = -1/m * np.sum(Y * np.log(A) + (1-Y) * (np.log(1-A)))
Але, наприклад, цей вираз (перший - похідна J відносно w)
є
dw = 1/m * np.dot(X, dz.T)
Я не розумію, чому правильно використовувати множення точок у вищезазначеному, але використовувати мультиплікаційне множення елементів у функції витрат, тобто чому ні:
cost = -1/m * np.sum(np.dot(Y,np.log(A)) + np.dot(1-Y, np.log(1-A)))
Я повністю розумію, що це детально не пояснено, але я здогадуюсь, що питання настільки просте, що будь-хто, хто має навіть базовий досвід логістичної регресії, зрозуміє мою проблему.
Y * np.log(A)
np.dot(X, dz.T)