机器学习中的逻辑回归

来源:互联网 发布:python 最优化算法包 编辑:程序博客网 时间:2024/05/21 08:45

本文参考了Bin的专栏和李航《统计学习方法》。

线性回归因为它的简单,易用,且可以求出闭合解,被广泛地运用在各种机器学习应用中。事实上,除了单独使用,线性回归也是很多其他算法的组成部分。线性回归的缺点也是很明显的,因为线性回归是输入到输出的线性变换,拟合能力有限;另外,线性回归的目标值是(−∞,+∞),而有的时候,目标值的范围是[0,1](可以表示概率值),那么就不方便了。

逻辑回归定义

典型的逻辑回归是一种二分类模型,由条件概率P(Y|X)表示。随机变量X取值为实数,随机变量Y取值为1或0.

有一个样本输入xRn,输出是Y{0,1},条件概率:

P(Y=1|x)=exp(wTx+b)1+exp(wTx+b)=11+exp((wTx+b))
, 是一个sigmoid函数的形式,取值在(0,1)之间,可以理解为一个概率的取值。

把权值向量w和输入向量x加以扩充,即w=(w(1),w(2),...,w(n),b)T,x=(x(1),x(2),...,x(n),1). 这时,逻辑回归模型如下:

P(Y=1|x)=11+exp(wTx)

也就是说,如果有一个对输入x进行分类的线性函数wTx,其值域为实数域(这里xRn+1,wRn+1)。而逻辑回归模型可以将这个线性函数转换为概率。这时线性函数的值越接近正无穷,概率值越接近1;线性函数的值越接近负无穷,概率值越接近0.

参数估计

给定训练集T=(x1,y1),(x2,y2),...,(xN,yN), 其中xiRn,yi{0,1}. 我们用极大似然估计法估计模型参数。

  1. 设:
    hw(x)=P(Y=1|x),1hw(x)=P(Y=0|x)
  2. 似然函数:
    i=1N[hw(xi)]yi[1hw(xi)]1yi
  3. 两边取对数,对数似然函数:
    L(w)=i=1N[yiloghw(xi)+(1yi)log(1hw(xi))]=i=1N[yi(wTxi)log(1+exp(wTxi))]
  4. L(w)求极大值,可以转化为求L(w)的极小值,同时为了防止数值本身过大,用平均形式:
    w=argminw[1NL(w)]
    .
  5. 也就是说,这个1NL(w)就是我们要优化的损失函数,记作Loss(w)。如何优化呢?可以采用标准的梯度下降法:
    • Loss(w)=Lossw=1NNi=1(hw(xi)yi)xi
    • w=wαLoss(w)
  6. 通过梯度下降我们可以求出w, 最后学到的模型是
    P(Y=1|x)=11+exp(wTx)
    , 给定输入x, 即可求出x属于类别1的概率,大于0.5就认为属于类别1.
0 0
原创粉丝点击