前言
1. 基本形式
2. 损失函数
2.1 损失函数
2.1.1 最小二乘法
2.1.2 极大似然估计
2.2 正规方程法
2.2.1 一般形式
2.2.2 矩阵形式
2.3 梯度下降法
2.3.1 梯度下降法的代数方式描述
2.3.2 梯度下降法的矩阵方式描述
2.3.3 梯度下降的算法调优
2.3.4 梯度下降法的类型
3. 欠/过拟合
3.1 欠拟合
3.1.1 何为欠拟合?
3.1.2 解决方法
3.2 过拟合
3.2.1 何为过拟合?
3.2.2 解决方法
4. 正则化
4.1 L0范数
4.2 L1范数与Lasso
4.3 L2范数与Ridge
4.4 Elastic Net
4.5 L1为稀疏约束的原因
前言
线性回归模型是用一条曲线去拟合一个或多个自变量 x 与因变量 y 之间关系的模型,若曲线是一条直线或超平面(成直线时是一元线性回归,成超平面时是多元线性回归)时是线性回归,否则是非线性回归,常见的非线性回归有多项式回归和逻辑回归。线性回归是有监督学习,有标签(可以理解为样本有y值)。通过学习样本 学习映射
,得到预测的结果
是连续值变量,这是简单的一元线性回归模型,多元线性回归模型后面会详细讲(两者的异同可以参考博文)。线性回归是基础算法,同时是高级算法的根基,所以有必要掌握它的思想并学会融会贯通。接下来我们将详细学习该算法。
1. 基本形式
预测函数一般表示式
令=1,可以写成
向量表达式
2. 损失函数
2.1 损失函数
线性回归模型是用一条曲线去拟合x与y之间的关系,那拟合的效果的好坏如何去判定呢?这就是我们要提到的损失函数,每个算法的损失函数或许不一样,但我们的目的都是使得损失函数最小化,所以需要找到对应的权重θ使得损失函数最小。下面左图是一个权重下的损失函数图像,右图是两个权重下的损失函数,损失函数是凸函数,都有唯一的最小值点。
一般将线性回归的损失函数定义为:
下面的损失函数与该形式虽然形式不完全一样,但是含义一样。这里的 是为了求导计算的便利,而
是将损失平均化,消除样本量m带来的影响。
是预测值,但因为预测值与实际值之间还是存在一定的差距,如何去确定预测的效果的好坏,需要判定预测值
与实际值
之间的差距,这差距用误差
来表示,即
。至于损失函数
为什么需要使用平方和?下面从最小二乘法和极大似然估计两个方面去分析。
2.1.1 最小二乘法
误差有正有负,如果直接对
求和,则会出现正负抵消的情况,反映不出整体误差情况。如果使用平方和,整体的误差分布不变,所以一般使用平方和做损失函数。
线性模型用一条直线(平面)拟合数据点,找出一条最好的直线(平面)即要求每个真实点直线(平面)的距离最近。即使得残差平方和(RSS)最小
但由于每个样本的数据量存在较大的差异,为了消除样本量差异的影响,使用最小化均方误差(MSE)拟合
所以得到损失函数
式子中的 是为了求导计算便利添加的。
2.1.2 极大似然估计
误差中,误差
是独立同分布的,并且服从均值为0方差为
的高斯分布(也称为正态分布)。补充:正态分布的均值和方差取不同值,得到不同的分布图,但均值为0,方差为1的分布称为标准正态分布。
其中,高斯分布表达式为:
由于误差服从均值为0方差为的高斯分布,所以满足:
于是得到: