美文网首页
Logistic回归

Logistic回归

作者: 当时年少_青衣 | 来源:发表于2018-05-28 20:02 被阅读0次

    在之前我已经写了一篇关于线性回归的文章,今天给大家带来另一个重要的回归分类算法----逻辑回归
    逻辑回归考虑的数值情况不同与线性回归,根据问题中随机变量的不同种类而选择不同的分类算法

    线性回归主要用于解决连续型数值的问题
    逻辑回归主要用于解决离散型数值问题

    那么什么样的数值是连续型?什么是离散型?
    首先我们要知道随机变量分为离散型和连续型,然后我们给出其定义:

    如果随机变量X只可能取有限个或至多可列个值,则称X为离散型随机变量
    能按一定次序一一列出,其值域为一个或若干个有限或无限区间,这样的随机变量称为离散型随机变量

    在离散型问题中我们考虑最多的就是二元离散,也就是情况为正或者为负,我们将其记为1和0


    image.png

    就像下面这样


    image.png
    统计出数值结果后想对其进行分类,从而能够预测出一个新的x点应该是1还是0,发现很难使用一条直线去准确预测出这个分类线
    最终,经过一堆数学家的努力,发现了一个非常适合离散型数值的函数
    逻辑回归

    通过改变函数的参数,我们最终可以找到一个适合我们数据的一条线,然后,我们通过求出这个点的概率来预测最终结果,也就是给出一个参数x,我们通过求出y=1的概率,来预测结果


    image.png
    如上所示给出一个x值最终求出其y=1的概率我0.7,那么我们就可以预测出其值为1,如果求得概率为0.3的话我们就认为其值应该为0,而这里判断的概率阈值就是0.5,当概率大于等于0.5认为结果为1,否则为0
    image.png
    这里的阈值有一个专属名词为Decision Boundary(决策边界)
    这里的决策边界就是日常中所说的分界线(学生时代的38线)
    image.png
    image.png
    由上我们发现决策边界的选择各种各样,那么我们如何找出最适合的边界呢?
    根据我们的函数,问题总结为如何找出最适合的参数Θ?
    image.png

    很显然,老套路,我们先算出其代价函数J(Θ),然后最小化J就行
    而逻辑回归中的代价函数和之前中的线性回归的代价函数是相同的,


    image.png
    image.png

    而和线性回归不同的就是H(Θ)的不同,而由于逻辑回归中y=1 or y=0

    因此概况为 image.png
    因此不同于线性回归,逻辑回归的代价函数
    image.png

    最后我们通过极大似然法简化代价函数


    image.png
    现在我们得到了代价函数,接下来我们将其最小化求出Θ
    image.png
    首先使用梯度下降法:
    方法就是一如既往的对其求导找出下降最快的方向然后去下降
    这次我们可以不用梯度下降法,我们找到其他优化算法:共轭梯度
    image.png

    使用共轭梯度时我们不用去手动选择下降速度α,因为共轭梯度会自动帮我们找出最优α,而且共轭梯度的速度更快,这些优点也保证了其复杂度,但是往往第三方库已经帮我们实现了这些算法,我们只需要知道如何去调用就行


    image.png
    上面我们拥有一个有两个参数的问题,我们知道了其代价函数J(Θ),我们想求求其最小化函数,右边是在Octave里直接调用一个函数来返回我们的代价函数,这个函数返回两个参数,jVal是代价函数,第二个参数是Θ
    现在我们在下面使用无约束最小化函数来使J最小化,调用这个函数需要设置一下参数,@costFunction是我们刚刚定义的costFunction函数的指针,,optiojns中GradObj,'on'为设置梯度目标参数为打开,然后函数就可以自动实现求最优α,maxiter,100为设置最大迭代此数为100,然后initialtheta为我们设置的基础Θ值
    最后这个函数会返回一组我们需要的,openTheta为最优Θ,functionVal为我们最后的代价函数值,而exitFlag值确定是否收敛,1为收敛

    相关文章

      网友评论

          本文标题:Logistic回归

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