Linear Regression with Multiple Variables

Enviroment Setup Instruction

Setting Up Programming Assignment Enviroment

Access MATLAB Online and Upload the Programminig Exercise Files

由于电脑已经安装好matlab,所以这节略过。

Multivariate Linear Regression

Multiple Features

这节课中,将介绍一种更为有效的线性回归形式,这种形式适用于多个变量,或者多特征量的情况,叫矩阵乘法。
假如说我有四种特征值,那么:
Notation:
机器学习吴恩 吴恩达机器学课程讲义_机器学习吴恩 = number of features
机器学习吴恩 吴恩达机器学课程讲义_特征值_02 = input(features) of 机器学习吴恩 吴恩达机器学课程讲义_机器学习_03training example
机器学习吴恩 吴恩达机器学课程讲义_特征值_04 = value of feature j in 机器学习吴恩 吴恩达机器学课程讲义_机器学习_03 training example
Hypothesis:
机器学习吴恩 吴恩达机器学课程讲义_机器学习吴恩_06

那么我们给出多特征值的线性回归预测公式,为了方便,我们定义机器学习吴恩 吴恩达机器学课程讲义_机器学习吴恩_07
机器学习吴恩 吴恩达机器学课程讲义_特征值_08
这就是多元线性回归。

Giadient Descent for Multiple Variables

这节课中,我们将学到如何使用梯度下降法来找的多元线性回归函数的模型参数。
机器学习吴恩 吴恩达机器学课程讲义_特征值_09
机器学习吴恩 吴恩达机器学课程讲义_机器学习吴恩_10
机器学习吴恩 吴恩达机器学课程讲义_机器学习_11

Gradient Descent in Practice I-Feature Scaling

在这节课中,我们将学到特征缩放(feature scaling)的方法

feature Scaling

idea:Make sure features are on a similar scale.
当我们把所有特征值都规定到差不多的范围内,收敛的过程就会加快。
E.g.机器学习吴恩 吴恩达机器学课程讲义_机器学习_12=size(0-2000 feet机器学习吴恩 吴恩达机器学课程讲义_线性回归_13)
机器学习吴恩 吴恩达机器学课程讲义_线性回归_14=number of bedroom(1-5)
处理方法:
机器学习吴恩 吴恩达机器学课程讲义_多元线性回归_15
Get every feature into approximately a机器学习吴恩 吴恩达机器学课程讲义_机器学习吴恩_16range

Mean normalization(均值归一化)

Replace 机器学习吴恩 吴恩达机器学课程讲义_机器学习_17with 机器学习吴恩 吴恩达机器学课程讲义_机器学习_18to make features have approximately zero mean(Do not apply to 机器学习吴恩 吴恩达机器学课程讲义_机器学习吴恩_07)
例如:机器学习吴恩 吴恩达机器学课程讲义_特征值_20
机器学习吴恩 吴恩达机器学课程讲义_线性回归_21

Gradient Descent in Practice II-Learning Rate

这节课我们学习的是关于梯度下降算法中的学习率机器学习吴恩 吴恩达机器学课程讲义_机器学习_22,我们将学到怎么判断梯度下降工作是否正确以及怎么去选择学习率机器学习吴恩 吴恩达机器学课程讲义_机器学习_22

Making sure gradient descent is working correctly.

机器学习吴恩 吴恩达机器学课程讲义_机器学习_24


我们直接画出该图,x轴是迭代的次数,y轴是代价函数的值。如果梯度下降正确,那么每一步迭代后,代价函数的值都应该是下降的。

所以当我们的曲线出现不降反升等情况时,我们的学习率就说明设置过高了,如果曲线下降太慢,那说明我们的学习率设置太低了。

Features and Polynomial Regression

这个视频中,将讲到选择特征的方法以及如何得到不同的学习算法。另外会降到多项式回归。
我们在拟合时可以改进一下特征值和假设函数。
我们可以将多个特征值进行结合变成一个,举个例子,我们可以通过机器学习吴恩 吴恩达机器学课程讲义_特征值_25变为机器学习吴恩 吴恩达机器学课程讲义_多元线性回归_26

多项式回归

当我们的一条直线无法很好的进行拟合时,我们可以改善一下。
我们可以改为为二次,三次,立方根等形式将其变为曲线进行拟合。
还是要记住,均值归一化是非常重要的。

Computing Parameters Analytically

Normal Equation

这个视频中将讲到正规方程(Normal Equation)。
目前我们寻找参数的方法是使用梯度下降法。与之相反的是,正规方程提供了一种求解机器学习吴恩 吴恩达机器学课程讲义_机器学习_27的解析解法,我们可以一次性的求解参数的最优值。
首相,写出我们的代价函数。
机器学习吴恩 吴恩达机器学课程讲义_机器学习吴恩_28
我们只需求每个参数值的偏导,将结果置零,然后求出该参数值,即可得到能够最小化代价函数的参数值。
机器学习吴恩 吴恩达机器学课程讲义_机器学习吴恩_29
下面是我们的计算方法
机器学习吴恩 吴恩达机器学课程讲义_线性回归_30

pinv(X'*X)*X'*y

这个方法不需要进行归一化。
优缺点对比

Gradient Descent

Normal Equation

Need to choose.

No Need to choose.

Needs many iteration.

Don’t need to iterate.

Works well even when feature is large

Need to compute$ \left( {{X^T}X} \right)^{ - 1}$


Slow if feature is very large

Normal Equation Noninvertibility

这个视频中将讲到正规方程的不可逆性。
我们在线性代数中学到过,有些矩阵是不可逆的,这些不可逆的矩阵叫做奇异矩阵(singular)或退化矩阵(degenerate)。
但如果$ \left( {{X^T}X} \right)^{ - 1}$是不可逆的怎么办?

一般出现这种情况有两种:

  • 出现了多余特征值(线性相关)
     比如预测房价时我们有了两个特征值,一个是平方英米,一个是平方米
  • 出现了太多特征值(样本数量小于等于特征值数量)
     删除多余特征值,或者进行正则化