分享

新宇教你机器学习之 Logistic Regression

 lzqkean 2014-03-20

在明白前面的理论之后,logistic regression就很容易理解了。

Logistic regression由两个部分组成:

一个线性部分和一个链接公式

整体Hypothesis可以写成:

新宇教你机器学习之 <wbr>Logistic <wbr>Regression
第一部分,也就是线性部分和之前的linear regression一样,是一个关于thetax的线性的公式:

新宇教你机器学习之 <wbr>Logistic <wbr>Regression

第二部分,也就是链接functiong(x),是一个logistic function 所以称为logistic regression

 重新把hypothesis写完整就变成:

新宇教你机器学习之 <wbr>Logistic <wbr>Regression

画出来图像是这样的:

新宇教你机器学习之 <wbr>Logistic <wbr>Regression


很容易看出,这个function的输出永远是在01之间的。这就可以用来测试某一个样品属于每一个类别的概率。(这里只讨论有2个类的情况)

 

假设:

样品属于类1和类0的概率分别为:

新宇教你机器学习之 <wbr>Logistic <wbr>Regression

 

以上两种情况可以综合起来写成:

新宇教你机器学习之 <wbr>Logistic <wbr>Regression

 

我们的任务就变成了寻找一条直线(theta是这条直线的coeff),来最大化训练数据被成功分类的概率。

 

用最大似然估算法Maximum Likelihood Estimation可以测出最好的theta值:

新宇教你机器学习之 <wbr>Logistic <wbr>Regression

 

为了计算简便,可以两边取log

最大值发生的时候,微分应该等于0

具体计算步骤就不写了。

最后结果是:

新宇教你机器学习之 <wbr>Logistic <wbr>Regression

 

Theta可以用Gradient Ascent方法算出。

Matlab测试:

Matlab中,线的系数可以用glmfit()算出。

取hypothesis=0.5,就可以画出下面绿色的分界线。

新宇教你机器学习之 <wbr>Logistic <wbr>Regression

 

这是我造的两团高斯分布的图,绿色线就是logistic regression(Classification)的结果。






    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多