softmax 与 logistic Regression

来源:互联网 发布:淘宝商品7天自动下架 编辑:程序博客网 时间:2024/05/21 08:38

1. 分类模型的内在

  

sampleF(θ)label

  假设,其中x>y服从某种分布F(θ),那么可以用训练集找到一个θ解,来近似xy的真实分布。

2. Logistic Regression和Softmax的定义

2.1 LR

  针对二分类1/0的情况。
  假设分布如下:
  

{p(y=1|x;θ)=h(x;θ)p(y=0|x;θ)=1p(y=1|x;θ)=1h(x;θ)

  其中:h(x;θ)=sigmoid(x;θ)=11+eθx
  化简下得到:
p(y|x;θ)=(h(x;θ))y(1h(x;θ))1y

  当p(y=1|x;θ)>0.5时,判为1类。

2.2 softmax

  针对多分类的情况,一个样本仅有一个最优label。
  假设分布如下:
  

p(y=j|x;θ)=eθjxkl=1eθlx

  取p(y=j|x;θ)最大时的j,判断为j类。

3. 两者的联系

  逻辑回归,是将回归值θx压缩映射到[0,1]区间上,构造了0/1的概率分布。
  softmax,是将多回归值θjx归一化压缩映射到[0,1]区间上,构造了k-label的概率分布。
  当softmax的类别k=2时,
  

p(y=1|x;θ)=eθ1xeθ1x+eθ0x

  p(y=1|x;θ)=11+e(θ0θ1)x
  判断了1类,则可以知道0类,则若是取θ=0向量,则softmax退化为LR。
  当样本只属于一个类,而不是多个类时,可以使用softmax,但是若一个样本可以同属于多个类,则最好用多个LR模型来搞。softmax很明显,更适合搞定one-vs-rest问题。

4. softmax 的over-weight

  

p(y=j|x;θ)=eθjxkl=1eθlx=e(θjψ)xkl=1e(θlψ)x

  可以看到,参数θ中,可以去掉ψ而不影响解,意味着存在多余的参数导致这一现象。

5. 构造loss函数,求解

  可以选择不同的策略,来构造不同的loss函数。
  a) 比如,可以直接使用最小误差
  

minθEerror=imTrue[labelreal(xi),labelpred(xi;θ)]

  其中,True[labelreal(xi),labelpred(xi;θ)]={1,if:reallabel==predlabel0,if:reallabelpredlabel
  b) 比如,可以直接使用最小二次误差
  
minθEerror=imlog|ppred(xi;θ)yreal(xi)|2

  c) 比如,根据max log-likehood(最大似然:找到分布的一组参数θ,使得当前已知样本出现的概率最大)
  
maxθElikehood=imp(y|x;θ)

  等价于
maxθEloglikehood=imlog[p(y|x;θ)]

  d) 比如,根据min relative-entropy(与最小化交叉熵是一致cross-entropy(p, q) = H(p) + relative-entropy(p,q),最小化相关熵[分布间相似距离的描述,也叫KL-diverce],即最小化交叉熵[cross-entropy])
  
minθEcrossentropy=impreal(label=j|xi)log[ppred(label=j|xi;θ)]

  其中preal(label=j|xi)={1,if:labe(xi)real==j0,if:label(xi)realj
  其中ppred(label=j|xi;θ)=p(y=j|x;θ)=eθjxkl=1eθlx
  或者,其他loss策略。

0 0