Ich habe eine sehr grundlegende Frage, die sich auf Python, Numpy und Multiplikation von Matrizen im Rahmen der logistischen Regression bezieht.
Lassen Sie mich zunächst entschuldigen, dass ich keine mathematische Notation verwende.
Ich bin verwirrt über die Verwendung der Matrixpunktmultiplikation gegenüber der elementweisen Multiplikation. Die Kostenfunktion ist gegeben durch:
Und in Python habe ich das geschrieben als
cost = -1/m * np.sum(Y * np.log(A) + (1-Y) * (np.log(1-A)))
Aber zum Beispiel dieser Ausdruck (der erste - die Ableitung von J in Bezug auf w)
ist
dw = 1/m * np.dot(X, dz.T)
Ich verstehe nicht, warum es richtig ist, die Punktmultiplikation oben zu verwenden, aber verwende die elementweise Multiplikation in der Kostenfunktion, dh warum nicht:
cost = -1/m * np.sum(np.dot(Y,np.log(A)) + np.dot(1-Y, np.log(1-A)))
Ich verstehe voll und ganz, dass dies nicht ausführlich erklärt wird, aber ich vermute, dass die Frage so einfach ist, dass jeder, der selbst über grundlegende Erfahrungen mit logistischen Regressionen verfügt, mein Problem verstehen wird.
Y * np.log(A)
np.dot(X, dz.T)