一、Model representation(模型表示)

1.1 训练集

由训练样例(training example)组成的集合就是训练集(training set), 如下图所示, 其中(x,y)是一个训练样例, (x(i),y(i))是第 i个训练样例.

混合线性模型隐形关联性 线性混合模型基本假设_人工智能

1.2 假设函数

使用某种学习算法对训练集的数据进行训练, 我们可以得到假设函数(Hypothesis Function), 如下图所示. 在房价的例子中,假设函数就是一个房价关于房子面积的函数。有了这个假设函数之后, 给定一个房子的面积我们就可以预测它的价格了.

混合线性模型隐形关联性 线性混合模型基本假设_数据结构与算法_02

  Hypothesis这个词或许在这里不是很恰当。但这是机器学习中使用的标准术语.

混合线性模型隐形关联性 线性混合模型基本假设_数据结构与算法_03

以上这个模型就叫做单变量的线性回归(Linear Regression with One Variable). (Linear regression with one variable = Univariate linear regression,univariate是one variable的装逼写法.)

混合线性模型隐形关联性 线性混合模型基本假设_人工智能_04

 

二、Cost Function(代价函数)

2.1 什么是代价函数

只要我们知道了假设函数, 我们就可以进行预测了. 关键是, 假设函数中有两个未知的量θ0,θ1. 当选择不同的θ0和θ1时, 我们模型的效果肯定是不一样的.

如下图所示, 列举了三种不同的θ0和θ1下的假设函数.

混合线性模型隐形关联性 线性混合模型基本假设_人工智能_05

混合线性模型隐形关联性 线性混合模型基本假设_数据结构与算法_06

 

(其中的1/2只是为了后面计算的方便)我们记:

混合线性模型隐形关联性 线性混合模型基本假设_数据结构与算法_07

这样就得到了我们的代价函数(cost function), 也就是我们的优化目标, 我们想要代价函数最小:

混合线性模型隐形关联性 线性混合模型基本假设_混合线性模型隐形关联性_08

 

 

混合线性模型隐形关联性 线性混合模型基本假设_数据结构与算法_09

 

代价函数也被称为平方误差函数(Squared error function)

 

2.2 代价函数与假设函数

混合线性模型隐形关联性 线性混合模型基本假设_混合线性模型隐形关联性_10

2.2 代价函数与假设函数II

 

混合线性模型隐形关联性 线性混合模型基本假设_梯度下降_11

混合线性模型隐形关联性 线性混合模型基本假设_人工智能_12

混合线性模型隐形关联性 线性混合模型基本假设_人工智能_13

混合线性模型隐形关联性 线性混合模型基本假设_人工智能_14

类似地:

混合线性模型隐形关联性 线性混合模型基本假设_混合线性模型隐形关联性_15

 

混合线性模型隐形关联性 线性混合模型基本假设_数据结构与算法_16

 

混合线性模型隐形关联性 线性混合模型基本假设_数据结构与算法_17

 

我们不断尝试直到找到一个最佳的hθ(x)hθ(x)。是否有特定的算法能帮助我们找到最佳的hθ(x)hθ(x)呢?

下面我们就要介绍这个算法-梯度下降算法.

 

三. 梯度下降算法

3.1 梯度下降

混合线性模型隐形关联性 线性混合模型基本假设_人工智能_18

混合线性模型隐形关联性 线性混合模型基本假设_数据结构与算法_19

 

 可以把梯度下降的过程想象成下山坡, 如果想要尽可能快的下坡, 应该每次都往坡度最大的方向下山.

混合线性模型隐形关联性 线性混合模型基本假设_梯度下降_20

 

梯度下降算法得到的结果会受到初始状态的影响, 即当从不同的点开始时, 可能到达不同的局部极小值, 如下图:

混合线性模型隐形关联性 线性混合模型基本假设_代价函数_21

 

混合线性模型隐形关联性 线性混合模型基本假设_人工智能_22

混合线性模型隐形关联性 线性混合模型基本假设_混合线性模型隐形关联性_23

 

3.2 梯度和学习率

我们先来看看梯度下降算法的梯度是如何帮助我们找到最优解的. 为了研究问题的方便我们还是同样地令θ0θ0等于0,假设一开始选取的θ1θ1在最低点的右侧,此时的梯度(斜率)是一个正数。根据上面的算法更新θ1θ1的时候,它的值会减小, 即靠近最低点。

混合线性模型隐形关联性 线性混合模型基本假设_代价函数_24

 

类似地假设一开始选取的θ1θ1在最低点的左侧,此时的梯度是一个负数,根据上面的算法更新θ1θ1的时候,它的值会增大,也会靠近最低点.

混合线性模型隐形关联性 线性混合模型基本假设_梯度下降_25

 

如果一开始选取的θ1θ1恰好在最适位置,那么更新θ1θ1时,它的值不会发生变化。

混合线性模型隐形关联性 线性混合模型基本假设_数据结构与算法_26

学习率α会影响梯度下降的幅度。如果α太小, θ的值每次会变化的很小,那么梯度下降就会非常慢;相反地,如果α过大,θ的值每次会变化会很大,有可能直接越过最低点,可能导致永远没法到达最低点。

混合线性模型隐形关联性 线性混合模型基本假设_混合线性模型隐形关联性_27

αα的值来减小下降程度。

 

混合线性模型隐形关联性 线性混合模型基本假设_代价函数_28

 

3.3 计算梯度

根据定义, 梯度也就是代价函数对每个θ的偏导:

混合线性模型隐形关联性 线性混合模型基本假设_代价函数_29

混合线性模型隐形关联性 线性混合模型基本假设_代价函数_30

 

由此得到了完整的梯度下降算法:

混合线性模型隐形关联性 线性混合模型基本假设_梯度下降_31

 还记得这个图吗, 前面说了梯度下降算法得到的结果会受初始状态的影响, 即初始状态不同, 结果可能是不同的局部最低点.

混合线性模型隐形关联性 线性混合模型基本假设_人工智能_32

 

事实上,用于线性回归的代价函数总是一个凸函数(Convex Function)。这样的函数没有局部最优解,只有一个全局最优解。所以我们在使用梯度下降的时候,总会得到一个全局最优解。

混合线性模型隐形关联性 线性混合模型基本假设_混合线性模型隐形关联性_33

 

下面我们来看一下梯度下降的运行过程:

 

混合线性模型隐形关联性 线性混合模型基本假设_代价函数_34

混合线性模型隐形关联性 线性混合模型基本假设_梯度下降_35

混合线性模型隐形关联性 线性混合模型基本假设_混合线性模型隐形关联性_36

混合线性模型隐形关联性 线性混合模型基本假设_数据结构与算法_37

混合线性模型隐形关联性 线性混合模型基本假设_人工智能_38

混合线性模型隐形关联性 线性混合模型基本假设_代价函数_39

迭代多次后,我们得到了最优解。现在我们可以用最优解对应的假设函数来对房价进行预测了。例如一个1,250平方英尺的房子大概能卖到250k$,如下图所示:

混合线性模型隐形关联性 线性混合模型基本假设_混合线性模型隐形关联性_40