02-13 Softmax回归


更新、更全的《机器学习》的更新网站,更有python、go、数据结构与算法、爬虫、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11686958.html

Softmax回归

Softmax回归属于多分类c1,c2,,ck模型,它通过估计某个样本属于k个类别的各自的概率达到多分类的目的。它是逻辑回归的一般形式,即当k=2的时候退化为逻辑回归。

一、Softmax回归详解

1.1 让步比

由于softmax回归更多的是逻辑回归的多分类形式,此处只给出softmax的定义及公式。
让步比可以理解成有利于某一特定事件的概率,可以定义为

p1p

在已知二分类问题的情况下每个分类的概率分别为yi^1yi^,可以定义logit函数,即让步比的对数形式(log-odds)为

(1)logit(yi^)=logp(y=1|x,ω)p(y=0|x,ω)(2)=logyi^1yi^(3)=log11+eωTxωTx1+eωTx(4)=ωTx

其中logit(p)函数等于事件发生的概率除以不发生的概率取对数,即表示特征值和对数概率之间的线性关系。

1.2 不同类之间的概率分布

现在假设有一个k元分类模型,即样本的输出值为c1,c2,,ck,对于某一个实例预测为ci样本的概率总和为1,即

i=1kp(y=i|x,ω)=1

k元分类模型依据让步比的对数形式可以得到

(5)lnp(y=1|x,ω)p(y=k|x,ω)=ω1Tx(6)lnp(y=2|x,ω)p(y=k|x,ω)=ω2Tx(7)(8)lnp(y=k1|x,ω)p(y=k|x,ω)=ωk1Tx(9)lnp(y=k|x,ω)p(y=k|x,ω)=ωkTx=0

通过对上述公式化简可得

(10)p(y=1|x,ω)p(y=k|x,ω)=eω1Tx(11)p(y=2|x,ω)p(y=k|x,ω)=eω2Tx(12)(13)p(y=k1|x,ω)p(y=k|x,ω)=eωk1Tx

(14)eω1Tx+eω1Tx++eωk1Tx=i=1k1eωiTx(15)=p(y=1|x,ω)p(y=k|x,ω)+p(y=2|x,ω)p(y=k|x,ω)++p(y=k1|x,ω)p(y=k|x,ω)(16)=p(y=1|x,ω)+p(y=2|x,ω)++p(y=k1|x,ω)p(y=k|x,ω)(17)=1p(y=k|x,ω)p(y=k|x,ω)

既得p(y=k|x,ω)=11+i=1k1eωiTx

通过p(y=k|x,ω)即可推出p(y=j|x,ω)=eωjTx1+t=1k1eωtTxj=1,2,,k1,因此可以得到k元分类模型的k个类的概率分布为

p(c=k|x,ω)={eωjTx1+t=1k1eωtTxj=1,2,,k1if1,2,,k111+i=1k1eωiTxifk

1.3 目标函数

上一节基于ωkTx=0计算出每个分类的概率,然而现实中往往ωkTx0,可以使用上一节的推导过程假设ωkTx0则可以推导出k元分类模型的k个类的概率分布为

p(c=k|x,ω)=eωjTxt=1keωtTxj=1,2,,k

通过上述k个类别的概率分布可得似然函数

(18)L(ω)=i=1mk=1kp(c=k|xi,ω)yik(19)=i=1mk=1k(e(ωkTxi)t=1keωtTxi)yik

通过似然函数即可得对数似然函数即目标函数(注:该目标函数与交叉熵损失函数的形式一致,二元逻辑回归可以理解为交叉熵损失函数两个类变量的特殊形式,Softmax回归可以理解成交叉熵损失函数的多个类变量的特殊形式,交叉熵为

(20)Jm(ω)=logL(ω)(21)=i=1mk=1kyik(ωkTxilogt=1ke(ωtTxi))

1.4 目标函数最大化

由于Softmax回归和逻辑回归都可以使用梯度上升法使得目标函数最大化,并且方式一样,因此此处只给出目标函数对参数的偏导。

J(ω)ωk=i=1m(yikp(yik|xi,ωk))xi

二、Softmax回归优缺点

2.1 优点

  1. 基于模型本身可以处理多分类问题

2.2 缺点

  1. 计算极其复杂

22


posted @ 2019-09-09 19:37  ABDM  阅读(238)  评论(0编辑  收藏  举报