机器学习:逻辑回归

Posted yxysuanfa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习:逻辑回归相关的知识,希望对你有一定的参考价值。

**************************************

注:本系列博客是博主学习Stanford大学 Andrew Ng 教授的《机器学习》课程笔记。

博主深感学过课程后,不进行总结非常easy遗忘,依据课程加上自己对不明确问题的补充遂有此系列博客。本系列博客包含线性回归、逻辑回归、神经网络、机器学习的应用和系统设计、支持向量机、聚类、将维、异常检測、推荐系统及大规模机器学习等内容。

**************************************

逻辑回归

分类(Classi?cation)

分类问题举例:

邮件:垃圾邮件/非垃圾邮件?

在线交易:是否欺诈(是/否)?

肿瘤:恶性/良性?

以上问题能够称之为二分类问题。我们将因变量(dependant variable)可能属于的两个类分别称为负向类(negative class)和正向类(positive class),则因变量y?{0,1},当中0表示负向类。1表示正向类。

对于多分类问题。能够例如以下定义因变量y:y∈{0,1,2,3,...,n}

假设分类器用的是回归模型,而且已经训练好了一个模型,能够设置一个阈值:

假设hθ(x)≥0.5。则预測y=1,既y属于正例;

假设hθ(x)<0.5。则预測y=0,既y属于负例;

可是对于二分类问题来说,线性回归模型的Hypothesis输出值hθ(x)能够大于1也能够小于0。这个时候我们引出逻辑回归。逻辑回归的Hypothesis输出介于0与1之间,即:

0≤hθ(x)≤1

假说表示(Hypothesis Representation)

上一节谈到,我们须要将Hypothesis的输出界定在0和1之间,既:0≤hθ(x)≤1

可是线性回归无法做到。这里我们引入一个函数g, 令逻辑回归的Hypothesis表示为:

hθ(x)=g(θTx)。这里g称为Logistic function

技术分享

比如。假设对于给定的 x。通过已经确定的參数计算得出 hθ(x)=0.7,则表示有 70%的几率y为正向类,对应地y为负向类的几率为  1-0.7=0.3。

技术分享

技术分享

如今如果我们有一个模型:hθ(x)=g(θ0+θ1x1+θ2x2) ,而且參数θ是向量[-3 1 1]。则当-3+x1+x2 大于等于0,即x1+x2大于等于3 时。模型将预測 y=1。

我们能够绘制直线 x1+x2=3,这条线便是我们模型的分界线,将预測为 1 的区域和预測为 0 的区域分隔开。

 

技术分享

上述仅仅是一个线性的决策边界,当hθ(x)更复杂的时候,我们能够得到非线性的决策边界。比如:

技术分享

Costfunction(代价函数)

对于线性回归模型。我们定义的代价函数是全部模型误差的平方和。理论上来说,我们也能够对逻辑回归模型沿用这个定义,可是问题在于。当我们将

技术分享带入到这样定义了的代价函数中时,我们得到的代价函数将是一个非凸函数(non-convex function)。

 

技术分享

这意味着我们的代价函数有很多局部最小值。这将影响梯度下降算法寻找全局最小值。因此我们又一次定义逻辑回归的代价函数:

技术分享

这样构建的Cost(hθ(x),y)函数的特点是:当实际的  y=1  且 hθ也为 1时误差为 0。当  y=1 但hθ不为1 时误差随着  hθ 的变小而变大;当实际的 y=0  且 hθ也为  0  时代价为0,当y=0 但hθ不为0时误差随着hθ的变大而变大。


技术分享

在得到这样一个代价函数以后,我们便能够用梯度下降算法来求得能使代价函数最小的參数了。算法为: 

技术分享

注意,这个算法和线性回归里的梯度下降算法差点儿是一致的,除了hθ(x)的表示不同。

除了梯度下降算法以外,另一些常被用来令代价函数最小的算法。这些算法更加复杂和优越,并且通常不须要人工选择学习率,通常比梯度下降算法要更加高速。

这些算法有:共轭梯度(Conjugate Gradient),局部优化法(Broyden fletcher goldfarb shann,BFGS)和有限内存局部优化法(LBFGS)。

Multi-classclassification: One-vs-all(多类分类问题)

多类分类问题举例:

电子邮件分类/标注: 工作邮件。朋友邮件,家庭邮件,爱好邮件

医疗图表(medicaldiagrams): 没有生病,着凉,流感

天气:晴天,多云,雨,雪

技术分享

One-vs-all(one-vs-rest):

对于多类分类问题,能够将其看做成二类分类问题:保留当中的一类,剩下的作为还有一类。比如,对于以下这个样例,能够分别计算当中一类相对于其它类的概率:

技术分享

技术分享

******************

作者:hao_09

时间:2015/8/9

文章地址:http://blog.csdn.net/lsh_2013/article/details/47381227

******************























以上是关于机器学习:逻辑回归的主要内容,如果未能解决你的问题,请参考以下文章

机器学习:逻辑回归

机器学习常见算法优缺点之逻辑回归

用Python开始机器学习(7:逻辑回归分类) --好!!

机器学习:逻辑回归(基础理解)

机器学习算法整理逻辑回归 python实现

机器学习06- 逻辑回归