训练样本记为m,特征为x,对应目标值为y,(x,y)表示一组训练样本,h为从x到y的函数映射。
单变量线性回归:h(x)=θ0++θ₁x
代价函数是实际y值与期望y值的方差的二分之一,其函数表达式为:
代价函数也称为平方误差代价函数,简记为:
我觉得代价函数是一个随θ₁变化的函数,当J(θ₁)取值为最小时,此时的θ₁为最小化值,即此时的θ₁能够使线性回归函数h(x)拟合大多数y的实际值。这里是假设θ0为0的情况。当θ0不为0的时候,J(θ)是随着θ0和θ₁变化的轮廓图contour plots。
由于需要不断的调试θ0和θ₁的值来查找J(θ0,θ₁)的最小值,所以引入了梯度下降算法。
梯度下降算法:设置θ0和θ₁为0,想象J(θ0,θ₁)图像为几座山峰,从(0,0)出发,不断环顾四周,一直往最低点行进(但是如果找到一个局部最优解,可能这个局部最优解的误差也会很大吧?难道要记录大量的局部最优解,然后取最小值?)
梯度下降算法:通过不断循环下列函数进行收敛,收敛的意思可能是求最优解或者局部最优解吧
α 为学习速率,即在山峰往下跨一步的大小。
循环求解公式的时候,需要同时求解出θ0,θ₁等各个特征参数的值。
由线性回归函数和代价函数之间的关系,梯度下降算法可以改写成如下