学习笔记-机器学习-(3)逻辑回归

吴恩达-机器学习课程--06: Logistic Regression的学习总结:

逻辑回归是一种分类算法

二元分类问题中,y为0或1,用线性回归模型并不适用,因为hθ(x)值可能远大于1或远小于0。

我们希望假设函数hθ(x)的值在0到1之间。

在逻辑回归中,我们设置hθ(x)= g((θ^Tx))

其中g(z) = 1/(1 + e^-z),被称为sigmoid fuction或logistic function,如下图所示,满足值位于0到1之间的性质:

sigmoid fuctiong(z) 

假设函数hθ(x)的值可解释为:当输入样本x时,y=1的概率估计值

用概率形式可书写为:hθ(x) = P(y=1|x ;θ)

易知:P(y=1|x ; θ) +P(y=0|x ;θ) = 1

          P(y=0|x ;θ) = 1 - P(y=1|x ;θ)

判定边界(decision boundary)

假设hθ(x) = P(y=1|x ;θ)>=0.5时,预测y=1,hθ(x) = P(y=1|x ;θ)<0.5时,预测y=0。

hθ(x)=g((θ^Tx)),g(z) = 1/(1 + e^-z)根据g(z)的图形可知:

z>=0,g(z)>=0.5,即θ^Tx>=0,hθ(x)>=0.5,预测y=1。z<0同理。

hθ(x) =g(θ0+θ1x1+θ2x2)假设已经计算出θ0=-3、θ1= 1、θ2= 1

θT = [-3,1,1]

当θ^Tx>=0,即-3x0+x1+x2>= 0(x0=1),即x1 + x2>= 3时,hθ(x)>=0.5,预测y=1

可通过下图直观显示:

决策边界为x1 + x2= 3这条直线,对应hθ(x)=0.5

决策边界

如果假设函数包含高阶多项式,如hθ(x) = g(θ0 +θ1x_{1} +θ3x_{1}^2  +θ4x_{2}^2 ),决策边界也可能是非线性的或很复杂的。

逻辑回归的代价函数

线性回归代价函数如下:

线性回归代价函数

我们定义J(θ)如下:

cost

g(z) = 1/(1 + e^-z),并不是简单的线性函数。导致J(θ)最终为非凸函数,有很多局部最优值。而我们希望 J(θ)是凸函数,以便在使用梯度下降法时,可以得到全局最优值。

逻辑回归的代价函数如下:

逻辑回归的代价函数

y=1 的情况:画出-log(hθ(x) )如下图,(0<=hθ(x) <=1)

-log(hθ(x))

当hθ(x)=1,y=1时,cost=0,而hθ(x)=1,y=0时,cost趋于无穷,用非常大的代价惩罚这个算法。

y=0的情况相似,未作记录。

简化代价函数:

逻辑回归代价函数

可简化为:cost(hθ(x),y) = -ylog( hθ(x) ) - (1-y)log( 1- hθ(x) ) y=0 或1

梯度下降法:

简化后代价函数如下:

代价函数

虽然hθ(x)=g((θ^Tx))和线性回归的假设函数不同,但忽略求导过程,最终式子如下,和线性回归的式子的相同。

梯度下降法求θ

逻辑回归解决多类别分类问题:

可将上图分成三个二元分类的问题,训练出三个分类器


分别在三个分类器中输入x值,选择hθ(x)值最大的那个。 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容