吴恩达机器学习笔记(二)

2.1 模型描述

例子:预测住房价格

在这里插入图片描述

  红色叉叉是来自数据集描绘的点

这是一个监督学习算法的例子,因为每一个例子都有一个“正确”的答案,我们知道卖出的房子的大小和与之对应的价格。这也是一个回归的例子,回归是指我们预测一个具体的数值输出

  • 注意*:
    训练样本的数量:m = Number of training examples   
    输入变量/特征:x’s = “input” variable / features   
    输出变量/目标变量:y’s = “output” variable / “target” variable   
    一个训练样本/一行:(x,y)   
    第i个样本: ( x ( i ) , y ( i ) ) ( x^{(i)}, y^{(i)} ) (x(i),y(i))   
    假设函数/输出函数: h (hypothesis)   
    模型参数: θ i \theta_i θi

监督学习算法工作流程图

在这里插入图片描述

  1. 向学习算法提供训练集(比如本例中的房价训练集)
  2. 学习算法的任务是输出一个函数h(假设函数)
  3. 假设函数的作用是将自变量(本例中的房子的大小)作为输入变量x
  4. 根据假设函数预测y值
  5. h是一个引导x得到y的函数

下一小节讲单变量线性回归

2.2 代价函数

线性回归的整体目标函数

含义:目标函数 = minimize 代价函数

m i n i m i z e θ 0 , θ 1 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 minimize_{\theta_0,\theta_1} \frac{1}{2m}\sum_{i=1}^m(h_\theta(x^{(i)}) - y^{(i)})^2 minimizeθ0,θ12m1i=1m(hθ(x(i))y(i))2
其中 h θ ( x ( i ) ) = θ 0 + θ 1 x ( i ) h_\theta(x^{(i)}) = \theta_0 + \theta_1x^{(i)} hθ(x(i))=θ0+θ1x(i)

或写作

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

该函数被称为代价函数/平方误差函数/平方误差代价函数;对于回归问题,平方误差函数是较常使用的函数

1 2 \frac{1}{2} 21是为了接下来方便求导之后, 1 m \frac{1}{m} m1 是为了让cost function不依赖训练集中元素的数量

2.3 代价函数(一)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jqQbAK2G-1584586305862)(https://note.youdao.com/yws/api/personal/file/18869D9DC3C9443FACF6D66329C1231C?method=download&shareKey=00b7d94ad44516557cae24be7d842e8f)]

假设 θ 0 = 0 \theta_0 = 0 θ0=0简化假设函数h为 h θ ( x ( i ) ) = θ 1 x ( i ) h_\theta(x^{(i)}) = \theta_1x^{(i)} hθ(x(i))=θ1x(i),随着 θ 1 \theta_1 θ1的变化,如左图所示, h θ ( x ) h_\theta(x) hθ(x)对数据集的拟合程度不同,根据误差函数 J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta)= \frac{1}{2m}\sum_{i=1}^m(h_\theta(x^{(i)}) - y^{(i)})^2 J(θ)=2m1i=1m(hθ(x(i))y(i))2描绘出右图。

这就是为什么要最小化 J ( θ ) J(\theta) J(θ)来找到一条最符合数据的直线。

2.4 代价函数(二)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mntmWULL-1584586305863)(https://note.youdao.com/yws/api/personal/file/A10FC6B9D6F048D88913079A156588F8?method=download&shareKey=37f5543d043c1ad5dbdf0b70a630c874)]

当只有 θ 1 \theta_1 θ1时,误差函数的图像只与 θ 1 \theta_1 θ1有关,是一个碗状函数。

课堂补充

为什么只有一个参数θ1的时候,代价函数的图像是抛物线形式?

答:因为J(θ)是一个二次函数 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,即预测值减去实际值的值的平方的和。

凸函数和凹函数

  • 凹函数:开口向下。
  • 凸函数:开口向上。
    优化函数都要是凸函数,才能找到最小点。但在实际中,优化函数经常是非凸函数,且局部最优解也能很好工作。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NPL1ksmv-1584586305864)(https://note.youdao.com/yws/api/personal/file/C656EFAC733A4BD8B7DAE3D766733350?method=download&shareKey=4051695621840ef9b6daccc51e6d2cb3)]

当有两个参数 θ 0 和 θ 1 \theta_0和\theta_1 θ0θ1时,误差函数实际上仍为碗状函数,且与训练集有关。(多元函数求极值?)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XmS43DiP-1584586305865)(https://note.youdao.com/yws/api/personal/file/F33D4D63A00A47ED854DD02E06FB282B?method=download&shareKey=6af3dbf4079053dff3ae8662946b74d2)]

右图为等高图像,显示了一系列 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)值相等的点。吴恩达在视频中选取了同心椭圆的中心,表述该点“不是最小值,但是已经相当接近”。 但是根据 J ( θ ) J(\theta) J(θ)的3D图像,我认为,所有同心椭圆的中心就是误差函数值最小的点。

