机器学习系列算法(二)
线性回归、Logistic回归、高斯判别分析
1、线性回归
估计函数为:

损失函数(误差函数)为:

它用于评估模型
即、也就是
的优劣。
线性关系的表达能力很强大:①特征的每一维对结果影响的强弱,可由系数体现;②特征的每一维可以先映射到一个函数,再参与线性计算,这样就达到了非线性的效果。
线性回归下,求解模型
等价于使误差函数最小,即
。常用方法有最小二乘法&梯度下降&牛顿迭代法。
2、梯度下降为何选择“误差的平方和”作为损失函数
将误差记作
,即
。假设
符合正态分布,那么向量
和结果值
的条件概率为:

这是样本i的条件概率。我们希望在所有样本上达到最佳预测效果,采用最大似然估计如下:

因此,为了使
达到最大,必须使
最小。
根本出发点还是在于,“
符合正态分布”的假设是符合客观规律的。
3、最小二乘法求解
要使
达到最小,必定有
。向量
共有n+1维,亦即:

如下标记:

由
的公式得:

因此得到:

最小二乘法的优点在于,计算出的
必定是最优模型;硬伤在于:①要求矩阵X必须是满秩(否则不存在逆矩阵)、②求解逆矩阵运算量很大。
4、梯度下降
为了求得
的最优值即
,任意给定一个初值
并向最优值逼近。逼近方法是让每次沿负梯度方向迭代。
对于
的第j个维度,其梯度方向为:

因此迭代公式为:

梯度下降法要注意三点:①结果受初值影响很大;②结果未必是最小值,也可能是局部极小值;③一般情况下
是一个漂亮的碗型,所以唯一的极小值也就是最小值。
貌似该方法细分为批梯度下降&增量梯度下降;并且说前者计算量大但是持续收敛,后者计算量小,但可能在不收敛处徘徊。不过我没看出两个方法的区别。
5、牛顿迭代法
同样是用来求解
的方法,从
的初值开始,按照某种策略往最优值逼近。
比较一下牛顿迭代&梯度下降:前者收敛快(即迭代次数少),缺点是初始点要求极高、需要计算并存储Hessian矩阵(计算量大、空间大);后者收敛慢,但是占存储空间小、初始点要求没那么严格。
牛顿迭代法的策略就是Taylor展开。这里先考虑
是一维的情况:

对于似然函数
有:

因此迭代公式为:

当
是多维,即
时,迭代公式如下:

其中
的Hessian矩阵为:

6、带权重的线性回归
依旧是找出最优的
使得
最小,只是
的定义有所改变:

即对每条记录都乘以一个权重
,其值为:

几点说明:
①给较近的记录以较大权重,因为它们与待计算记录更相似;类似于KNN思路;②该方法是“非参数学习方法”,因为误差函数随待计算记录的不同而不同;③硬伤在于:(a)计算量大,对每条记录都得单独计算、(b)时间效率低,因为必须在接收到待处理的记录后,现场做计算;④其优点(也可能是初始动机)是极大削弱了离群点的不利影响。
7、Logistic回归
普通回归是针对连续值,而分类问题一般是针对离散值。若一定要用回归方法做分类,可以采用Logistic回归模型。
Logistic回归就是在普通回归(
)的基础上添加一层映射:

函数
将(-∞,+∞)的值映射到(0,1)。这样便得到:

假设结果的分布是Bernoulli分布,并定义:

此时,应用最大似然方法求解
:

8、Logistic回归模型的直观解释
Logistic回归公式如下:

因为比较的是
和
的大小,显然两者相对大小仅取决于
的正负。
注意到,若
是比较小的数,则
和
均不会≈1.0,亦即此时做的判断可信度不太高;而若
,便有
≈1.0,此时预测新样本为正例便很可靠。
我们期望得到最优的模型,也就是想让
或
。如图:

二维情况下,直线便是
。由平面几何公式,任意样本如图中点,到直线
的距离为:

我们希望该距离尽可能的大。这一点由Logistic回归的似然函数也可看出。

在正例(
)时,
是正数,它越大(即distance越大)就提高了似然函数;在负例(
)时,
是负数,它越小(distance同样变大)就提高了似然函数。
因此,Logistic回归下,模型
的优劣准则即是
的值;而该值与“样本离
的距离”正相关;距离越大则模型越优。
同时注意,这里是“全体样本与
的距离”总和。
直观上来看,它是想求出这样的
(即模型)——所有样本点距离
所指示的直线尽可能的远。
【max最大似然函数→
→样本离
的距离尽可能大】
9、判别模型VS生成模型
判别模型:根据特征值(向量x)来求结果的概率,即首先学习模型
,在此基础上求条件概率
。
比如为确定一头羊是山羊还是绵羊,可以先学习出模型,然后分别计算新来的羊是山羊OR绵羊的概率:

选择概率较大的那个,即
便是预测结果。
生成模型:对山羊&绵羊分别学习模型,将新来的羊分别放入两个模型,比较概率大小以预测。例如新羊是山羊的概率为:

从贝叶斯公式很容易看到,两个模型是统一的。
不过一般由生成模型可以得到判别模型,反之不成立;因为生成模型有更严格的假设条件和约束。
此外,判别模型(例如SVM)下寻找的是样本的“区分模型”,即寻找不同类别的分界面,反映异类数据的差异;而生成模型(如GDA)则是寻找同类样本的“概率密度分布”,能够反映同类数据自身的相似度。
10、高斯判别分析(GDA)
一维正态分布,模型是
时,变量
的概率是:

扩展到多维,多维变量
,均值记作
,方差记作矩阵
(其中
就是协方差矩阵);此时
的概率为:

回到山羊&绵羊的问题。假设输出结果服从Bernoulli分布,单个模型服从多值高斯分布(假设两个模型的协方差矩阵相同),即:

那么概率密度函数(山羊标记为0,绵羊标记为1):

似然函数为:

各偏导数为0即可求得参数值。
浙公网安备 33010602011771号