美文网首页dm算法技术干货
机器学习-逻辑回归

机器学习-逻辑回归

作者: 文哥的学习日记 | 来源:发表于2017-07-08 20:10 被阅读158次

    1、引言

    逻辑回归是应用非常广泛的一个分类机器学习算法,它将数据拟合到一个logit函数(或者叫做logistic函数)中,从而能够完成对事件发生的概率进行预测。

    2、由来

    要说逻辑回归,我们得追溯到线性回归,想必大家对线性回归都有一定的了解,即对于多维空间中存在的样本点,我们用特征的线性组合去拟合空间中点的分布和轨迹。如下图所示:


    线性回归

    线性回归能对连续值结果进行预测,而现实生活中常见的另外一类问题是,分类问题。最简单的情况是是与否的二分类问题。逻辑回归的核心思想就是,如果线性回归的结果输出是一个连续值,而值的范围是无法限定的,那我们有没有办法把这个结果值映射为可以帮助我们判断的结果呢。而如果输出结果是 (0,1) 的一个概率值,这个问题就很清楚了。我们在数学上找了一圈,还真就找着这样一个简单的函数了,就是很神奇的sigmoid函数(如下):


    sigmoid函数
    sigmoid函数的图像如下图所示:
    sigmoid函数

    从函数图上可以看出,函数y=g(z)在z=0的时候取值为1/2,而随着z逐渐变小,函数值趋于0,z逐渐变大的同时函数值逐渐趋于1,而这正是一个概率的范围。
    所以我们定义线性回归的预测函数为Y=WTX,那么逻辑回归的输出Y= g(WTX),其中y=g(z)函数正是上述sigmoid函数(或者简单叫做S形函数)。

    3、判定边界

    我们现在再来看看,为什么逻辑回归能够解决分类问题。这里引入一个概念,叫做判定边界,可以理解为是用以对不同类别的数据分割的边界,边界的两旁应该是不同类别的数据。
    在二维空间中,我们举几个判定边界的例子:


    判定边界1
    判定边界2
    判定边界3

    上述三幅图中的红绿样本点为不同类别的样本,而我们划出的线,不管是直线、圆或者是曲线,都能比较好地将图中的两类样本分割开来。这就是我们的判定边界,下面我们来看看,逻辑回归是如何根据样本点获得这些判定边界的。
    先看第一个例子hθ(x)=g(θ0+θ1X1+θ2X2),其中θ0 ,θ1 ,θ2分别取-3, 1, 1。则当−3+X1+X2≥0时, y = 1; 则X1+X2=3是一个决策边界,图形表示如下,刚好把图上的两类点区分开来:


    例1
    当hθ(x)更复杂的时候,我们可以得到非线性的决策边界,例如:
    决策边界
    这时当x12+x22≥1时,我们判定y=1,这时的决策边界是一个圆形,如下图所示:
    例2
    所以我们发现,理论上说,只要我们的hθ(x)设计足够合理,准确的说是g(θTx)中θTx足够复杂,我们能在不同的情形下,拟合出不同的判定边界,从而把不同的样本点分隔开来。

    损失函数和梯度下降

    如何不断的修正模型从而使模型达到更好的分类效果,一个普遍的做法就是设计一个损失函数,然后通过梯度下降等方法来使损失函数达到最小。
    逻辑回归的损失可以分成两段很直观的理解:


    分段损失函数

    当y=1时,图像是下面这个样子的,如果预测值很接近于1,那么损失基本为0,如果预测值离1越远,则损失很大:


    y=1时损失
    类似,y=0时损失函数如下图所示:
    y=0时损失
    那么,把两段合并起来,我们最终得到了逻辑回归的损失函数:
    损失函数

    接下来我们就可以通过梯度下降法来修正模型,从而减少损失啦。sigmoid函数又一个很好的性质,sigmoid函数f的导数为f(1-f)。


    梯度下降

    如果你喜欢我写的文章,可以帮忙给小编点个赞或者加个关注,我一定会互粉的!
    如果大家对机器学习感兴趣,欢迎跟小编进行交流,小编微信为sxw2251,加我要写好备注哟!


    我的微信

    相关文章

      网友评论

        本文标题:机器学习-逻辑回归

        本文链接:https://www.haomeiwen.com/subject/wkjjhxtx.html