线性回归
通常输入 x 具有多个属性值,翻译过来就是一条数据具有多个特征值。当我们假定最简单的一种情况,也就是说输入只有一个属性值的时候,此时就是一元线性回归。线性回归试图 f(x) = wx + b,使得 f(x)≈ 真实值 y,所以线性回归的算法,转化为数学问题就是,寻找一个恰当的参数,使得 f(x)尽可能的逼近 y 。
逼近用数学语言就是使得 f(x)与 y之间的差值(或者说距离)尽可能的小,常用的就是距离衡量函数就是均方误差函数(也叫平方损失函数),如下所示:
- 均方误差对应了常用的欧几里得距离,而基于均方误差最小化来进行模型求解的方法就称为最小二乘法
- 求解参数w 和b的过程即使均方误差最小化的过程叫做最小二乘参数估计。
多元线性回归
此时 x 具有 d 个属性值,把参数表示成
数据集相应的变成
- 对于 x 的最后一列为什么要加上全1,个人理解:
这个1其实是为了 参数 b 准备的,w 的维度应该是 (d, 1),而偏置 b 前面也应该是有个参数,但由于 b 本身就是变量,所以实际操作时令 1 * b,前后维度 就保持了一致,才能继续后面的矩阵运算;
最终的优化函数
求导,令导数为0可得
这里假设
是满秩或者正定,但现实中往往不是满秩,即特征数超过样本数,此时存在多个解,至于选择哪个解有算法的归纳偏好决定,常见方法是引入正则化;
广义线性模型
当我们考虑在线性表达式 wx + b 的外层再套一层函数时,使得计算出的结果更符合真实值。
比如 当真实值实际是在指数尺度上变化,可以变成
这里的对数函数就将模型的预测值与真实值联系在了一起。
更一般的可以表示成
这样的模型就称为广义线性模型,外层套的函数叫做联系函数。
手推公式见:
一元线性回归公式推导,多元线性回归公式推导
对数几率回归(逻辑回归)
对于二分类任务,线性回归模型的输出是一个连续值,但我们需要的真实值是{0, 1},所以在我们要找一个函数可以将输出和真实值联系起来的函数,最理想的是单位阶跃函数,但阶跃函数并不连续,因此不能作为联系函数,对数几率函数就可以派上用场了。
虽然名字是回归,但实际是分类学习方法。它的优点在于:
- 无需事先假设数据分布,直接对分类可能性建模,这样避免了假设分布不正确的的问题;
- 不仅可以预测出类别,也可以得出近似的概率预测;
- 目标函数还是任意阶可导的凸函数,很多优化算法可以直接得到最优解;
对数几率函数:
在对数几率回归中,利用极大似然法进行最优化,loss函数如下:
这里的
在牛顿法求最优解中,β的迭代公式
顺便复习一下:
梯度下降法:
梯度下降法是一种一阶优化方法,是通过利用函数的一阶导数来使函数收敛到局部极小点,如果目标函数是凸函数,那么局部极小就是全局最小。
而牛顿法是利用函数的二阶导数,虽然迭代次数小于梯度下降法,但计算复杂度相当高,涉及到海森矩阵的求逆,尤其在高维中几乎不可行。由此还引申出了拟牛顿法。