090001 梯度下降

来源:互联网 发布:袖珍三公主淘宝 编辑:程序博客网 时间:2024/05/18 00:29

        本讲NG大牛讲解了梯度下降(Gradient descent)方法 ,首先以波特兰俄勒冈的房屋面积和售价关系为例,讲解了监督学习的一般模式,通过一个训练集,利用学习算法,得到一个假设(历史原因造成的叫法,就是一个预测模型)。当输入值x进入,通过假设,得到一个预测值y,如图所示:


    当只有一个变量即面积时,其关系可以定义为:


    接着增加问题难度,增加了一个变量,即房间的个数,事实上这个参数会影响房子的售价,于是模型中的参数也多了一个,其关系也就随之定义为:


    训练的目的是使得代价方程(cost function)的值最小:


    于是乎梯度下降算法就闪亮登场了,方法思想就是从某一点开始,每次向梯度下降最快的方向移动,直到到达局部最小点。而这个下降就体现在对样本的权值跟新上,更新公式为:


    如果只有一个样本,那么用求偏导,则得到最大梯度方向的下降量。推导如下:



    对求导,只有有关系,因此



    对于多个样本,则重复下面的操作,直到收敛


    在训练过程中,每次更新样本都要用全部样本训练一次,当样本数量很大时,效率会很低。因此,出现随机梯度下降的方法,该方法,每次用一个样本训练,然后用该结果对全部样本的权重进行更新,提高了算法的效率,NG大牛说有个定理可以解释这个问题,但是他忘记了,大牛也有打盹的时候啊。

    梯度下降法一定会收敛于一个局部最优值,并且初始值的选择对结果影响很大,相对而言,计算速度较慢一些。而随机梯度下降方法相对而言速度快,在收敛过程中会有跳跃,因此可以跳过一些小的局部最优值,最终达到全局最优,但是不是精确达到。这两种方法在只有唯一最优的情况下,表现最好。

    无论梯度下降还是随机梯度下降,都需要不断迭代,获得一组参数,使得代价值最小。那么有没有方法可以不用迭代,直接计算出这组参数呢。NG大牛通过一长串的推导,告诉我们另外一种方法,最小二乘法。

    利用方阵的迹的性质,推导出:


精彩的推导,不仅仅带来是知识,更是一种乐趣和享受。


0 0
原创粉丝点击