单变量线性回归(Linear Regression with One Variable)
2.1 模型表达(Model Representation)
- m 代表训练集中实例的数量
- x 代表特征/输入变量
- y 代表目标变量/输出变量
- (x,y) 代表训练集中的实例
- (x(i),y(i) ) 代表第 i 个观察实例
- h 代表学习算法的解决方案或函数也称为假设(hypothesis)
单变量线性回归:只含有一个特征/输入变量 x
hθ=θ0+θ1x
2.2 代价函数(Cost Function)
目标便是选择出可以使得建模误差的平方和能够最小的模型参数,使得代价函数 J(θ0,θ1) 最小
J(θ0,θ1)=12m∑1m(hθ(x(i))−y(i))2
J(θ0,θ1) 形成的图像:Bowl-shaped弓形函数,又叫convex function 凸函数:
-
θ0=0
时:
J(θ1) 随着 θ1 的改变而改变
-
θ0θ1
都存在:
二维上用不同颜色的等高线把Bowl-shaped弓形函数映射为如下右图
2.3 梯度下降(Gradient Descent)
- 开始:随机选择一个参数的组合(θ0,θ1,…,θn)
一直改变(θ0,θ1,…,θn)来减小代价函数 J(θ0,θ1)
直到到一个 局部最小值(local minimum)
因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是 全局最小值(global minimum)
选择不同的初始参数组合,可能会找到不同的局部最小值(如下图)。
批量梯度下降(batch gradient descent):下降的每一步都使用所有的训练样本。
要同时更新 θ0 θ1 :
公式 | 含义 |
---|---|
∂∂θjJ(θ0,θ1) | 1.该点的切线斜率(slope):决定下降方向 |
α | 2.学习率(learning rate):决定了下降方向向下迈出的步子有多大。 |
- 切线斜率(slope):可正可负(下降方向)
2.学习率(learning rate)
α
过小:下降过慢
α
过大:过学习,可能不能找到局部最小值或不能收敛
因为随着下降过程,越来越接近局部最小值(此处斜率为0),斜率(梯度)逐渐减小,所以无需减小 α ,下降步子也会随斜率减小。如下图:
2.4 对线性回归运用梯度下降法
把梯度下降法用于对线性回归求代价函数的最小值:
j=0时:
j=1时:
得到此线性函数 hθ(x) 的梯度下降公式:
因为线性函数的代价函数总是convex function 凸函数,所以梯度下降只有一个局部最小值,也就是全局最小值了。
2.5 测试