您好,欢迎来到易妖游戏网。
搜索
您的当前位置:首页【机器学习笔记】第2章:单变量线性回归

【机器学习笔记】第2章:单变量线性回归

来源:易妖游戏网

第2章:单变量线性回归

2.1 模型描述 Model representation

机器学习可以分为监督学习无监督学习,监督学习的每个样本都有标签,而无监督学习没有标签。其中监督学习又包括回归问题和分类问题,回归问题就是预测一个具体数值的输出,如房价预测;分类问题就是预测离散值的输出,如肿瘤判断。

2.2 代价函数 Cost function

假设函数 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 为模型参数,选择不同的参数值会得到不同的假设函数,那么,我们如何选择这两个参数值呢?
在线性回归中,我们有一个训练集,我们要做的是得出 θ 0 \theta_0 θ0 θ 1 \theta_1 θ1 这两个参数的值,使得假设函数表示的直线尽量地与这些数据点很好的拟合,即输入x得到的预测值 h θ ( x ) h_{\theta}(x) hθ(x)最接近该样本对应的真实值y值,也就是解决最小化问题。
代价函数 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)的数学定义为预测值与实际值之差的平方误差和的 1 2 m \frac {1}{2m} 2m1 J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta_0,\theta_1)= \frac {1}{2m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^2 J(θ0,θ1)=2m1i=1m(hθ(x(i))y(i))2

为了更好地使代价函数 J J J可视化,我们令参数 θ 0 = 0 \theta_0=0 θ0=0,只有一个参数 θ 1 \theta_1 θ1,于是将假设函数简化为 h θ ( x ) = θ 1 x h_{\theta}(x) = \theta_1 x hθ(x)=θ1x,将代价函数简化为 J ( θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta_1)= \frac {1}{2m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^2 J(θ1)=2m1i=1m(hθ(x(i))y(i))2,我们会得到如下图所示的代价函数图 J ( θ 1 ) J(\theta_1) J(θ1)

2.3 梯度下降 Gradient descent

我们有一个线性回归的代价函数 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1),可以用梯度下降算法来最小化代价函数 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)。梯度下降算法的思路:给定 θ 0 \theta_0 θ0 θ 1 \theta_1 θ1的初始值(通常将 θ 0 \theta_0 θ0 θ 1 \theta_1 θ1均初始化为0),然后不停地一点点地改变 θ 0 \theta_0 θ0 θ 1 \theta_1 θ1来使 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)变小,直到我们找到 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)的最小值或局部最小值。
我们可以将代价函数的图像看成一座山,你从给定的初始值 θ 0 \theta_0 θ0 θ 1 \theta_1 θ1出发,环顾四周寻找从什么方向最快下山,然后迈出一步,并从新的起点寻找下一步最快下山的方向,重复上面的步骤,一步一步往下走,直到到达局部最低点。值得注意的是,不同的初始值可能会得到不同的代价函数局部最小值。

2.4 线性回归的梯度下降 Gradient descent for linear regression

我们将梯度下降算法应用到最小化平方差代价函数,就得到线性回归的梯度下降。

梯度下降算法变成如下形式:
repeat until convergence { θ 0 : = θ 0 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) \theta_0 := \theta_0 - \alpha \frac {1}{m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)}) θ0:=θ0αm1i=1m(hθ(x(i))y(i)) θ 1 : = θ 1 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ⋅ x ( i ) \theta_1 := \theta_1 - \alpha \frac {1}{m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})\cdot x^{(i)} θ1:=θ1αm1i=1m(hθ(x(i))y(i))x(i)}
线性回归的代价函数总是下图所示的弓形函数,也叫凸函数,它没有局部最优解,只有一个全局最优。

线性回归的梯度下降在等高线图上的表示如下图所示。

上述梯度下降算法称为Batch梯度下降算法,Batch梯度下降算法的每一步梯度下降都遍历了整个训练集的样本,所以在梯度下降计算偏导数的时候计算的是m个训练样本的总和。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- vipyiyao.com 版权所有 湘ICP备2023022495号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务