假设函数:抽象出来的数据模型,含有大量的参数变量
代价函数:用来计算使假设函数和实际值差距最小的方法。进而确定假设函数中参数变量的值。
代价函数
目标:寻找一个theta_1, theta_0 使得预测值接近训练集中的样本
方法:预测值与ground truth求差的平方,对于所有样本的该值进行求和,最后除以2m(1/2为简化计算,后面有求导2*1/2变1),形成代价函数。最小化该代价函数,得到对应的theta_0和theta_1.
求解假设函数的方式:
定义:梯度下降是迭代法中的一种,可以用于求解最小二乘问题。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了。在机器学习中,基于基本的梯度下降法发展了两种梯度下降方法,分别为随机梯度下降法和批量梯度下降法。
等高线图:
将三维的空间图转化为二维图形求两个参数下的代价函数最小值。不同的梯度下降起始点可能会得到不同的局部最优点。
梯度下降算法:
- 目的:寻找代价函数最小时的参数
- 方法:找到梯度最大的方向
- 结果:局部最优解
- 注意:同步更新
学习率α代表更新的幅度。
考虑偏导数项,考虑其正负,正或负都会将参数更新的方向引导向最低谷。
若学习率过小,更新效率会很低;
若学习率过大,或许会错过最低谷。
考虑梯度下降法已经将参数调整至一个局部低谷,若继续用梯度下降法,由于导数项为0,所以更新会停滞。
即使学习率不变,梯度下降法也可以找到局部低谷。
“Batch” Gradient Descent:
“Batch” : Each step of gradient descent uses all the training examples