吴恩达 机器学习课程笔记(二)第一个学习算法--单变量线性回归

房价预测案例

继续上一章节有监督学习算法的房价预测案例。
案例描述:有包含房子的大小和价格信息的真实数据(散点图)如下。我们要学习一个房价预测算法,在给定房屋大小后,可以相对准确估计其出售价格。
在这里插入图片描述
训练集及相关描述
m : m: m: 训练集样本数
x : x: x: 输入变量/特征(大部分时间是向量 x ⃗ \vec{x} x
y : y: y: 输出变量/目标变量
在这里插入图片描述
其中, ( x i , y i ) (x^{i},y^{i}) (xi,yi)表示第 i i i个训练样本, i i i是索引,代表训练集中第 i i i行。
例如: x 1 = 2104 , x 2 = 1416 , y 1 = 460 x^{1}=2104, x^{2}=1416, y^{1}=460 x1=2104,x2=1416,y1=460

有监督学习算法的工作原理

我们向学习算法提供训练集,学习算法会输出一个函数 h h h(hypothesis假设函数),函数 h h h将房子的大小 x x x作为输入变量,输出房价的预测值 h ( x ) h(x) h(x)
在这里插入图片描述
How do we represent h?
先从最简单的入手:线性函数
此时,假设函数为: h θ ( x ) = θ 0 + θ 1 x h_θ(x)=θ_0+θ_1 x hθ(x)=θ0+θ1x其中, θ 0 , θ 1 θ_0, θ_1 θ0,θ1 是模型参数(parameter),如下图,选择不同的参数,我们可以得到不同的模型。
在这里插入图片描述我们的目标是,找到合适的 θ 0 , θ 1 θ_0, θ_1 θ0,θ1值,使得假设函数表示的直线尽可能好的跟训练集数据点拟合。
在这里插入图片描述
也就是说,我们要选择合适的 θ 0 , θ 1 θ_0, θ_1 θ0,θ1,使得预测值 h ( x ) h(x) h(x)尽可能的接近实际值 y y y。为了度量“接近”,引出了代价函数。

代价函数

回归常用平方误差代价函数(当然也可以使用其他的代价函数)
目标函数为 min ⁡ θ 0 , θ 1 1 2 m ∑ i = 1 m ( h θ ( x i ) − y i ) 2 \min_{θ_0, θ_1} \frac{1}{2m} \sum_{i=1}^{m}(h_θ(x^i)-y^i)^2 θ0,θ1min2m1i=1m(hθ(xi)yi)2我们要找到合适的 θ 0 , θ 1 θ_0, θ_1 θ0,θ1,满足上述最小化要求。
定义代价函数 J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x i ) − y i ) 2 J(θ_0, θ_1) = \frac{1}{2m} \sum_{i=1}^{m}(h_θ(x^i)-y^i)^2 J(θ0,θ1)=2m1i=1m(hθ(xi)yi)2因此,目标函数可以简写成 min ⁡ θ 0 , θ 1 J ( θ 0 , θ 1 ) \min_{θ_0, θ_1} J(θ_0, θ_1) θ0,θ1minJ(θ0,θ1)

代价函数实例(一个参数的情况)

为便于可视化代价函数,暂且将假设函数简化为图右所示,其中 θ 0 = 0 θ_0=0 θ0=0
在这里插入图片描述
假设真实的函数关系为 y = x ( 即 θ 1 = 1 ) y=x(即θ_1=1) y=x(θ1=1) 尝试不同的 θ 1 θ_1 θ1绘制代价函数 J ( θ 1 ) J(θ_1) J(θ1)的图像。

  • θ 1 = 1 θ_1=1 θ1=1时,进行相关计算。在这里插入图片描述
  • θ 1 = 0.5 θ_1=0.5 θ1=0.5时,进行相关计算。
    在这里插入图片描述
  • θ 1 = 0 θ_1=0 θ1=0时,进行相关计算。
    在这里插入图片描述
    …重复上述步骤,五点法作图,得到 J ( θ 1 ) J(θ_1) J(θ1)的图像,如下图所示:
    在这里插入图片描述
    学习算法的优化目标,就是选取合适的 θ 1 θ_1 θ1,使 J ( θ 1 ) J(θ_1) J(θ1)达到最小(显然此处应该选择 θ 1 = 1 θ_1=1 θ1=1
代价函数实例(两个参数的情况)

在这里插入图片描述
尝试绘制代价函数 J ( θ 1 ) J(θ_1) J(θ1)的图像。(省略过程)
在这里插入图片描述
这是一个3D曲面图,平面两轴分别为 θ 0 , θ 1 θ_0, θ_1 θ0,θ1,竖轴的高度就是 J ( θ 0 , θ 1 ) J(θ_0, θ_1) J(θ0,θ1)的值。
方便起见,我们使用等高线图(同心椭圆)替代曲面图,如下图所示。
在这里插入图片描述
在同颜色线上的点,虽然 θ 0 , θ 1 θ_0, θ_1 θ0,θ1的取值各不相同,但 J ( θ 0 , θ 1 ) J(θ_0, θ_1) J(θ0,θ1)值相同。
同心椭圆的中心点,就是 J ( θ 0 , θ 1 ) J(θ_0, θ_1) J(θ0,θ1)取最小值的位置。
假设函数及对应代价函数示例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过以上图像,我们可以更好地理解代价函数 J J J的意义,如何对应不同的假设函数,以及越接近代价函数最小值的点对应着更好的假设函数。
含更多参数的情况无法进行可视化。

梯度下降法—最小化代价函数

如何找到最小化的代价函数呢?梯度下降是常用的方法之一。

问题描述及梯度下降思路

在这里插入图片描述

工作原理可视化

在这里插入图片描述
特点:起始点偏移可能导致得到一个完全不同的局部最优解。
在这里插入图片描述

数学原理

在这里插入图片描述
其中 : = := :=为赋值运算符; α α α为学习率(学习速率),指定步长; ∂ ∂ θ j J ( θ 0 , θ 1 ) \frac{\partial }{\partial θ_j}J(θ_0, θ_1) θjJ(θ0,θ1)为导数项,指定方向;保证 θ 0 , θ 1 θ_0, θ_1 θ0,θ1同步更新(图片左下角)。

导数项的意义
指定移动的方向。导数(梯度)方向是函数值上升最快方向,因此其反方向就是函数值下降之最快方向。
在这里插入图片描述
学习速率的意义
指定步长。
如果学习速率过小,梯度下降的很慢,很多步才能到达全局最低点。
如果学习速率过大,梯度下降可能越过最低点,甚至可能无法收敛或者发散。
在这里插入图片描述
保持学习率α不变,梯度下降法可以收敛到局部最低点的原因
当我们接近局部最小点时,梯度下降法会自动采用更小的幅度,因为根据定义,在局部最低时导数等于零,所以当我们接近局部最低时,导数项的值会自动变得越来越小,所以梯度下降自动采取较小的幅度。
在这里插入图片描述

梯度下降法应用于线性回归模型

在这里插入图片描述
J ( θ 0 , θ 1 ) J(θ_0, θ_1) J(θ0,θ1)分别对 θ 0 , θ 1 θ_0, θ_1 θ0,θ1求偏导:
在这里插入图片描述
线性回归模型的代价函数为凸函数,没有局部最优解,有唯一全局最优解。
在这里插入图片描述
Batch指每次计算偏导数,都用到全部的训练集数据。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值