Logistic回归是一种线性分类模型,通常用来解决线性二分类或多分类问题。无论是在李航老师的《统计学习方法》书中,还是在吴恩达老师的机器学习课程中,都是先假设随机变量x服从Logistic分布,即有如下的分布函数和概率密度函数:
可是为什么定义这样的分布函数和概率密度函数,对于初学者来说,还是很难理解的。我们从Logistic回归的来源(也就是从贝叶斯学习发展来的)来理解其的基本思想,会让人明白很多!
对数似然比假设
后验概率::在x条件下,事件w发生的概率。后验概率 = 先验概率 × 类别条件概率。对于分类问题,当属于某一类的后验概率最大时,判断为该类别。
几率:一个事件的几率,是指该事件发生的概率与该事件不发生的概率的比值,事件发生的概率为p,则该事件的对数几率为。Logistic回归的对数几率函数为
。
贝叶斯分类器极大似然估计:对于贝叶斯分类器来说,极大似然估计参数时的似然函数为(频率派的做法,可以先看一下贝叶斯学习的极大似然估计法~),参数估计时对其进行最大化。
线性判别函数:对于线性分类器来说:线性判别函数是分类超平面的数学公式表示。
线性判别函数:
分类超平面:
线性判别:if assign x to
; if
assign x to
对数几率似然假设:假设似然比(likelihood ratio)的对数为线性判别函数。(是先有的这个假设,才有的sigmoid函数,以及Logistic回归的一系列公式)。面试的时候曾被问道为什么要做这么一个假设,因为想用回归的方式去解决分类问题,这时候需要找到一个函数将类别y与线性回归的预测值联系起来,但是单位阶跃函数不连续,因此使用了对数几率函数,假设对数几率为线性函数。 这时候为什么要假设对数几率为线性函数而不是假设几率为线性呢?几率(似然比)的取值范围是0~+∞,而线性函数的取值范围是-∞~+∞,取值范围不同,目标函数不同,此时则不能采用最大似然估计的方式估计参数了,并且假设几率为线性函数的话,本质就是典型的线性分类模型。
,带入贝叶斯公式,推导得到
(注意
和
是不同的,应该差了一个常数倍数)。
即,计算p得:
。令
,得:
,即为x属于某一类w的概率。而Logistic回归的
。
引入sigmoid函数
在这里就不赘述了,sigmoid函数公式:
,函数图像如下,即当计算得到的x属于
的概率大于0.5时,属于标签
类,否则属于
类(二分类问题)。
当越大时,x离分类超平面
越远,将其判断为这一类的概率越大,即
越接近于1。
求参数的方式
最大似然估计求参数
求参数,可采用最大似然估计法求解。
对数似然:
求取的最大值,即为求
的最小值,可以采用梯度下降法求解。
定义Cost function
在吴恩达老师的机器学习课程中,是这样引入Logisti回归的cost fnction的:
在线性回归中,我们常用的损失函数为平方损失函数,即:
,则总损失:
此时的为一非凸函数,无法采用梯度下降的方法求得最优解,因此采用另一种cost function:
注意:该cost function是从最大似然估计法得来的!
此时计算得到的如下:
,为凸函数,可以通过梯度下降方法求得最小值。函数图如下:
梯度下降求参数
在这里就不详细推导了,具体可以看梯度下降的相关知识~
参考文献
【1】周志华,机器学习,清华大学出版社,2016.
【2】中国科学院大学《机器学习》课程课件, Chapter3 Liner Classification.