【含课程pdf & 测验答案】吴恩达-机器学习公开课 学习笔记 Week2-1 Linear Regression with Multiple Variables

2-1 Linear Regression with Multiple Variables 课程内容

此文为Week2 中Linear Algebra Review的部分。此部分为可选内容。

2-1-1 Environment Setup Instructions

作业要求使用Octave或者MATLAB完成。

使用在线MATLAB,无需安装:https://matlab.mathworks.com/

2-1-2 Multivariate Linear Regression

Multiple Features

多变量或多特征量的情况:
在这里插入图片描述
假设函数:
在这里插入图片描述
将函数改写为参数向量θ以及特征向量X的内积,让我们可以以这种紧凑的形式写出假设。
在这里插入图片描述
这就是多特征量情况下的假设函数,就是所谓的多元线性回归

Gradient Descent for Multiple Variables

如何找到满足这一假设的参数,尤其是如何使用梯度下降法来解决多特征的线性回归问题。
将 n+1个θ参数想象成一个n+1维的向量θ。
在这里插入图片描述
更新后的梯度下降算法:
在这里插入图片描述

Gradient Descent in Practice I - Feature Scaling

如果你有一个机器学习问题,这个问题有多个特征。如果你能确保这些特征都处在一个相近的范围,我的意思是确保不同特征的取值在相近的范围内。这样梯度下降法就能更快地收敛。

eg. x1是房屋面积大小,取值在0到2000之间。x2 是卧室的数量,取值范围在1到5之间 。
轮廓图:(忽略θ0)
在这里插入图片描述
如果你用这个代价函数来运行梯度下降的话,你要得到梯度值最终可能需要花很长一段时间,并且可能会来回波动。然后会经过很长时间最终才收敛到全局最小值。

在这样的情况下 一种有效的方法是进行特征缩放(feature scaling)。

具体来说,把特征 x 定义为房子的面积大小除以2000的话,并且把 x2 定义为卧室的数量除以5。那么这样的话,表示代价函数 J(θ) 的轮廓图的形状就会变得偏移没那么严重。
在这里插入图片描述
因此,通过特征缩放,通过"消耗掉"这些值的范围。在这个例子中,我们最终得到的两个特征 x1 和 x2 都在0和1之间。这样你得到的梯度下降算法就会更快地收敛。

更一般地,我们执行特征缩放时,我们通常的目的是:将特征的取值约束到 -1 到 +1 的范围内。

有时候我们也会进行一个 称为均值归一化的工作(mean normalization)。
在这里插入图片描述

特征缩放&归一化

  • 特征缩放是将输入值除以输入变量的范围(即最大值减去最小值),得到的新范围只有1。
  • 归一化涉及到从输入变量的值中减去输入变量的平均值,从而得到一个只有0的输入变量的新平均值

要实现这两种技术,请按如下公式调整输入值:

  • μi :所有特征值i的平均值
  • si :max-min 或者 标准差
    在这里插入图片描述

eg.房价范围100~2000,均值1000
在这里插入图片描述

Gradient Descent in Practice II - Learning Rate

梯度下降算法所做的事情,就是为你找到 一个 θ 值,并希望它能够最小化代价函数 J(θ)。
如果梯度下降算法正常工作,那么每一步迭代之后 J(θ) 都应该下降。
在这里插入图片描述
看这条曲线可以帮助你判断梯度下降算法是否已经收敛。
对于每一个特定的问题 梯度下降算法所需的迭代次数可以相差很大。实际上,我们很难提前判断。通常我们需要画出代价函数随迭代步数数增加的变化曲线,通过看这种曲线来试着判断梯度下降算法是否已经收敛。
另外,也可以进行一些自动的收敛测试,来告诉你梯度下降算法是否已经收敛。

自动收敛测试一个非常典型的例子是:如果代价函数 J(θ) 的下降小于一个很小的值 ε,那么就认为已经收敛。

总结:

  • 如果α太小: 收敛速度慢。
  • 如果α太大: 可能不会减少在每一个迭代,因此可能不收敛。

Features and Polynomial Regression

当选择了合适的特征后,这些算法往往是非常有效的。有时通过定义新的特征,你确实会得到一个更好的模型。

与选择特征的想法密切相关的一个概念被称为多项式回归(polynomial regression)。

eg. 你有这样一个住房价格的数据集。为了拟合它,可能会有多个不同的模型供选择。
在这里插入图片描述
我们探讨了多项式回归,也就是如何将一个多项式,如一个二次函数或一个三次函数拟合到你的数据上。除了这个方面,我们还讨论了在使用特征时的选择性。

因此,你可以使用一个算法观察给出的数据,并自动为你选择到底应该选择 一个二次函数或者一个三次函数还是别的函数。

2-1-3 Computing Parameters Analytically

Normal Equation

标准方程法提供了一种求 θ 的解析解法,可以***直接一次性***求解θ的最优值。

假设 θ 只是一个标量,或者说 θ 只有一行,它是一个数字不是向量的时候我们对J求导,将导数置零时就可得到最小值。
θ不是一个实数的情况,是一个n+1维的参数向量时,对所有θi求偏导。这个结果可能很复杂,实际上不是遍历所有的偏微分。
在这里插入图片描述
eg. 我有 m=4 个训练样本。
在这里插入图片描述
首先,加上一列对应额外特征变量x0(值均为1)。构建一个矩阵X包含训练样本所有特征变量。将预测值构建一个向量y。最后 如​​果你用矩阵 X 和向量 y 来计算这个 θ,这样就得到能够使得代价函数最小化的 θ。
在这里插入图片描述
通常来说,假如我们有 m 个训练样本 x(1) y(1) 直到 x(m) y(m), n 个特征变量。所以每一个训练样本 xi 可能看起来像一个 n+1 维特征向量。
我要构建矩阵 X 的方法也被称为设计矩阵。这样矩阵 X 就是一个 m*(n+1) 维矩阵 这样矩阵 X 就是一个 m*(n+1) 维矩阵。
在这里插入图片描述
当我们使用标准方程时,我们不需要进行特征归一化。
在这里插入图片描述

标准方程与梯度下降对比

在这里插入图片描述
只要特征变量的数目并不大,标准方程是一个很好的计算参数 θ 的替代方法。具体地说 只要特征变量数量小于一万 我通常使用标准方程法,而不使用梯度下降法。
对于那些更复杂的学习算法,我们将不得不仍然使用梯度下降法,可以用在有大量特征变量的线性回归问题。

Normal Equation Noninvertibility

当矩阵XTX不可逆?
通常有两种最常见的原因:

  1. 在你的学习问题中你有冗余特征,即两个特征密切相关(即它们是线性相关的)。
  2. 你想用大量的特征值 (e.g. m≤ n)。在这种情况下,删除一些特性或使用“正则化”
    上述问题的解决方案包括删除与另一个特性线性相关的特性,或者删除一个或多个特性(当特性太多时)。

在Octave里,有两个函数可以求解矩阵的逆,一个被称为pinv() ,另一个是inv() 。这两者之间的差异是些许计算过程上的,一个是所谓的伪逆,另一个被称为逆。用pinv() 函数可以展现数学上的过程,这将计算出θ的值,即便矩阵X’X是不可逆的。

2-1-4 测验 Linear Regression with Multiple Variables

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

课程链接

https://www.coursera.org/learn/machine-learning/home/week/2

课件

课件链接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值