一、一些代号:
m:训练样本的数量
x:输入特征
y:输出变量(预测出的值)
(x,y):表示一个训练样本
(x∧(i),y∧(i)):表示第i个训练样本
hypothesis:假设函数
:= 赋值,a:=b就是把b赋值给a
二、一个例子:房价预测模型
假设函数:h(x)=θ0+θ1*x
我们需要通过训练样本得出θ0和θ1,那么如何得出呢?因为我们的目的是尽量减少预测值和实际值的差距,即抽象为预测值和实际值差的平方和,所以我们使用代价函数(平方误差代价函数):
(这里的m是训练集数据量)
现在,我们要做的就是关于θ0和θ1对函数J求最小值。我们使用梯度下降法将代价函数J最小化。
三、梯度下降算法思路:
1.首先给θ0和θ1一个初值,一般为0.
2.不断更新θ0和θ1,知道得到J的最小值,用如下算式:
(j=1, j=0)
其中α是学习速率,他控制我们以多大的幅度去更新θ0和θ1。
3.要保证θ0和θ1是同时更新的。
四、局部最优解问题
对于梯度下降算法,往往会出现局部最优解,而怎样确定局部最优解是否为全局最优解是我们需要解决的问题。但对于线性回归来说,不存在局部最优,因为线性回归的代价函数通常是一个凹函数,只有一个最优解。