1

1. 广义线性模型

广义线性模型是在线性回归基础上,在等号的左边或右边加上了一个函数,从而能够让模型更好的捕捉一般规律,此时该模型就被称为广义线性模型,该函数就被称为联系函数。
广义线性模型的提出初衷是为了解决非线性相关的预测问题。
对线性模型,\( y=x+1 \)
可以有广义线性模型,\( ln⁡y=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),也被称为逻辑回归。

clipboard.png(1.1);

逻辑斯蒂回归就是想办法将线性回归模型用于分类(《机器学习》中称为对数几率回归)。线性回归模型产生的预测值可能是所有实值,不利于分类;为了用于二分类任务,希望将预测值z转换为0/1值;阶跃函数:
clipboard.png(1.2);

可以将z转换为0/1值,但是阶跃函数在x=0处不连续,所以用逻辑斯谛函数(logisitic function,即Sigmoid函数)
clipboard.png(1.3);

近似代替阶跃函数,将线性模型的预测值转换为接近0或1的值(Sigmoid函数的输出值在z=0处变化很陡,可以认为大部分值都是接近0或1)。

2、公式

对公式(1.3)取对数,有
clipboard.png(2.1);

将y视为样本x作为正例的可能性,1-y为反例。将y视为后验概率估计,则二项逻辑斯蒂回归模型如下:
clipboard.png

令:
clipboard.png

由伯努利分布的概率公式:
clipboard.png(2.6);

得似然函数和对数似然函数:
clipboard.png(2.7);
clipboard.png(2.8);

3、梯度上升法的代码与公式

《机器学习实战》第五章程序清单5-1下面代码的由来:

weights = weights + alpha * dataMatrix.transpose()* error

书中使用的是梯度上升法
clipboard.png(3.1)

,仅对该行代码做推导,对式(2.8)求关于w的偏导数,得:
clipboard.png(3.2)

所以,
clipboard.png是代码中列向量error的元素,xi属于代码中矩阵dataMatrix。

4、参考资料

《机器学习》周志华
《统计学习方法》李航
《机器学习实战》


YjxGVG
8 声望3 粉丝

下一篇 »
Python基础