UFLDL Softmax Regression 推导

Softmax Regression

Logistic regression通常用来解决二分类问题,解决多分类问题通常就要用到softmax regression。给定一个样例x,假设我们想要计算出x属于k {1,2,3...K} 的概率 P{y=k|x} 可以使用如下的公式:

hθ(x)=P(y=1|x;θ)P(y=2|x;θ)P(y=K|x;θ)=1Kj=1exp(θ(j)Tx)exp(θ(1)Tx)exp(θ(1)Tx)exp(θ(1)Tx)

其中 θ1,θ2...θkRn 是模型的参数,其中 1kj=1exp(θ(j)Tx) 是标准化项,使得所有类的概率相加等于1, θ 是一个n*k的系数矩阵,具有如下形式:
[θ1θ2θK]

Cost function

在cost function中使用指示函数,1{true} = 1,1{false} = 0,cost function具有如下形式:

J(θ)=[i=1mk=1K1{yi=k}logexp(θ(k)Txi)Kj=1exp(θ(j)Txi)]

对每一个 θl 求导, l{1,2...K}
J(θ)θl=i=1m[Kk=11{yi=k}logexp(θ(k)Txi)Kj=1exp(θ(j)Txi)θl]

当l=k时
1{yi=k}logexp(θ(k)Txi)Kj=1exp(θ(j)Txi)θl={yi=k}Kj=1exp(θ(j)Txi)exp(θ(k)Txi)xiexp(θ(k)Txi)Kj=1exp(θ(j)Txi)xiexp(θ(k)Txi)exp(θ(k)Txi)Kj=1exp(θ(j)Txi)2=xi(1exp(θ(k)Txi)Kj=1exp(θ(j)Txi))=xi(1P(yi=k|xi;θ)=xi(1{yi=k}P(yi=k|xi;θ))

lk
1{yi=k}logexp(θ(k)Txi)Kj=1exp(θ(j)Txi)θl={yi=k}Kj=1exp(θ(j)Txi)exp(θ(k)Txi)0xiexp(θ(k)Txi)exp(θ(k)Txi)Kj=1exp(θ(j)Txi)2=xi(0exp(θ(k)Txi)Kj=1exp(θ(j)Txi))=xi(0P(yi=k|xi;θ))=xi(1{yi=k}P(yi=k|xi;θ))

所以
J(θ)θl=i=1m[xi(1{yi=k}P(yi=k|xi;θ))]

Softmax Regression参数特点

Softmax Regression回归所求得参数是一个冗余的参数集,把得到的每一个参数 θl 同时减去 φ ,并不影响预测结果,此时 θl 都变成了 θlφ,l{1,2,3..K} ,数学推导如下:

P(yi=k|xi;θ)=exp((θ(k)φ)Txi)Kj=1exp((θjφ)xi)=exp(θ(k)Txi)exp(φTxi)Kj=1exp(θ(j)Txi)exp(φTxi)=exp(θ(k)Txi)Kj=1exp(θ(j)Txi)

为了避免求得的是一个冗余的参数集,可以考虑在cost function中加入一个正则化项,加入正则项后的cost function和导数表达式如下:
J(θ)=[i=1mk=1K1{yi=k}logexp(θ(k)Txi)Kj=1exp(θ(j)Txi)]+λ/2i=1kj=1mθ2ij

J(θ)θl=i=1m[xi(1{yi=k}P(yi=k|xi;θ))]+λθl

最后exercise练习如下:

  yLabel = full(sparse(y, 1:m, 1));   
  yLabel = yLabel(1:num_classes-1,:);  
  M = exp(theta'*X);
  p = bsxfun(@rdivide,M,sum(M));
  f = - yLabel(:)'*log(p(:));
  g = - X*(yLabel - p)';
  g = g(:,1:num_classes - 1); 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值