前言
关于softmax回归,有比较多的资料,本来没有必要再写一次的。下面是一些网址:
1)http://deeplearning.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92
2)http://ufldl.stanford.edu/wiki/index.php/Softmax_Regression
3)http://blog.csdn.net/acdreamers/article/details/44663305
4)http://www.cnblogs.com/fanyabo/p/4060498.html
还有很多, 不一一列出。
softmax 中的导数是怎样得到的?
为什么对网站上给出的目标函数直接求导是不对的?
为了解答这些问题,我决定写这篇文章。
注: 如果你认为我是错的,请让我知道,先谢过了。
问题提出
按定义(一般资料中的定义),softmax的似然函数为:
∏i∏kPk(xi)I(y(i)=k)
其中 k∈{ 1,2,⋯,K} , i∈{ 1,2,⋯,N} , Pk(xi) 按softmax概率定义有:
Pk(xi)=eθTkxi∑Kl=1eθTlxi
对似然函数取负对数,求匀值,引入正则项,得到目标函数/损失函数,如下:
J(θ)=−1N∑i∑k(I(y(i)=k)lneθTkxi∑Kl=1eθTlxi)+λ2∥θ∥22
这与网站上的一致,当然也是正确的。接下来是求导,如下:
∂J(θ)∂θj=−1N