У меня есть очень простой вопрос, который относится к Python, numpy и умножению матриц в настройках логистической регрессии.
Во-первых, позвольте мне извиниться за то, что не использовал математическую запись
Я запутался в использовании умножения матричных точек и поэлементного умножения. Функция стоимости определяется как:
И в 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)