机器学习之线性回归模型

当我们拿到样本并经过特征降维后得到 x1、x2 … 低维特征,经过多项式映射得到线性回归的模型假设:
机器学习之线性回归模型
上式 x1、x2 是样本特征,如果 y 是现实中房子的价格,那么 x1、x2 相当于房子的面积、卧室数量等影响房子价格的因素,而 θ0、θ1、θ2 … 是系数,也就是各影响因素的权值

用 h(x) 来表示预测结果,上式用线性代数来表达:
机器学习之线性回归模型
线性模型用于预测,当前主要的问题是如何求出最优的系数 θ ,使得这个模型变得更准确和可靠,最常用的两个方法是最小二乘法和梯度下降算法

最小二乘法:

给定目标函数:
机器学习之线性回归模型
式中 h(x) 是预测结果,y 是真实值,用它们之间的误差平方和来评估 θ 最优,目标函数 J(θ) 越小,θ 越好,使得 J(θ) 取最小值的那个 θ 就是最优的,而取最小值的那个 J(θ) 叫做损失函数
损失函数的求法:
机器学习之线性回归模型
如果 XTXθ 可逆,则
机器学习之线性回归模型
如果 XT•X•θ 不可逆或防止过拟合,则加入 λ 扰动:
机器学习之线性回归模型

优化与拓展:线性回归的复杂度惩罚因子

过拟合:如果有9个样本点,那么可以最高用8阶的多项式来拟合,阶数越高拟合度越高,但阶数越高不一定越好,因为会出现震荡现象,当我们再用这个多项式来预测的话会因为震荡出现较大的偏差

防止过拟合:

一、Ridge 回归:将目标函数加入平方和损失
机器学习之线性回归模型
Σθ^2 这样的项叫做正则项

二、LASSO:正则项是一次幂
机器学习之线性回归模型
LASSO 有一定的特征选择能力,选择最主要的低阶特征,降低了高阶的权值,J(θ) 对 θ 求偏导得
机器学习之线性回归模型
式中 λ 是 θ 的参数,叫超参数,是没办法通过样本求出来的,一般通过交叉验证得到
给出 λ=0.01、λ=0.02 … 的候选,从训练数据集中分出一部分作为验证数据集,验证每一个 λ 对应的 θ,用 θ 的均方误差 MSE 确定候选中最优的 λ

交叉验证(n折):

把验证数据集分成 n 份
前 n-1 份来作为训练数据,把第 n 份作为验证数据集
再把前 n-2 份、第 n 份作为训练数据集,把第 n-1 份作为验证集
再把前 n-3 份、n-2~n-1 份作为数据集,把第 n-2 份作为验证集
再把 …
机器学习之线性回归模型

梯度下降算法

对于线性回归模型假设
机器学习之线性回归模型
随机初始化 θ,然后让 θ 沿着梯度方向迭代,更新后的 θ 使得 J(x) 变得更小, θ 就更优
机器学习之线性回归模型
α:学习率、步长
(用回溯线性搜索寻找最优的学习率是最正的方法;第二种办法(在实践中常用)是随机给一个初始学习率,接下来不断修正,这是比较简单高效的方法;第三种是给一个固定的学习率,一般情况下可用)

优化与拓展:

一、批量梯度下降算法(需要拿到所有样本):
机器学习之线性回归模型
二、随机梯度下降(拿到一个样本下降一回,速度快,非常适合在线学习):
机器学习之线性回归模型
三、择中梯度下降(实践中常用,既不是拿到全部样本下降一次,也不是拿到一个样本下降一次,而是若干个样本的平均梯度作为更新方向)称 “mini-batch SGD“

判定系数(模型好坏的指标):

对于 m 个样本:(x1, y1), (x2, y2) …
某模型的预测值:(x1, y1^), (x2, y2^) …
样本的平方和:TSS = Σ(y-y~)^2
残差平方和:RSS = Σ(y-y)2
定义 R^2 = 1-RSS/TSS
R^2 越大,效果越好
回归平方和:ESS = Σ(y-y~)2