什么是线性回归?
在统计学中,线性回归是利用称为线性回归方程的最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。
假设函数
hθ(x)=θ0+θ1x1+θ2x2+⋯+θnxn=θTx
θ 为回归系数,它是我们预测准度的基石
误差函数
LMS(Least Mean Square),最小均方误差
我们用最小均方来描述误差,误差评估函数在机器学习中也称为代价函数
到这儿位置,我们已经有了模型,有了评价模型的方法。那么这样就够了吗。不,我们会遇到学习效果差的时候需要调整策略的问题
梯度下降
梯度下降就是要反复调节θ ,使得预测J(θ)足够小,以及使得预测精度足够高的一种手段。
批量梯度下降BGD
数学上,梯度方向是函数值下降最为剧烈的方向。那么,沿着J(θ)的梯度方向走,我们就能接近其最小值,或者极小值,从而接近更高的预测精度。学习率α 是个相当玄乎的参数,其标识了沿梯度方向行进的速率。在实际编程中,学习率以3倍,10倍这样的进行取值尝试
对于一个样本容量为m的训练及,我们定义θ的调优过程为:
该方法虽然可以收敛到最小值,但是每调节一个θj,都不得不遍历一遍样本集,如果样本的体积m很大,这样做无疑开销巨大,但另一方面,因为其可化解为向量型表示,所以就能利用到并行计算优化性能。
随即梯度下降SGD
基于批量梯度下降的性能问题,又引入了随机梯度下降:
可以看到,在随机梯度下降法中,每次更新 θj 只需要一个样本:(x(i),y(i))。即便在样本集容量巨大时,我们也很可能迅速获得最优解,此时 SGD 能带来明显的性能提升。
小批量梯度下降法MBGD
BGD vs SGD
正规方程
由于在梯度下降调整学习效果的问题受学习率影响,我们还有正规方程可以解决此问题。
(X^TX)^(-1)这一步,比较难求。
梯度下降 vs 正规方程
特征缩放
数值型变量之间的差距过大。比如房屋面积位2104英尺,卧室数量为3间,之类的。
这些在数值层面差异过大的特征会对梯度的下降造成影响。
常用2种方法,z-score标准化和min-max scaling
z-score标准化
将数据量化为为均值为0,方差为1的标准正态分布
min-max scaling
大多数机器学习算法中,会选择 Standardization 来进行特征缩放,但是,Min-Max Scaling 也并非会被弃置一地。在数字图像处理中,像素强度通常就会被量化到 [0,1] 区间,在一般的神经网络算法中,也会要求特征被量化到 [0,1] 区间。
欠拟合与过拟合
欠拟合:拟合程度不高,数据距离拟合曲线较远。
过拟合:过度拟合,貌似拟合几乎每一个数据,但是丢失了信息规律。
局部加权线性回归(LWR)
为了解决拟合问题,我们可以引入局部加权的线性回归,建成LWR(Locally Weighted Linear Regression)。算法中给待预测点附近的每个点都赋予一定的权重,在这段区间上基于最小均方误差来进行普通线性回归。即分区间线性回归,局部拟合来得到全局拟合。
在一般的线性回归算法中,对于某个输入向量 x,我们这样预测输出 y:
- 修正 θ 来最小化 ∑i(yi−θTx(i))2
- 进行预测:θTx
而在 LWR 中:
- 修正 θ 来最小化 ∑iw(i)(yi−θTx(i))2
- 进行预测:θTx
在 LWR 中,我们对一个输入 x 进行预测时,赋予了 x 周围点不同的权值,距离 x 越近,权重越高。整个学习过程中误差将会取决于 x 周围的误差,而不是整体的误差,这也就是局部一词的由来。
通常,w(i) 服从高斯分布,在 x 周围呈指数型衰减:
其中,τ值越小,则靠近预测点的权重越大,而远离预测点的权重越小。
LWR属于非参数学习算法,所谓非参数学习算法指定是没有明确的参数(比如上述的θ取决于当前要预测的x),每进行一次预测,就需要重新进行训练。而一般的线性回归属于参数学习算法。参数在训练后将不再改变。
参考
线性回归和梯度下降:https://blog.youkuaiyun.com/Artprog/article/details/51104192