123 votos

derivada de la función de coste para la Regresión Logística

Estoy repasando las conferencias sobre Machine Learning en Coursera.

Estoy luchando con lo siguiente. ¿Cómo puede la derivada parcial de

$$J(\theta)=-\frac{1}{m}\sum_{i=1}^{m}y^{i}\log(h_\theta(x^{i}))+(1-y^{i})\log(1-h_\theta(x^{i}))$$

donde $h_{\theta}(x)$ se define como sigue

$$h_{\theta}(x)=g(\theta^{T}x)$$ $$g(z)=\frac{1}{1+e^{-z}}$$

sea $$ \frac{\partial}{\partial\theta_{j}}J(\theta) =\sum_{i=1}^{m}(h_\theta(x^{i})-y^i)x_j^i$$

En otras palabras, ¿cómo podríamos calcular la derivada parcial con respecto a $\theta$ de la función de costes (los logaritmos son logaritmos naturales):

$$J(\theta)=-\frac{1}{m}\sum_{i=1}^{m}y^{i}\log(h_\theta(x^{i}))+(1-y^{i})\log(1-h_\theta(x^{i}))$$

0 votos

Creo que para resolver $\theta$ por gradiente será difícil (¿o imposible?). Porque es diferente a la clasificación lineal, no tendrá una forma cercana. Así que le sugiero que utilice otro método, por ejemplo Método de Newton . Por cierto, ¿te parece que $\theta$ ¿usando la forma anterior?

6 votos

Falta $\frac{1}{m}$ para la derivada del Coste

3voto

Junghak Ahn Puntos 21

$${ J(\theta)=-\frac{1}{m} \sum_{i=1}^{m} y^i\log(h_\theta(x^i))+(1-y^i)\log(1-h_\theta(x^i)) }$$ donde $h_\theta(x)$ se define como sigue $${ h_\theta(x)=g(\theta^Tx), }$$ $${ g(z)=\frac{1}{1+e^{-z}} }$$ Tenga en cuenta que $g(z)'=g(z)*(1-g(z))$ y podemos escribir simplemente el lado derecho de la suma como $${ y\log(g)+(1-y)\log(1-g) }$$ y la derivada de la misma como $${ y \frac{1}{g}g'+(1-y) \left( \frac{1}{1-g}\right) (-g') \\ =\left( \frac{y}{g}- \frac{1-y}{1-g}\right) g' \\ = \frac{y(1-g)-g(1-y)}{g(1-g)}g' \\ = \frac{y-y*g-g+g*y}{g(1-g)}g' \\ = \frac{y-y*g-g+g*y}{g(1-g)}g(1-g)*x \\ =(y-g)*x }$$

y entonces podemos reescribir lo anterior como $${ \frac{\partial}{\partial\theta_{j}}J(\theta) =\frac{1}{m}\sum_{i=1}^{m}(h_\theta(x^{i})-y^i)x_j^i }$$

1voto

TSRTSR Puntos 11

Fíjate en eso,

$$\frac{\partial}{\partial\theta_j}y_i\theta x^i = \frac{\partial}{\partial\theta_j}y_i(\theta_0 + \theta_1x^i_1 + ... + \theta_jx^i_j)= $$ en este $\partial\theta_j$ derivado de la orden, $y_i$ es una constante, por lo que $$=y_i\frac{\partial}{\partial\theta_j}(\theta_0 + \theta_1x^i_1 + ... + \theta_jx^i_j)=$$ porque es un modelo lineal ( $\frac{\partial}{\partial \theta}k\theta = k$ ), por lo que $$=y_i(0 + x^i_1 + ... + x^i_j)=$$ $$=y_ix^i_j$$ Finalmente, $$\frac{\partial}{\partial\theta_j}y_i\theta x^i = y_ix^i_j$$

-1voto

mjohn1282 Puntos 315

Creo que para resolver $\theta$ por gradiente será difícil (¿o imposible?). Porque es diferente a la clasificación lineal, no tendrá una forma cercana. Así que le sugiero que utilice otro método, por ejemplo Método de Newton . Por cierto, ¿te parece que $\theta$ ¿usando la forma anterior?

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X