一、线性回归
1.1 问题
给定数据集 ,其中 。
线性回归问题试图学习模型 :
该问题也被称作多元线性回归(
multivariate linear regression
)对于每个 ,其预测值为 。采用平方损失函数,则在训练集 上,模型的损失函数为:
优化目标是损失函数最小化,即: 。
1.2 求解
可以用梯度下降法来求解上述最优化问题的数值解,但是实际上该最优化问题可以通过最小二乘法获得解析解。
令:
则有:
令:
则:
令 。为求得它的极小值,可以通过对 求导,并令导数为零,从而得到解析解:
当 为满秩矩阵时,可得: 。
其中 为 的逆矩阵。
最终学得的多元线性回归模型为: 。
当 不是满秩矩阵。此时存在多个解析解,他们都能使得均方误差最小化。究竟选择哪个解作为输出,由算法的偏好决定。
比如 (样本数量小于特征种类的数量),根据 的秩小于等于 中的最小值,即小于等于 (矩阵的秩一定小于等于矩阵的行数和列数); 而矩阵 是 大小的,它的秩一定小于等于 ,因此不是满秩矩阵。
常见的做法是引入正则化项:
正则化:此时称作
Lasso Regression
:为正则化系数,调整正则化项与训练误差的比例。
正则化:此时称作
Ridge Regression
:为正则化系数,调整正则化项与训练误差的比例。
同时包含 正则化:此时称作
Elastic Net
:其中:
- 为正则化系数,调整正则化项与训练误差的比例。
- 为比例系数,调整 正则化与 正则化的比例。
1.3 算法
多元线性回归算法:
输入:
- 数据集
- 正则化项系数
输出模型:
算法步骤:
令:
求解:
最终学得模型: