1. 广义线性模型
广义线性模型是在线性回归基础上,在等号的左边或右边加上了一个函数,从而能够让模型更好的捕捉一般规律,此时该模型就被称为广义线性模型,该函数就被称为联系函数。
广义线性模型的提出初衷是为了解决非线性相关的预测问题。
对线性模型,\( y=x+1 \)
可以有广义线性模型,\( lny=x+1 \)
一般来说广义线性模型要求联系函数必须是单调可微函数。
2. 几率(odd)与对数几率
几率不是概率,而是一个事件发生与不发生的概率的比值。假设某事件发生的概率为p,则该事件不发生的概率为1-p,该事件的几率为:
$$ odd(p)=p/(1-p) $$
在几率的基础上取(自然底数的)对数,则构成该事件的对数几率(logit):
$$ logit(p)=ln(p/(1-p)) $$
logit的是log unit对数单元的简写,和中文中的“逻辑”一词并没有关系。对数几率模型也被称为对数单位模型(log unit model)。
2. 所谓逻辑斯蒂回归
如果我们将对数几率看成是一个函数,并将其作为联系函数,即g(y)=ln〖y/(1-y)〗,则该广义线性模型为:
$$ g(y)=ln(y/(1-y))=w^T∙x $$
此时模型就被称为对数几率回归(logistic regression),也被称为逻辑回归。
(1.1);
逻辑斯蒂回归就是想办法将线性回归模型用于分类(《机器学习》中称为对数几率回归)。线性回归模型产生的预测值可能是所有实值,不利于分类;为了用于二分类任务,希望将预测值z转换为0/1值;阶跃函数:
(1.2);
可以将z转换为0/1值,但是阶跃函数在x=0处不连续,所以用逻辑斯谛函数(logisitic function,即Sigmoid函数)
(1.3);
近似代替阶跃函数,将线性模型的预测值转换为接近0或1的值(Sigmoid函数的输出值在z=0处变化很陡,可以认为大部分值都是接近0或1)。
2、公式
对公式(1.3)取对数,有
(2.1);
将y视为样本x作为正例的可能性,1-y为反例。将y视为后验概率估计,则二项逻辑斯蒂回归模型如下:
;
令:
;
由伯努利分布的概率公式:
(2.6);
得似然函数和对数似然函数:
(2.7);
(2.8);
3、梯度上升法的代码与公式
《机器学习实战》第五章程序清单5-1下面代码的由来:
weights = weights + alpha * dataMatrix.transpose()* error
书中使用的是梯度上升法
(3.1)
,仅对该行代码做推导,对式(2.8)求关于w的偏导数,得:
(3.2)
所以,
是代码中列向量error的元素,xi属于代码中矩阵dataMatrix。
4、参考资料
《机器学习》周志华
《统计学习方法》李航
《机器学习实战》
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。