Logistic Regession宗旨是以线性分割面分割各类别 logPr(Y=j∣x)Pr(Y=i∣x) .同时保持各类别的概率和为1.
LR依从 bayesian 法则,即它对样本的分类是看哪个类别的概率最大:
G(x)=argkmaxPr(Y=k∣x) 因此类别i和j的分界面由决定
Pr(Y=i∣x)=Pr(Y=j∣x) 各类别概率
logP(Y=k∣x)P(Y=1∣x)=w1⋅xlogP(Y=k∣x)P(Y=2∣x)=w2⋅x.....logP(Y=k∣x)P(Y=k−1∣x)=wk−1⋅xP(Y=1∣x)=P(Y=k∣x)exp(w1⋅x)P(Y=2∣x)=P(Y=k∣x)exp(w2⋅x).....P(Y=k−1∣x)=P(Y=k∣x)exp(wk−1⋅x)P(Y=k∣x)=1+∑k=1K−1exp(wk⋅x)1P(Y=1∣x)=1+∑k=1K−1exp(wk⋅x)exp(w1⋅x)P(Y=2∣x)=1+∑k=1K−1exp(wk⋅x)exp(w2⋅x) 这个过程都是P(Y=k∣x)倍数,若
P(Y=k∣x)=∑k=1Kexp(wk⋅x)exp(wk⋅x)则P(Y=1∣x)=∑k=1Kexp(wk⋅x)exp(w1⋅x)P(Y=2∣x)=∑k=1Kexp(wk⋅x)exp(w2⋅x) 则,这就是softmax。
怎么感觉像无向图模型中一般用的势能函数一样。给每个类别赋一个势能,然后归一化。然后求势能最大的那个类别。
所以
pj=∑iKexp(wix)exp(wjx) softmax loss
一般分类的估计就是使用(负对数)极大似然估计(negative log-likelihood ), 二分类的最大似然就是交叉熵。
L(f(xi,θ),yi)=−m1logi=1∏mk=1∏Kpi,k1(yi=k)+λk=1∑∣θk∣=−m1i=1∑mk=1∑K1(yi=k)log∑jexp(f(xi,θ))exp(f(xi,θ))+λk=1∑∣θk∣ 来个简化版的:
L(xi,θk,yi)=−m1logi=1∏mk=1∏Kpi,k1(yi=k)=−m1i=1∑m1(yi=k)log∑jexp(xiθk)exp(xiθk) 求导得:
∂θk∂L=−m1i=1∑mxi[1(yi=k)−p(yi=k∣xi;θk)] 向量化表示
h(η)=∑keηk1eη1eη2⋮eηKJ=−k=1∑K1{y=k}log(hk)∂η∂J=h−eyey是第y个元素为1,其余为0的列向量 然后对于全部样本,优化函数为:
L=−n=1∑Neylog(h(η))∂η∂L=n=1∑N(h−ey) 参考佳文
探究最陌生的老朋友Softmax
Softmax vs. Softmax-Loss: Numerical Stability
softmax回归
Softmax回归
Caffe Softmax层的实现原理
Softmax与交叉熵的数学意义
ArcFace,CosFace,SphereFace,三种人脸识别算法的损失函数的设计