LR可以看成是Softmax的特例。 LR主要是用于二分类,如果面临的是多分类问题,可以用Softmax。Softmax通常也是深度学习图像识别网络的最后一层。
![](http://images2015.cnblns.com/bln/1174358/201706/1174358-20170627010735836-1114036742.png)
在LR中,参数 θ 是一个向量,而在Softmax中,参数可以看成是一个矩阵。也就是每一个输出都对应着一个参数向量:
hθ(xi)=⎡⎣⎢⎢⎢⎢⎢p(yi=1|xi;θ)p(yi=2|xi;θ)⋮p(yi=k|xi;θ)⎤⎦⎥⎥⎥⎥⎥=1∑kj=1eθTj⋅xi⎡⎣⎢⎢⎢⎢⎢⎢eθT1⋅xieθT2⋅xi⋮eθTk⋅xi⎤⎦⎥⎥⎥⎥⎥⎥
其中 k 是类别数。这里
xi、yi
的下标表示第i个数据。
θk
的下标表示第k类对应的参数向量。
这样,与LR类似,将上式写在一起:
p(yi|xi;θ)=∏j=1k⎛⎝eθTjxi∑kj=1eθTj⋅xi⎞⎠I(yi=j)
I 是[0,1]的判别函数。
概率形式有了就可以写出最大似然:
L(θ)=∏i=1mp(yi|xi;θ)
取对数:
l(θ)=lnL(θ)=ln∏i=1mp(yi|xi;θ)=ln∏i=1m∏j=1k⎛⎝eθTjxi∑kj=1eθTj⋅xi⎞⎠I(yi=j)=∑i=1m∑j=1kI(yi=j)ln⎛⎝eθTjxi∑kj=1eθTj⋅xi⎞⎠=∑i=1m∑j=1kI(yi=j)⎡⎣lneθTjxi−ln∑j=1keθTj⋅xi⎤⎦
对
θj
的第
p
个分量
∂l(θ)∂θpj=∑i=1m⎡⎣I(yi=j)⎡⎣xpi−eθTj⋅xi∑kj=1eθTj⋅xixpi⎤⎦⎤⎦=∑i=1mxpi[I(yi=j)−p(yi=j|xi;θ)]
之后用梯度下降法就可以了。推导的关键之处就是写出概率表示 p(yi|xi;θ) 。