梯度与最优化
数学上的梯度是描述一个曲线或曲面沿着某一方向的变化的情况。计算方法就是求导数。
在机器学习领域为什么要使用梯度呢?
首先这个问题要追溯到最优化的问题上面,我们在求解一个拟合函数或者求解一个类别判别函数的过程中,会面临损失函数,以及如何让这个损失函数的问题。所以梯度下降就是让损失函数最小的过程最短。可以把损失函数看成是一个超平面,沿着各个方面的梯度下降就是考察的各个特征的变化。还有一点需要说明的是:整个过程是为了求解参数的最优解。
批量梯度下降
批量梯度下降也叫作标准梯度下降,我们在求拟合函数的过程中会用到梯度下降,下面我们以求解最有拟合函数为例来讲批量梯度下降。
假设拟合函数为:
公式中theta为参数,j代表参数的个数。这个式子表示拟合函数是一个线性的,比如说f(x)=x1+x2+x3.在我们的训练数据中应该有很多的X和很多的y,其中X是一个多维度的矩阵,X={x1,x2,x3} x1即特征。这里不懂的同学可以提前学习机器学习的基本知识。我们按照一定的准则求解拟合函数,一般情况下可以采用最小二乘法损失函数来衡量函数的好坏。简单来说就是误差的一种表现形式。如下所示:
上面的式子中,m代表数据的记录数。
批量梯度下降需要运用所有的数据对每个参数求梯度。