文章目录
01 引言(多元线性回归)
“多元线性回归本质上与单元变量线性回归没太大区别”
增添更多特征后,我们引入一系列新的注释:
引入多元变量后,我们直接把原来的函数
简写为
多元线性回归
梯度下降
多元变量的线性回归的梯度下降与一元的没什么区别
梯度下降技巧01-特征缩放
在我们面对多维特征问题的时候,我们要保证这些特征都具有相近的尺度,这将帮助梯度下降算法更快地收敛。
以房价问题为例,假设我们使用两个特征,房屋的尺寸和房间的数量,尺寸的值为0-2000平方英尺,而房间数量的值则是 0-5,以两个参数分别为横纵坐标,绘制代价函数的等高线图能,看出图像会显得很扁,梯度下降算法需要非常多次的迭代才能收敛。
解决的方法是尝试将所有特征的尺度都尽量缩放到-1到 1之间。如图:
梯度下降技巧02-学习率与终止迭代条件
梯度下降算法收敛所需要的迭代次数根据模型的不同而不同,我们不能提前预知,我们可以绘制迭代次数和代价函数的图表来观测算法在何时趋于收敛。
也有一些自动测试是否收敛的方法,例如将代价函数的变化值与某个阀值(例如 0.001进行比较,但通常看上面这样的图表更好。)如笔记01的代码的终止条件
学习率的选择
用多项式回归模型
02 Normal Equation法
到目前为止,我们都在使用梯度下降算法,但是对于某些线性回归问题,正规方程(Normal Equation)方法是更好的解决方案。如:
推导过程
θ = ( X T X ) − 1 X T y \theta=\left(X^{T} X\right)^{-1} X^{T} y θ=(XTX)−1XTy的推导过程:
J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 其中: h θ ( x ) = θ T X = θ 0 x 0 + θ 1 x 1 + θ 2 x 2 + … + θ n x n J(\theta)=\frac{1}{2 m} \sum\limits_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2} \text { 其中: } h_{\theta}(x)=\theta^{T} X=\theta_{0} x_{0}+\theta_{1} x_{1}+\theta_{2} x_{2}+\ldots+\theta_{n} x_{n} J(θ)=2m1i=1∑m(hθ(x(i))−y(i))2 其中: hθ(x)=θTX=θ0x0+θ1x1+