吴恩达Coursera课程中逻辑回归偏导数符号疑问
为什么逻辑回归损失函数偏导数的第二项是正的?
嘿,这个问题戳中了很多人第一次推导时的误区!咱们一步步把这个偏导数的计算拆解开,就能把符号的来龙去脉搞清楚了。
首先,先把损失函数重新写一下,把外层的负号分配到括号里,这样求导时更直观:
$$\mathcal L(a,y) = -y\log a - (1 - y)\log (1 -a)$$
现在我们对$a$求偏导$\frac{\partial \mathcal L}{\partial a}$,分两项分别计算:
第一项:$-y\log a$对$a$的导数
对$\log a$求导的结果是$\frac{1}{a}$,所以这一项的导数是:
$$\frac{\partial}{\partial a}(-y\log a) = -y \cdot \frac{1}{a} = -\frac{y}{a}$$
这部分应该没什么疑问。第二项:$-(1-y)\log(1-a)$对$a$的导数
这里要用到链式法则:先对$\log(1-a)$求导,再乘以内层函数$(1-a)$对$a$的导数。- 首先,$\log(u)$对$u$的导数是$\frac{1}{u}$,这里$u=1-a$,所以$\log(1-a)$对$u$的导数是$\frac{1}{1-a}$;
- 然后,$u=1-a$对$a$的导数是$-1$;
- 把这两部分乘起来,$\log(1-a)$对$a$的导数就是$\frac{1}{1-a} \cdot (-1) = -\frac{1}{1-a}$;
- 最后乘以第二项的系数$-(1-y)$,得到:
$$\frac{\partial}{\partial a}\left(-(1-y)\log(1-a)\right) = -(1-y) \cdot \left(-\frac{1}{1-a}\right) = \frac{1-y}{1-a}$$
看到没?这里的两个负号(一个来自系数,一个来自链式法则的内层导数)抵消了,所以结果是正的!
把两项的导数加起来,就得到了课程里的结果:
$$\frac{\partial \mathcal L(a, y)}{\partial a} = - \frac y a + \frac{1-y}{1-a}$$
额外验证一下
我们可以用特殊值来验证:
- 当$y=0$时,损失函数简化为$\mathcal L = -\log(1-a)$,对$a$求导的结果是$\frac{1}{1-a}$,和公式里$\frac{1-0}{1-a}$完全一致;
- 当$y=1$时,损失函数简化为$\mathcal L = -\log a$,对$a$求导的结果是$-\frac{1}{a}$,也和公式里$-\frac{1}{a}$一致。
这样是不是就完全明白符号的来由啦?
内容的提问来源于stack exchange,提问作者Tom Hale
相关产品推荐
相关产品推荐

