创建了一个微信交流群,想加入的朋友+WeChat:SODAS_MUSIC_STUDIO
1、对数几率回归【AKA.逻辑回归】
- 利用广义线性模型的特征,是否可以通过一个联系函数,将预测值转化为离散值从而进行分类呢?答案就是对数几率回归。对数几率回归引入了一个对数几率函数(一般是sigmoid函数),将预测值投射到0-1之间,使线性回归问题转换为二分类问题。
所以,虽然对数几率回归名字中有"回归"二字,但其实是一种分类算法,就是找一个g(•)将分类任务中的真实标记与线性回归模型的预测值进行联系,也就是广义线性回归。
- 考虑二分类任务,输出标记y∈{0,1},线性回归模型产生的预测值
是实值,只要将z转换为0或1值。理想情况,使用"单位阶跃函数",即:
但是单位阶跃函数不连续,所以要找到一个单调可微的函数g(•),在一定程度上尽量接近单位阶跃函数,这时我们想到了sigmoid函数作为我们需要的对数几率函数,即:
PS3-1:sigmoid函数的优点:1、处处可导;2、求导代价低。
两个函数都能实现,预测值z大于0为正例,小于0为负例,预测值为临界值0时可以任意判别:
将带入这个单调可微的函数g(•),即sigmoid函数,得:
若将y看做样本为正例的概率,1-y看做样本为反例的概率,则上式实际上是使用线性回归模型的预测结果逼近真实标记的对数几率。所以,这个模型称为"对数几率回归"。
- 使用极大似然估计的方法去计算w和b两个参数的取值,将上式中的y视为类后验概率估计p(y=1|x),则:
PS3-3:极大似然估计第七章学习,这里提供求解思路,看不懂的学完第七章再回顾
第一步:确定概率质量函数,
回顾原式,。已知y∈{0,1}取值为1和0的概率分别建模为:
PS3-4:这里是离散型变量,所以是概率质量函数。
由以上概率取值可推得随机变量y∈{0,1}的概率质量函数(不唯一,南瓜书有另一种写法)为:
PS3-5:当y=1时,
;当y=0时,
。
第二步:写出似然函数
然后将上式里的概率质量函数换成上面推导的形式,即:
然后带入似然函数的具体形式带入上式,即:
PS3-6:一定要仔细思考,自己带入
=0和
=1时会出现的情况
可见上式为高阶可导连续凸函数,可以使用凸优化理论、梯度下降法、牛顿法求出最优解,即:
PS3-7-1:"牛顿法"是一种用于求解方程根或函数的最小值的迭代优化算法。它利用函数的二阶导数信息(Hessian矩阵)来逼近函数的局部性质,能够更快地收敛到最优解。其基本思路就是构造函数的泰勒级数展开去近似原函数,并使用近似函数的根或者最小值去逐步逼近原函数的根或最小值。在每一次的迭代中,牛顿法使用当前点的切线去估计函数的根或最小值,并将切线与x轴的交点作为下一次迭代的点。如此一来通过不断迭代,就可以逐渐逼近函数的根或最小值。
在这个链接里可以看到动图演示
PS3-7-2."Hessian矩阵(AKA.海森矩阵)"是一个包含二阶偏导数信息的方阵。对于一个多元函数,其 Hessian 矩阵是由其各个变量的二阶偏导数组成的矩阵。假设有一个函数
,其 Hessian 矩阵 (H) 的元素是:
其中 i 和 j 是变量的索引,表示函数对变量
和
进行求导两次得到的结果。
Hessian 矩阵提供了函数局部极值的信息。在优化问题中,通过分析 Hessian 矩阵的特征值和特征向量,可以判断局部极值点的性质。比如:
- 当 Hessian 矩阵在某点是正定(所有特征值均为正),这个点是局部最小值点。
- 当 Hessian 矩阵在某点是负定(所有特征值均为负),这个点是局部最大值点。
- 当 Hessian 矩阵在某点的特征值有正有负,这个点是鞍点。
- 这个某点就是一阶偏导数为零的点。
例:
,则对应的Hessian矩阵为:
观察Hessian矩阵,特征值
和
,都是正值,说明该函数在(0,0)附近是一个局部最小值点。
故,由牛顿法可知,从当前β生成的t+1轮迭代解的更新公式为:
其中关于β的一阶、二阶导数分别为:
- 对数几率回归算法的机器学习三要素:
- 模型:线性模型,输出值的范围为{0,1},近似阶跃的单调可微函数
- 策略:极大似然估计,信息论
- 算法:梯度下降,牛顿