1.线性回归(Linear Regression)
1).介绍
线性回归是机器学习中最基础、最经典的算法之一,它利用线性函数对一个或多个自变量和因变量之间关系进行建模,建模过程就是使用数据点来寻找最佳拟合线。线性回归分为两种类型:单变量线性回归(Linear Regression with One Variable),一个自变量和一个结果变量,能在二维平面可视化;和 多变量线性回归(Linear Regression with Multiple Variables),至少两组自变量。
有一点需要注意,“线性回归”中的“线性”指的是因变量关于参数是线性的,而不是关于自变量,比如模型: Y i = β 1 X i + β 2 X i 2 + ε i Y_{i}=\beta_{1} X_{i}+\beta_{2} X_{i}^{2}+\varepsilon_{i} Yi=β1Xi+β2Xi2+εi,因变量对于参数 β 1 \beta_{1} β1 和 β 2 \beta_{2} β2 是线性的,但对于自变量 X i X_{i} Xi来说就是非线性的,这任然是一个线性回归模型。
- 优点:线性回归的理解与解释都十分直观,并且还能通过正则化来降低过拟合的风险。另外,线性模型很容易使用随机梯度下降和新数据更新模型权重。
- 缺点:面对样本属性数量(维度)较大的复杂模型时,会因为计算量过大而无能为力,比如图像识别问题。
2).单变量线性回归模型构建
预测函数(hypothesis):
h θ ( x ) = θ 0 + θ 1 x h_{\theta}(x)=\theta_{0}+\theta_{1} x hθ(x)=θ0+θ1x
这是用来拟合样本数据点的拟合线,我们的目标是找到最优的 θ 0 \theta_{0} θ0和 θ 1 \theta_{1} θ1使得拟合效果最好。
损失函数(Loss Function ):
L ( i ) = h θ ( x ( i ) ) − y ( i ) L^{(i)}=h_{\theta}\left(x^{(i)}\right)-y^{(i)} L(i)=hθ(x(i))−y(i)
这是单个样本预测结果和正确结果的误差值。
代价函数(Cost Function ):
J ( θ 1 , θ 2 ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J\left(\theta_{1}, \theta_{2}\right)=\frac{1}{2 m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2} J(θ1,θ2)=2m1i=1∑m(hθ(x(i))−y(i))2
代价函数是关于参数 θ \theta θ的函数,代表所有样本损失函数的总和,用来衡量评估模型的好坏,一般情况下它的值越小则模型越好。
3).梯度下降法(Gradient Descent)
前面已经构建好了预测函数和代价函数,接下来就要求解最优参数,使其能够让代价函数值最小。梯度下降法是一种求解机器学习模型最优参数的经典方法。
梯度下降法原理
分别对于每个参数 θ \theta_{} θ,求出代价函数关于该参数的偏导数,也就是代价函数在该参数方向上的斜率,然后根据斜率的符号来调整参数值,由于一个函数的偏导数方向是函数增长最快的方向,因此负偏导数就是代价函数梯度下降最快的方向,相应的斜率值也会不断趋近于0,迭代过程会使得代价函数 J ( θ 0 , θ 1 ) J\left(\theta_{0}, \theta_{1}\right) J(θ0,θ