机器学习2——Linear Regression with Multiple Variables

Debug 调试。。bug 问题 iteration 迭代。。。 convergence 收敛。
机器学习2——Linear Regression with Multiple Variables
以上是对上期的补充。以下进入正题。

多特征

机器学习2——Linear Regression with Multiple Variables
机器学习2——Linear Regression with Multiple Variables
机器学习2——Linear Regression with Multiple Variables

Gradient Descent for Multiple Variables

多变量代价函数相对于单变量代价函数,没有什么变化。唯一变化就在于,原先是一个数,现在成了一个矩阵的数。公式等没有其他变化。
机器学习2——Linear Regression with Multiple Variables
机器学习2——Linear Regression with Multiple Variables

Gradient Descent in Practice I (实践1)- Feature Scaling(特征缩放)

下图中,左图是以原始数据绘制的代价函数轮廓图,右图为采用特征缩放。左图中呈现的图像较扁,相对于使用特征缩放方法的右图,梯度下降算法需要更多次的迭代。
这里特征缩放叫做均值归一化(Mean normalization)方法。它的公式如下:
机器学习2——Linear Regression with Multiple Variables
机器学习2——Linear Regression with Multiple Variables
机器学习2——Linear Regression with Multiple Variables

Gradient Descent in Practice II - Learning Rate

梯度下降算法收敛所需要的迭代次数根据模型的不同而不同,我们不能提前预知,我们
可以绘制迭代次数和代价函数的图表来观测算法在何时趋于收敛。
机器学习2——Linear Regression with Multiple Variables
也有一些自动测试是否收敛的方法,例如将代价函数的变化值与某个阀值(例如 0.001)
进行比较,但通常看上面这样的图表更好。
梯度下降算法的每次迭代受到学习率的影响,如果学习率 α 过小,则达到收敛所需的迭
代次数会非常高;如果学习率 α 过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛。
通常可以考虑尝试些学习率:
α=0.01, 0.03, 0.1, 0.3, 1, 3, 10

Features and Polynomial(多项式) Regression

特征选取时,可以自己归纳总结,定义一个新的特征,用来取代或拆分旧的一个或多个特征。比如,对于房屋面积特征来说,我们可以将其拆分为长度和宽度两个特征,反之,我们也可以合并长度和宽度这两个特征为面积这一个特征。

线性回归只能以直线来对数据进行拟合,有时候很多数据需要使用曲线来对数据进行拟合,即多项式回归(Polynomial Regression)。
机器学习2——Linear Regression with Multiple Variables
通常我们需要先观察数据然后再决定准备尝试怎样的模型。 另外,我们可以令:
机器学习2——Linear Regression with Multiple Variables
从而将模型转化为线性回归模型。
根据函数图形特性,我们还可以使:
机器学习2——Linear Regression with Multiple Variables
机器学习2——Linear Regression with Multiple Variables

正规方程(Normal Equation)

正规方程是通过求解下面的方程来找出使得代价函数最小的参数的: 机器学习2——Linear Regression with Multiple Variables
推导出:机器学习2——Linear Regression with Multiple Variables

注:对于那些不可逆的矩阵(通常是因为特征之间不独立,如同时包含英尺为单位的尺
寸和米为单位的尺寸两个特征,也有可能是特征数量大于训练集的数量),正规方程方法是不能用的。
机器学习2——Linear Regression with Multiple Variables
总结一下,只要特征变量的数目并不大,标准方程是一个很好的计算参数 θ 的替代方
法。具体地说,只要特征变量数量小于一万,我通常使用标准方程法,而不使用梯度下降法。对于这个特定的线性回归模型,标准方程法是一个比梯度下降法更快的替代算法。推导过程放在下面仅供参考,需要再证明。
机器学习2——Linear Regression with Multiple Variables

Normal Equation Noninvertibility(不可逆)

这部分前面提过了两次,这里做个总结。
机器学习2——Linear Regression with Multiple Variables

Matlab Tutorial(指导,教程)

见 后面跟新的作业。

参考文献:1.黄海广博士的机器学习笔记。
2.知乎Scruel的机器学习笔记。