zoukankan      html  css  js  c++  java
  • 逻辑回归(logistic regression)

    logistic regression能够解决分类问题,即输出的结果仅仅有0和1两种,比方,对于邮件的推断仅仅有是或者否。这样的分类问题使用传统的线性回归并不能非常好的解决。

    一个小样例

    比如,当我们依据肿瘤的大小推断一个肿瘤是不是良性的时候,输出结果仅仅有是或者否,用1和0表示,给定的样本点,而且我们使用传统的线性回归问题解决拟合的函数图像例如以下:

    图像中我们能够依据拟合曲线,当输出值大于0.5(依据图像推断的值)的时候,确定输出的为恶性(即为1);当输出值小于0.5(依据图像推断的值)的时候,确定输出的为良性(即为0)。可是,当我们有新的样本点增加的时候,例如以下图:

    我们会发现,对于新的拟合曲线使用上面的方法和标准(0.5)并不能非常好的做出预測。因此我们须要新的回归形式,即以下要说的logistic回归。

    sigmoid function(logistic function)

    sigmoid函数,又称为逻辑函数。是一个单调上升的函数,函数的形式例如以下:
    1/(1 + EXP(-A*(X-C)))

    当中A和C为參数,A控制着函数的陡峭程度,C控制着函数的对称点的水平坐标位置,以下用三个函数图像说明:

    图像1,A=1,C=0:



    图像2,A=10,C=0:



    图像3,A=1,C=5:

    逻辑回归(logistic regression)

    从上面的图像能够看出,logistic函数非常适合做我们刚開始提出的数据的拟合问题。如今我们如果我们曾经的如果函数为



    当中的θ为我们须要计算的參数,计算好的參数可以使得曲线非常好的拟合样本点。

    逻辑回归的參数拟合

    对于给定的以上的回归模型,我们如何拟合θ?这里我们使用概率统计中的最大似然预计做推导。
    如果概率模型例如以下(由于函数值在0和1之间,因此我们能够直接如果例如以下,但实际上函数的值并非概率):



    上面的函数能够合并写成例如以下的形式:



    由于y的值仅仅有0和1,因此当y=0的时候仅仅有后半部分;当y=1的时候,仅仅有前半部分,因此,能够写成上面的形式。
    跟曾经一样,我们须要写出似然函数,然后拟合參数,使得似然函数最大化,似然函数例如以下(如果样本点满足独立同分布):



    为了便于计算,取其对数:



    至此,拟合參数为了最大化上面的形式。跟前面的一样,我们使用梯度下降的方法寻找使得函数最大化的參数值。首先求梯度:



    然后,參数的迭代公式为例如以下形式(注意,这里为求函数的最大值,而前面的为求函数的最小值,因此符号为“+”):



    剩下的就是选择梯度下降的算法,一般选择随机梯度下降。

  • 相关阅读:
    git 删除所有提交下的某个文件
    Sublime Text 中文
    git 常用文件目录介绍
    设计模式之——单例模式
    Mysql系统知识梳理
    Spring系列之——使用了哪些设计模式
    JAVA基础之——三大特征、接口和抽象类区别、重载和重写区别、==和equals区别、JAVA自动装箱和拆箱
    集合系列问题
    做一个优秀的职场人才
    Spring系列之——Spring事务以及两大核心IOC和AOP
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4272985.html
Copyright © 2011-2022 走看看