5 votos

Derivada de la función sigmoidea que contiene vectores.

¿Alguien me podría mostrar cómo tomar el derivado de esta función con respecto a $w_i$ ?

$f(w) = \frac{1}{1+e^{-w^Tx}}$

$w$ y $x$ son ambos vectores $\in \mathbb{R}^D$

¿En qué se diferenciaría esto de tomar el derivado con respecto a $w$ en sí mismo?

3voto

Andrei Puntos 111

Tiene $$w^Tx=\sum_{i=1}^D w_ix_i$$ For the derivative with respect to $ w_i$ you can write the function as $$\frac 1{1+e^{-\sum_{j=1}^D w_jx_j}}=\frac 1{1+e^{-\sum_{j=1,j\ne i}^D w_jx_j}e^{-w_ix_i}}$ $ El término con la suma no contiene $w_i$ , por lo que puede considerarlo una constante cuando toma el derivado .

3voto

greg Puntos 156

Definir la variable escalar y su diferencial $$\eqalign{ \alpha &= w^Tx = x^Tw \cr d\alpha y= x^Tdw }$$ La derivada de la función logística para una variable escalar es simple. $$\eqalign{ f &= \frac{1}{1+e^{-\alpha}} \cr f' y= f-f^2 \cr }$$ Utilice esta opción para escribir el diferencial, realizar un cambio de variables, y extraer el vector gradiente. $$\eqalign{ df &= \big(f-f^2\)\, d\alpha \cr &= \big(f-f^2\)\, x^Tdw \cr y= g^Tdw \cr \frac{\partial f}{\partial w} &= g = \big(f-f^2\)\, x \cr }$$

2voto

MachineLearner Puntos 342

PS

$$f(\boldsymbol{w}) = \dfrac{1}{1+\exp\left[-\boldsymbol{w}^T\boldsymbol{x}\right]}$ $ $$\implies \dfrac{\partial f}{\partial w_i} = \dfrac{0\cdot(1+\exp\left[-\boldsymbol{w}^T\boldsymbol{x}\right])-1\cdot\dfrac{\partial}{\partial w_i}(1+\exp\left[-\boldsymbol{w}^T\boldsymbol{x}\right])}{(1+\exp\left[-\boldsymbol{w}^T\boldsymbol{x}\right])^2}$ $ $$=-\dfrac{\dfrac{\partial}{\partial w_i}(1+\exp\left[-\boldsymbol{w}^T\boldsymbol{x}\right])}{(1+\exp\left[-\boldsymbol{w}^T\boldsymbol{x}\right])^2}$ $ $$=-\dfrac{\exp\left[-\boldsymbol{w}^T\boldsymbol{x}\right]\dfrac{\partial}{\partial w_i}(-\boldsymbol{w}^T\boldsymbol{x})}{(1+\exp\left[-\boldsymbol{w}^T\boldsymbol{x}\right])^2} $ $ $$=\dfrac{\exp\left[-\boldsymbol{w}^T\boldsymbol{x}\right]x_i}{(1+\exp\left[-\boldsymbol{w}^T\boldsymbol{x}\right])^2}$ $

Si toma la derivada con respecto a $$=f(\boldsymbol{w})\left[1- f(\boldsymbol{w})\right]x_i$ , simplemente obtendrá un vector apilado de estos componentes.

1voto

Minus One-Twelfth Puntos 454

Tenemos $f(w) = \sigma(x^T w)$ (recordar que $w^Tx= x^T w)$. Por lo tanto el vector gradiente con respecto a $w$es $$ \begin{align*} \frac{\partial}{\partial w}f(w) &= \sigma'(x^T w)\frac{\partial}{\partial w}(x^T w)\\ &= \sigma(x^T w)(1-\sigma(x^T w))x\\ &= \sigma(w^T x)(1-\sigma(w^T x))x. \end{align*} $$

(La primera era la igualdad de la multivariante regla de la cadena, y la segunda por el hecho de que $\sigma'(z)= \sigma(z)(1-\sigma(z))$ e $\frac{\partial}{\partial w}(x^T w) = x$.)

Ahora que sabemos vector gradiente de $f(w)$, la derivada de $f(w)$ con respecto al $w_i$ es el $i$-ésima componente del vector gradiente. El $i$-ésima componente de $\sigma(w^T x)(1-\sigma(w^T x))x$ es $\sigma(w^T x)(1-\sigma(w^T x))x_i$. Así $$\boxed{\frac{\partial}{\partial w_i}f(w) = \sigma(w^T x)(1-\sigma(w^T x))x_i}.$$

(Por supuesto, también se puede obtener este resultado sólo diferenciando con respecto a $w_i$ desde el inicio. Los pasos serían los mismos, excepto que en lugar de calcular el $\frac{\partial}{\partial w}(x^T w)$ en uno de los pasos anteriores, podríamos calcular el $\frac{\partial}{\partial w_i}(x^T w)$, que es $x_i$.)

0voto

Robert Lewis Puntos 20996

Con

$x = (x_1, x_2, \ldots, x_n)^T \tag 1$

y

$w = (w_1, w_2, \ldots, w_n)^T, \tag 2$

tenemos

$w^Tx = \displaystyle \sum_1^n w_i x_i; \tag 3$

observamos que

$\dfrac{\partial (w^Tx)}{\partial w_j} = x_j, \; 1 \le j \le n; \tag 4$

podemos escribir

$f(w) = \dfrac{1}{1 + e^{-w^Tx}} = (1 + e^{-w^Tx})^{-1}, \tag 5$

e implementar la regla de la cadena:

$\dfrac{\partial f(w)}{\partial w_j} = \dfrac{df(w)}{d(w^Tx)} \dfrac{\partial (w^Tx)}{\partial w_j}$ $= -(1 + e^{-w^Tx})^{-2} (-e^{-w^Tx}) \dfrac{\partial (w^Tx)}{\partial w_j} = (1 + e^{-w^Tx})^{-2} (e^{-w^Tx}) x_j = \dfrac{e^{-w^Tx} x_j}{(1 + e^{-w^Tx})^{-2}}. \tag 6$

Lo anterior muestra cómo se forman los derivados con respecto a la persona $w_i$; para tomar la derivada con respecto al $w$, pedimos una vez más en la regla de la cadena, pero en lugar de (6) tenemos

$\dfrac{\partial f(w)}{\partial w} = \dfrac{df(w)}{d(w^Tx)} \dfrac{\partial (w^Tx)}{\partial w} = (1 + e^{-w^Tx})^{-2} (e^{-w^Tx})\dfrac{\partial (w^Tx)}{\partial w}, \tag 7$

de donde se sigue para evaluar

$\dfrac{\partial (w^Tx)}{\partial w}; \tag 8$

pero esto es sencillo; se forma la diferencia

$(w + \Delta w)^T x - w^Tx = w^Tx + \Delta w^T x - w^Tx = \Delta w^T x, \tag 9$

de dónde

$(w + \Delta w)^T x - w^Tx - \Delta w^T x = 0, \tag{10}$

que los rendimientos de

$\Vert (w + \Delta w)^T x - w^Tx - \Delta w^T x \Vert = 0, \tag{11}$

independientemente de $\Vert \Delta w \Vert$; desde entonces se sigue que

$\dfrac{\Vert (w + \Delta w)^T x - w^Tx - \Delta w^T x \Vert}{\Vert \Delta w \Vert} = 0, \; \forall \Delta w \ne 0, \tag{12}$

podemos concluir que el lineal mapa

$\Delta w \to \Delta w^T x \tag{13}$

es el buscado derivados (8); se deduce entonces que (7) puede ser escrita

$\dfrac{\partial f(w)}{\partial w} = \dfrac{df(w)}{d(w^Tx)} \dfrac{\partial (w^Tx)}{\partial w} = (1 + e^{-w^Tx})^{-2} (e^{-w^Tx})(\cdot)^Tx; \tag{14}$

se nota que este es el lineal de asignación de $\Bbb R^n \to \Bbb R$ dada por

$\Delta w \mapsto \dfrac{ e^{-w^Tx}}{ (1 + e^{-w^Tx})^2} \Delta w^T x. \tag{15}$

Podemos convertir esto en algo más de forma normativa a través de la observación de que, desde el $\Delta w^T x \in \Bbb R$ es una cantidad escalar,

$\Delta w^T x = (\Delta w^T x)^T = x^T (\Delta w^T)^T = x^T \Delta w, \tag{16}$

y por lo tanto (15) se convierte en

$\Delta w \mapsto \dfrac{ e^{-w^Tx}}{ (1 + e^{-w^Tx})^2} x^T \Delta w, \tag{17}$

así que en última encontrar

$\dfrac{\partial f(w)}{\partial w} = \dfrac{df(w)}{d(w^Tx)} \dfrac{\partial (w^Tx)}{\partial w} = \dfrac{ e^{-w^Tx}}{ (1 + e^{-w^Tx})^2} x^T, \tag{18}$

es el derivado de la buscamos.

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