机器学习线性回归之梯度下降
梯度下降的作用
梯度下降是用来一个求最小函数的算法,在这里用梯度下降算法来求出代价函数的最小值。
梯度下降的思想
开始时随机选择一个参数的组合(θ0,θ1,…,θn)【初始化参数值】,计算代价函数,然后寻找下一个能让代价函数
值下降最多的参数组合。持续这么做直到到到一个局部最小值(local minimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值(global minimum),选择不同的初始参数组合,可能会找到不同的局部最小值。也就是说,找到的最小值,不一定是全局最小,多数情况下是局部最小。
梯度下降算法公式的推导
回顾代价函数的公式
定义:也叫损失函数,用来进行参数估计。当用一个确定的方程来拟合一些数据集时,为了保证方程最为合适拟合程度最好,即每一个点的预测值和真实值的差距都要小,故可用求方差的方法,将每一个点的预测值与真实值的差求平方和后再除以数据样本的个数。值越小说明方程越能反映真实情况,把这个方程中的参数看做未知数,则变成了参数的方程,求方程最小值参数即可确定。
梯度下降函数的定义
-
比如是二项式有两个变量θ0和θ1,就好像下山一样,先选定一个起点如(θ0=0,θ1=0),此时所在山的高度是f(0,0),不停寻找下一步斜率最小也即下降最快的方向,最终会来到一个局部最点,即极值点