吴恩达机器学习笔记——二、线性回归
说在最前面,这门课将要学什么
我们开始吧!!!
1 符号定义
m:训练集的样本个数
x’s:输入变量/特征
y’s:输出变量/特征
(x, y):一个训练样本
(x(i), y(i)):第i个训练样本
h:假设函数,h maps from x’s to y’s
= 表示判断
:= 表示赋值
2 代价函数的定义
我们要做regression,那么应该最小化平均误差值,即优化函数为:
所以我们定义代价函数J(θ0, θ1)为:
注意:J是θ的函数
3 代价函数的作用
假设我们需要拟合的数据为房屋面积与房价,做一次线性回归:
则针对不同的θ0, θ1,有不同的代价函数值,J(θ0, θ1)为三维空间中的一个曲面:
转化为等高线图:
故更好的假设函数的参数θ0, θ1对应更小的假设代价函数值,直观上看就是寻找J(θ0, θ1)在空间中的最低点。
4 梯度下降
4.1算法描述:
α:学习率
注意:θ0, θ1要同步更新左下为正确的更新步骤,右下为不正确的更新步骤:
4.2 学习率的理解:
令自变量向着令因变量(代价函数)减小的方向变化,而每次变化的幅度大小由学习率和当前位置的偏导数确定。
- 如果α太小:梯度下降会太慢
- 如果α太大:很可能越过最低点,甚至无法收敛或者发散
如果处于局部最低点,则梯度下降结束。但是线性回归的代价函数没有局部极小值,总是一个碗状的函数(凸函数)。
注意:我们每一步得到更新都用到了训练集中所有样本的偏导数,这又称为“Bach”梯度下降
以后的课程中会使用normal equations methods 来求代价函数J的最小值,不需要用迭代即可。