机器学习笔记 week02

一、线性回归

它称作监督学习是因为对于每个数据来说,我们给出了“正确的答案”,即告诉我们:根据我们的数据来说,房子实际的价格是多少,而且,更具体来说,这是一个回归问题。回归一词指的是,我们根据之前的数据预测出一个准确的输出值。

1、假设函数

单变量的假设函数:
在这里插入图片描述

2、代价函数

我们选择的参数 θ0,θ1 决定了我们得到的直线相对于我们的训练集的准确程度,模型所预测的值与训练集中实际值之间的差距(下图中蓝线所指)就是建模误差(modeling error)。
在这里插入图片描述
我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。 即使得代价函数最小,代价函数的表达式:
在这里插入图片描述
举例
在这里插入图片描述
在上图中,先假设 θ0 = 0,分别让θ1 = 0,0.5,1,代入到代价函数(Cost)中,看看哪个能使代价函数的值最小。经检测,当θ1 = 1时,代价函数的值为0最小,所以假设函数h(x) = θ0 + θ1x = x 可以拟合数据。

3、梯度下降

梯度下降背后的思想是:开始时我们随机选择一个参数的组合(θ0,θ1,θ2,…,θn),计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到达到一个局部最小值(local minimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值(global minimum),选择不同的初始参数组合,可能会找到不同的局部最小值。

举例:
想象一下你正站立在山的这一点上,站立在你想象的公园这座红色山上,在梯度下降算法中,我们要做的就是旋转360度,看看我们的周围,并问自己要在某个方向上,用小碎步尽快下山。这些小碎步需要朝什么方向?如果我们站在山坡上的这一点,你看一下周围,你会发现最佳的下山方向,你再看看周围,然后再一次想想,我应该从什么方向迈着小碎步下山?然后你按照自己的判断又迈出一步,重复上面的步骤,从这个新的点,你环顾四周,并决定从什么方向将会最快下山,然后又迈进了一小步,并依此类推,直到你接近局部最低点的位置。

(1)批量梯度下降(batch gradient descent)算法的公式为:
在这里插入图片描述
其中是 α 学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大,在批量梯度下降中,我们每一次都同时让所有的参数减去学习速率乘以代价函数的导数。并且需要同时更新θ。

这是代价函数J(θ):
在这里插入图片描述
需要注意的是,在梯度下降法中,当我们接近局部最低点时,梯度下降法会自动采取更小的幅度,这是因为当我们接近局部最低点时,很显然在局部最低时导数等于零,所以当我们接近局部最低时,导数值会自动变得越来越小,所以梯度下降将自动采取较小的幅度,这就是梯度下降的做法。所以实际上没有必要再另外减小 α

(2)对批量梯度下降算法化简
梯度下降算法和线性回归模型比较如图:
在这里插入图片描述
求微分公式为:
在这里插入图片描述在这里插入图片描述
则算法改写成:
在这里插入图片描述

二、多变量线性回归

1、假设函数

在这里插入图片描述
这个公式中有 n+1 个参数 θ 和 n 个变量,为了使得公式能够简化一些,引入 x0 = 1 ,则公式转化为:
在这里插入图片描述
此时模型中的参数 θ 是一个 n+1 维的向量,任何一个训练实例也都是 n+1 维的向量,特征矩阵 X 的维度是 m * ( n+1 ) 。 因此公式可以简化为:hθ(x)= XθT

2、代价函数

在这里插入图片描述

3、批量梯度下降算法

在这里插入图片描述
即:
在这里插入图片描述
求导数后得到:
在这里插入图片描述

4、特征缩放

帮助梯度下降算法更快地收敛。

解决的方法是尝试将所有特征的尺度都尽量缩放到-1到1之间:
在这里插入图片描述
其中 μn 是平均值,sn 是标准差 或者 xn的范围(max - min)

5、学习率α

如果学习率 α 过小,则达到收敛所需的迭代次数会非常高;
如果学习率 α 过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛。

通常可以考虑尝试些学习率:
α = 0.01,0.03,0.1,0.3,1,3,10

6、正规方程

梯度下降正规方程的比较:
在这里插入图片描述
正规方程是通过求解下面的方程来找出使得代价函数最小的参数的,正规方程公式:
在这里插入图片描述

举例:
在这里插入图片描述
运用正规方程方法求解参数θ:
在这里插入图片描述