2.5 梯度下降

repeat until convergence{
θ j : = θ j − α ∂ ∂   θ j J ( θ 0 , θ 1 )    ( f o r   j = 0   a n d   j = 1 ) \theta_j := \theta_j - \alpha\frac{\partial}{\partial \space\theta_j}J(\theta_0,\theta_1)\space\space (for\space j = 0\space and\space j = 1) θj:=θjα θjJ(θ0,θ1)  (for j=0 and j=1)

}

∂ \partial 是求偏导, d d d是求导

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GKVQybTp-1584586305866)(https://note.youdao.com/yws/api/personal/file/9D77A7E1DE58418A8F3FB4709679E0C5?method=download&shareKey=77d78ab8ebc3cb4860afff45d77b4768)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RACUNZez-1584586305867)(https://note.youdao.com/yws/api/personal/file/ADA857432026450DA7A4C81EB8B1E57F?method=download&shareKey=fe334357871a18d28f2e761dd75fe014)]

梯度下降法的工作:

  • α \alpha α的含义是学习速率,用来控制梯度下降时,以多大的幅度更新参数 θ j \theta_j θj
  • 设置 θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1的初始值,通常二者都设为0;初始值不同,最优解可能不同。
  • 不断改变 θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1的值来减小 J ( θ ) J(\theta) J(θ)的值,直到找到 J ( θ ) J(\theta) J(θ)的最小值或局部最小值
  • θ 0 和 θ 1 \theta_0和\theta_1 θ0θ1是需要同时更新的,见上图。

可以设置多个不同的初始值,得到不同的局部最优解,再从这些局部最优解中取最小的解

注意:= 代表赋值, = 代表两值相等。
例如:a:=b的意思是将b的值赋给a;a=b的意思是a的值和b的值相等。

2.6 梯度下降知识点总结

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4F6WwQKo-1584586305867)(https://note.youdao.com/yws/api/personal/file/769630E1A39E44C1B521FB7F8F1315EE?method=download&shareKey=ec836a3280b46cad6b901e78b9fcce13)]

当J( θ \theta θ)的导数为正数时,更新后的 θ \theta θ减小,如第一个坐标系所示;当J( θ \theta θ)的导数为负数时,更新后的 θ \theta θ增大,如第二个坐标系所示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UVh9gwea-1584586305868)(https://note.youdao.com/yws/api/personal/file/C7AD631A666D4117B61EA556A980B05B?method=download&shareKey=84dec257066b89f95389feba51c2c346)]

α \alpha α过小或过大会出现的情况如上图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qyb9wXz0-1584586305868)(https://note.youdao.com/yws/api/personal/file/82DB0D75B9DA45CDA075E687DFCF6626?method=download&shareKey=2059578c0575bd7c87a128e2bd665d21)]

当达到局部最优点之后, θ \theta θ的值不会再改变(导数为0),使得解始终保持在局部最优点。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CBpwL5PY-1584586305870)(https://note.youdao.com/yws/api/personal/file/F7633E171A5040A89068CA63B3881DEE?method=download&shareKey=44b0fd0f40019c727d0820c976af640e)]

当越来越接近最小值时,导数值会越来越小,学习速率 α \alpha α也会自动越来越小。当达到最低点后,就没有必要继续减小学习速率。

梯度下降算法可以用来最小化任何代价函数J

2.7 线性回归的梯度下降

将梯度下降算法应用到最小化平方差代价函数,关键在于导数项
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4P57JJm2-1584586305870)(https://note.youdao.com/yws/api/personal/file/FB3914FBB2184239804E5E5CDCB415DF?method=download&shareKey=75f6efb78e9df002345ce4268ec09193)]

θ 0 和 θ 1 \theta_0和\theta_1 θ0θ1求偏导
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FWVLKeUZ-1584586305871)(https://note.youdao.com/yws/api/personal/file/BAF732262C214CBC980C3C9BFFC2FD51?method=download&shareKey=3e43f4a338ae3de4afed1f2ea818dbd6)]

线性回归的梯度下降算法如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ycfzd3Le-1584586305871)(https://note.youdao.com/yws/api/personal/file/EAD08B9C81944C87BE9D4D90D684475A?method=download&shareKey=f075aadd18bb8490b0de78027c0e8341)]

线性回归的代价函数总是下图一样的凸函数,这个函数没有局部最优,只有全局最优
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fN4GQk0c-1584586305872)(https://note.youdao.com/yws/api/personal/file/C656EFAC733A4BD8B7DAE3D766733350?method=download&shareKey=4051695621840ef9b6daccc51e6d2cb3)]

上述梯度下降算法有时候被称为Batch梯度下降,意味着每一步梯度下降都遍历了整个训练集的样本。

有其他算法没有关注整个训练集,每次只关注了小子集,比如正规方程组方法。相比于正规方程组法,梯度下降法适合更大的数据集。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值