1.Model Representation
第一个学习的算法:线性回归算法。
例子描述:这个例子是预测住房价格的,我们要使用一个数据集,数据集包含俄勒冈州波特兰市的住房价格。在这里,我要根据不同房屋尺寸所售出的价格,画出我的数据集。比方说,如果你朋友的房子是 1250 平方尺大小,你要告诉他们这房子能卖多少钱。那么,你可以做的一件事就是构建一个模型,也许是条直线,从这个数据模型上来看,也许你可以告诉你的朋友,他能以大约220000(美元)左右的价格卖掉这个房子。这就是监督学习算法的一个例子(如下图所示)。
课程所需的数学符号以及意义:
从图中可以看出,我们通过训练集的训练最终得到了一个h,那么h到底的长什么样呢?h可以表示为一种最简单的一元二次函数,即:
因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题。
2.Cost Function
定义代价函数目的是为了更好的拟合我们的h和数据,这里我们用误差的平方和的1/2m来表示我们的代价函数
其实我们真正要做的就是尽量减少这个代价函数的值,那么怎么减少呢?
我们先将
这个时候我们可以根据不同的
上图使我们假设
变量从一个变为两个,维度很自然的从二维变成了三维,为了方便描述,将三维图画成了等高线图。
3.Gradient Descent
前两节我们最终得到了一个代价函数的图,但是前提是假设我们计算了所有可能的
思想:
开始时我们随机选择一个参数的组合(θ0,θ1,…,θn), 计算代价
函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到到到一个局部最小值(local minimum) , 因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值(global minimum),选择不同的初始参数组合,可能会找到不同的局部最小值。
想象一下你正站立在山的这一点上,站立在你想象的公园这座红色山上,在梯度下降算法中,我们要做的就是旋转 360 度,看看我们的周围,并问自己要在某个方向上,用小碎步尽快下山。这些小碎步需要朝什么方向?如果我们站在山坡上的这一点,你看一下周围,你会发现最佳的下山方向,你再看看周围,然后再一次想想,我应该从什么方向迈着小碎步下山?然后你按照自己的判断又迈出一步,重复上面的步骤,从这个新的点,你环顾四周,并决定从什么方向将会最快下山,然后又迈进了一小步,并依此类推,直到你接近局部最低点的位置。
- 学习率
α : 小了下降速度慢,但利于收敛,大了下降速度快,但很可能导致难以收敛,甚至发散。θ0,θ1 保持同步跟新。- 学习率
α 不变也能收敛是因为,梯度下降公式中的导数值会变小。