吴恩达 【机器学习】第五章 多变量线性回归

吴恩达 【机器学习】第五章 多变量线性回归

5.1 多变量

吴恩达 【机器学习】第五章 多变量线性回归

  • 假设函数可以写为一个行向量与一个列向量的内积
  • 多元线性回归(Multivariate Linear Regression):有 多个 特征 用来预测 值y
    吴恩达 【机器学习】第五章 多变量线性回归

5.2 多元梯度下降(Gradient descent for multiple variables)

吴恩达 【机器学习】第五章 多变量线性回归
吴恩达 【机器学习】第五章 多变量线性回归

5.3 特征缩放(Feasure Scaling):为了使梯度下降得更快、收敛所需要的迭代次数更少

在我们面对多维特征问题的时候,我们要保证这些特征都具有相近的尺度,这将帮助梯度下降算法更快地收敛
吴恩达 【机器学习】第五章 多变量线性回归
尺度相差很大的特征,以两个参数分别为横纵坐标,绘制代价函数的等高线图能,看出图像会显得很扁,梯度下降算法需要非常多次的迭代才能收敛。
最简单的方法是均值归一化
令:xi=xiμisi{{x}_{i}}=\frac{{{x}_{i}}-{{\mu}_{i}}}{{{s}_{i}}},其中 μi{\mu_{i}}是平均值,si{s_{i}}是标准差(si=max(xi)min(xi){{s}_{i}}=max({{{x}_{i}}})-min({{{x}_{i}}}))。
吴恩达 【机器学习】第五章 多变量线性回归

5.4 学习率(Learing rate)

  • 通过绘制迭代次数和代价函数的图表来观测算法在何时趋于收敛。
  • 梯度下降算法的每次迭代受到学习率的影响,
    如果学习率aa过小,则达到收敛所需的迭代次数会非常高;
    如果学习率aa过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛。
    吴恩达 【机器学习】第五章 多变量线性回归
    吴恩达 【机器学习】第五章 多变量线性回归

5.5 特征和多项式回归(Feasures and polynomial regression)

  • 有时,通过定义新的特征,你可能会得到一个更好的模型,比如用房子的area代替frontage和depth.(area = frontage*depth)
    吴恩达 【机器学习】第五章 多变量线性回归
  • 多项式回归
    吴恩达 【机器学习】第五章 多变量线性回归
    吴恩达 【机器学习】第五章 多变量线性回归

5.6 正规方程(Normal Equation):区别于迭代方法的直接解法

吴恩达 【机器学习】第五章 多变量线性回归
吴恩达 【机器学习】第五章 多变量线性回归
吴恩达 【机器学习】第五章 多变量线性回归
正规方程的python实现:

import numpy as np
    
def normalEqn(X, y):
   theta = np.linalg.inv(X.[email protected])@X.[email protected] #[email protected]等价于X.T.dot(X)
   return theta

梯度下降VS正规方程

吴恩达 【机器学习】第五章 多变量线性回归

  • 正规方程法不需要进行特征缩放

5.7 正规方程在矩阵不可逆(non-invertibility)情况下的解决方法

吴恩达 【机器学习】第五章 多变量线性回归