93 votos

derivado de la función de coste para la regresión logística

Voy sobre las conferencias en el Aprendizaje de Máquina en Coursera.

Estoy luchando con el 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)$ es definido de la siguiente manera

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

$$ \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 podemos calcular la derivada parcial con respecto a $\theta$ de la función de costo (los registros 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}))$$

128voto

Avi Puntos 21

La razón es la siguiente. Usamos la notación

$$\theta x^i:=\theta_0+\theta_1 x^i_1+\dots+\theta_p x^i_p. $$

Entonces

$$\log h_\theta(x^i)=\log\frac{1}{1+e^{-\theta x^i} }=-\log ( 1+e^{-\theta x^i} ),$$ $$\log(1 - h_\theta(x^i))=\log(1-\frac{1}{1+e^{-\theta x^i} })=\log (e^{-\theta x^i} )-\log ( 1+e^{-\theta x^i} )=-\theta x^i-\log ( 1+e^{-\theta x^i} ),$$ [ esta usado: $ 1 = \frac{(1+e^{-\theta x^i})}{(1+e^{-\theta x^i})},$ el 1 en el numerador cancelar, a continuación, hemos utilizado: $ \log(x/y) = \log(x) - \log(y) $ ]

Desde nuestro original de la función de costo es la forma 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}))$$

Conectar los dos simplificado expresiones anteriores, se obtiene $$J(\theta)=-\frac{1}{m}\sum_{i=1}^m \left [^i(\log ( 1+e^{-\theta x^i})) + (1-y^i)(-\theta x^i-\log ( 1+e^{-\theta x^i} ))\right]$$, que se puede simplificar a: $$J(\theta)=-\frac{1}{m}\sum_{i=1}^m \left[y_i\theta x^i-\theta x^i-\log(1+e^{-\theta x^i})\right]=-\frac{1}{m}\sum_{i=1}^m \left[y_i\theta x^i-\log(1+e^{\theta x^i})\right],~~(*)$$

donde la segunda igualdad se sigue de

$$-\theta x^i-\log(1+e^{-\theta x^i})= -\left[ \log e^{\theta x^i}+ \log(1+e^{-\theta x^i} ) \right]=-\log(1+e^{\theta x^i}). $ $ [$ \log(x) + \log(y) = log(x y) $ ]

Todo lo que necesitamos ahora es calcular las derivadas parciales de $(*)$ w.r.t. $\theta_j$. Como

$$\frac{\partial}{\partial \theta_j}y_i\theta x^i=y_ix^i_j, $$ $$\frac{\partial}{\partial \theta_j}\log(1+e^{\theta x^i})=\frac{x^i_je^{\theta x^i}}{1+e^{\theta x^i}}=x^i_jh_\theta(x^i), $$

la tesis de la siguiente manera.

-1voto

mjohn1282 Puntos 315

Creo que para resolver $\theta$ por gradiente será difícil camino (o imposible?). Porque lo diferente con la clasificación lineal, no tiene forma estrecha. Así que le sugiere que se puede utilizar otro ejemplo de método método de Newton. ¿Por cierto, puedes encontrar $\theta$ usando sobre manera?

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: