logistic 回归模型

转载自:http://www.hxxiaopei.com/?p=117

logistic regression是统计学习中经典的分类算法,属于对数线性模型。

回归模型:

给定一个数据集合 (x1,y1)(x2,y2)...(xn,yn) ,有监督学习构建模型,学习过程就是模型参数 θ 的学习过程。作为discrimination algorithm,对  P(Y|X;θ) 建模,

针对二分类问题,我们选择logitic 分布来描述P(Y|X)的分布, g(x)=ex1+ex ,,这样logistic回归模型服从下面的条件概率:

P(y=1|x)=eθTx1+eθTx

P(y=0|x)=1(P(y=1|x)=11+eθTx

在预测时,给定Input value x,分别计算 P(y=1|x),P(y=0|x) ,x属于概率大的那个类别。

关于为什么选择logistic函数,我理解(参考斯坦福视频 Ng的说法):

1.logistic函数形式比较简单,处理起来也比较简单

2.生成模型可以得到判别模型(反过来不成立),生成模型首先对数据建模,假设模型服从F(x)分布,也就是数据可以有F(x)生成,那么F(x)是二项分布、 γ 分布、gaussian分布等,对应的判别模型都是logistic分布(神奇,不过这个过程还不是很了解,需要对generative model和discriminative model进一步了解),而判别模型是不考虑数据分布的,所以选择logistic分布大多数情况下都是对的。

模型参数估计:

定义模型后,需要基于DataSet学习模型参数,也就是 θ ,使得数据的概率最大,我们可以用极大似然估计法估计模型参数。

为了方便计算,定义:

p(y=1|x;θ)=π(x),p(y=0|x;θ)=1π(x)

则有:

p(y|x;θ)=π(x)y=1(1π(x))y=0

定义参数的似然函数  L(θ)=P(Y|X;θ)=Ni=1p(yi|xi;θ)

对数似然函数:

l(θ) =Ni=1lnp(yi|xi;θ)

=Ni=1ln(π(xi)yi(1π(xi))1yi)

=Ni=1(yi)lnπ(xi)+(1yi)ln(1π(xi))

目前是求  l(θ) 的极大值。

采用的方法是梯度下降或者牛顿法。

之前对模型的推导不理解,也很好奇,所以尽可能的将推导过程写出来,检验一下。

dθjl(θ)

=Ni=1(yiπ(xi)1dθjπ(xi)(1yi)(1π(xi))1dθjπ(xi))

其中

dθjπ(xi)

=(1+eθTxi)2eθTxixji

=(1+eθTxi)1eθTxi1+eθTxixji

=(1π(xi))π(xi)xji

那么

dθjl(θ)

=Ni=1(yi(1π(xi))xji(1yi)π(xi)xji)

=Ni=1yiπ(xi)xji

基于梯度下降方法,有

θj=θj+αdθjl(θ)

=>θj=θj+αsumNi=1(yiπ(xi)xji

进行迭代,求解参数。

这种做法每迭代纠结一个参数,需要遍历一遍数据,效率低。

Ng提到做随机梯度下降,只需要遍历一遍数据,但是不一定是最优解

for i to N {

for j to M;

θj=θj+α(yiπ(xi)xji

}

可能在工程上或者分布式应用上,有其他做法,后续研究

多类别回归模型:

之前计算的都是基于二类的,现实中分类可能是多类别的,所以进行扩充

我们定义

πc(x)=p(y=c|x;θ)=eθTcx1+K1k=1eθTkx

K表示对应的类别个数,需要 θ 的参数个数为K-1, p(y=K|x)=1K1k=1P(y=k|x) 求的

对应的对数似然函数,可以这样来描述:

l(θ) =Ni=1lnp(yi|xi;θ)

l(θ) =Ni=1lnπ1(xi)I(y=1)π2(xi)I(y=2).....πK1(xi)I(y=K1)(1π1(xi)π1(xi)...πK1(xi))I(y=K)

=Ni=1K1k=1I(y=k)lnπk(xi)+I(y=K)ln(1π1(xi)π1(xi)...πK1(xi))

=Ni=1K1k=1I(y=k)θTkx+I(y=K)ln(1π1(xi)π1(xi)...πK1(xi))

=Ni=1I(y=K)ln(1+K1kk=1eθTkkx))+K1k=1I(y=k)θTkxI(y=k)ln(1+K1kk=1eθTkkx)

=Ni=1ln(1+K1kk=1eθTkkx))Kk=1I(y=k)+K1k=1I(y=k)θTkx

=Ni=1ln(1+K1kk=1eθTkkx)+K1k=1I(y=k)θTkx

备注:

Kk=1I(y=k)=1

K表示类别的总个数,M表示特征的总个数,也是 θ  是 M×(K1) 向量

l(θ) 极大似然估计,可以求出参数,注意,针对 θjk 求导,表示第k个参数的第j个分量。

采用极大似然估计以及梯度下降等方法,可以求出 θ  ,进行预测


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值