本文包含大量不严谨的公式写法,只是推式子时候打草记录一下…
线性模型(Linear Model)是机器学习中应用最广泛的模型,指通过样本特征的线性组合来进行预测的模型。给定一个维的样本特征的线性组合来进行预测的模型,给定一个维样本,其线性组合函数为:
其中为维的权重向量,为偏置。上式子可以用于用于线性回归模型:,其输出为连续值,因此适用于回归预测任务。但是在分类任务中,由于输出目标是离散标签,无法直接进行预测,此时一般引入一个非线性的决策函数来预测输出目标:
又称为判别函数。
如果的作用是将函数值挤压/映射到某一值域内,那么称为激活函数。
1.线性回归
这个属于很基础的模型了,它的任务很简单,就是预测连续的标签。
对于给定的样本,我们可以用个表示其特征,那么可以将原始样本映射称为一个元的特征向量。因此,我们可以将线性回归模型的初始模型表示为如下的线性组合形式:
其中,为参数向量。
参数学习方法
定义损失函数为平方误差损失函数:
令训练样本集的特征矩阵为。相应的训练样本标签值为,可将上述损失函数转化为:
因此,线性回归模型的构造就转化为如下最优化问题:
对参数向量各分量求偏导数:
根据多元函数求极值的方式,我们令对参数向量各分量的偏导数为,即:
展开,移项,可得:
这便是直接利用最小二乘法求解线性回归模型的式子。可以发现里面涉及到了矩阵求逆的操作,这使得最小二乘法自带了明显的限制性:要求的行向量之间线性无关,即不同样本的属性标记值之间不能存在线性相关性。
但实际应用中大多数样本中都存在这个问题,所以常用另一种方法来优化参数:梯度下降法。
梯度下降算法可以用于求解多元函数极值问题,具体来说,对于函数,设其在某点的梯度为,为一矢量,则方向导数沿该方向取得最大值,即沿该方向变化最快(增大)。那么在该点沿梯度负方向减小最快。我们可以从该点沿梯度方向下降一小段(即为,实际上我们称之为步长/学习率),到达下一个点,再沿新店的梯度反方向继续下降,如此往复求得函数极值:
以上便是线性回归常用的参数学习方法。
2.Logistic回归
Logistic回归用于解决二分类问题,而不是回归问题。
回到线性分类模型:
函数在此处的作用是激活函数,用于对函数值进行映射。在回归中,使用函数作为激活函数:
该函数的图像为:
可以发现将原函数值域映射到了之间。
其对的导数为:
在二分类问题中,我们假设标签取,则标签的后验概率为:
(为增广权值向量,为增广特征向量,包含偏置)
则标签的后验概率为:
结合上述两个公式,我们可以发现:
可以发现的值等于样本正反例后验概率比值的对数,也就是对数几率。所以Logistic回归可以看作预测值为标签的对数几率的回归模型。
参数学习方法
Logistic回归解决分类问题,使用交叉熵作为损失函数,使用梯度下降更新参数。
对于给定的个训练样本,用回归模型对每个样本进行预测,输出其标签为的后验概率,记作:
由于,样本的真实条件概率可以表示为:
构造损失函数(交叉熵):
应用经验风险最小化原则,关于参数的偏导数为:
采用梯度下降法,回归的训练过程为:初始化,然后通过下式来迭代更新参数:
其中是学习率,是当参数为时,Logistic回归模型的输出。
3.Softmax回归
Softmax回归可以看作多分类的Logistic回归。
Softmax函数:
对的偏导数为:
对于多分类问题可以有个取值,给定一个样本,Softmax回归预测的属于类别的条件概率为:
在Softmax回归中,模型的输出为一个维的向量,分别表示对属于每个类别的概率的预测值。因此决策函数可以写作:
参数学习方法
Softmax回归同样使用交叉熵作为损失函数,用梯度下降来优化参数。
用维one-hot
向量来表示类别标签,对于类别,其类别标签向量为:
根据定义构造风险函数:
风险函数关于的梯度:
求解过程:
根据上文Softmax导数的结果,将其改写为向量式:
若上式,则为第列为,其余为的矩阵,即:
令,那么根据链式求导法则:关于的导数为:
故:
采用梯度下降法,则训练过程为:初始化,迭代更新:
为学习率。
4.感知机
感知机是一种基于错误驱动在线学习的简单二分类线性模型。
给定个样本的训练集:,其中,感知机尝试找到一组参数,使得对于每个样本有:
参数学习方法
感知机的参数学习方法是直接定义的:初始化权重向量,每分错一个样本时,就用这个样本来更新权重:
根据以上定义反推感知机的损失函数:
采用随机梯度下降更新参数,每次更新的梯度为:
5.支持向量机
支持向量机(Support Vector Machine, SVM)是一个经典的二分类算法,其找到的分割超平面具有更好的鲁棒性,因此广泛应用在很多任务上,并表现出很强优势。
给定一个二分类器数据集,其中,如果两类样本是线性可分的,即存在一个超平面:
将两类样本分开,那么对于每个样本都有。
数据集中每个样本到分割超平面的距离为:
我们定义间隔为整个数据集中所有样本到分割超平面的最短距离:
如果间隔越大,其分割超平面对两个数据集的划分越稳定,不容易受到噪声等因素的干扰。支持向量机的目标是寻找一个超平面使得最大,即下列约束问题:
由于同时对缩放不会改变样本到分割超平面的距离,我们可以限制,则公式等价于:
数据集中所有满足的样本点,都称为支持向量。
参数学习方法
将支持向量积的公式改写为凸优化形式:
使用拉格朗日乘数法,构造拉格朗日函数:
计算关于的导数:
令关于的导数等于,可得:
结合拉格朗日函数及上式:原问题等价于:
构造拉格朗日对偶函数:
根据条件中的互补松弛条件,最优解满足:
如果样本不在约束边界上,约束失效;如果在约束边界上,样本点即支持向量,即距离决策平面最近的点。
只要得到即可通过得到,则最优参数的支持向量机决策函数为: