J'ai une question très basique qui concerne Python, numpy et la multiplication des matrices dans le cadre de la régression logistique.
Tout d'abord, permettez-moi de m'excuser de ne pas utiliser la notation mathématique.
Je suis confus quant à l'utilisation de la multiplication matricielle par rapport à la multiplication par éléments. La fonction de coût est donnée par:
Et en python, j'ai écrit ceci comme
cost = -1/m * np.sum(Y * np.log(A) + (1-Y) * (np.log(1-A)))
Mais par exemple cette expression (la première - la dérivée de J par rapport à w)
est
dw = 1/m * np.dot(X, dz.T)
Je ne comprends pas pourquoi il est correct d'utiliser la multiplication par points dans ce qui précède, mais utilisez la multiplication par élément dans la fonction de coût, c'est-à-dire pourquoi pas:
cost = -1/m * np.sum(np.dot(Y,np.log(A)) + np.dot(1-Y, np.log(1-A)))
Je comprends parfaitement que ce n'est pas expliqué de manière détaillée, mais je suppose que la question est si simple que toute personne ayant une expérience de régression logistique, même de base, comprendra mon problème.
Y * np.log(A)
np.dot(X, dz.T)