梯度下降(gradient descent)

梯度

在某个点的位置法向量,所以它的方向表示下降最快或者上升最快也就很好理解了。
法向量:假设平面a与向量n垂直,且n是非零向量,那么n就是a的法向量。由于是垂直的关系,针对当前点而言,肯定是变化最快的方向。

这里写图片描述

  1. 梯度是一个方向,而且是针对某个点(其实是这个点对应的切面)
  2. 这个方法变化率最快,用偏导来表达 =(fx,fy,fz)(1)

梯度下降方法主要用户解决机器学习的训练问题。于是引出监督学习。

监督学习


这里写图片描述

如上图所示,监督学习:对于给定的训练集合,按照某一学习算法学习之后,得到一种好的假设(Hypotheses)用于预测新的数据。
而学习的过程,很多都利用了梯度下降法,比如:线性回归、神经网络等。

已知m组数据 (x1,y1),....,(xm,ym) ,其中 xi 是具有n维特征的向量。我们做如下假设:

h(x)=i=0mθixi=θTx(2)

对于给定的训练集合,如何选择最优的 θ 值。一个方法是:至少在训练集合上,h(x)越接近实际值y越好。因此,制定一个成本函数(cost function)则至关重要,在机器学习模型中,都必须有一个成本函数或者误差函数,这样才有目标性。
定义目标函数为:
J(θ)=12i=1m(h(x(i))y(i))2(3)

有的地方用了下标,为了区分,注意上标代表第i个训练样本,下标代表第j个特征。后面会重复提到,因为这地方特别容易弄混。

该成本函数使用的误差的平方和,类似于普通的最小二乘法。后续我们会发现,可以使用各种极大似然,对数极大似然。

kmeans聚类的成本函数,类似上面的方法,其中 yi 就相当于质心的概念,每个样本和质心的距离之和最小;当然有k个聚类的,则不能只满足一个聚类结果方差较小,而是所有的聚类的方差之和最小。 看来,很多问题都是相通的。
参考:http://blog.csdn.net/iterate7/article/details/75194548


无论什么学习训练算法,必须了解几个方面,比如:训练数据; 训练算法的成本函数或者目标函数; 训练的步骤和参数如何更新; 最终的输出;以及训练中的各种细节trick。然后再结合实际项目进行实战和反复思考,然后读paper,总结出训练算法的特点,以后可以方便的使用和解决问题。


解决问题

上面的成本函数也有了,下面就要解决,参数如何求解的问题。
为了满足上面的成本函数,并利用梯度下降法来解决这个问题的算法我们称之为:最小均方法LMS,least mean squares; 也成为:也被称为Widrow-Hoff 学习算法。
那么几个问题来了:我们需要解决的参数如何更新和训练。
1. 初始化参数 θ , 各种随机方法,也有专门的方法用于优化。
2. 更新 θ 的方法如下:

θj:=θjαJ(θ)(θj)(4)
梯度下降体现在这个公式里!只要这么更新参数, J(θ) 就会以最快的速度下降。
3. α 是学习速率,也有专门的优化方法针对这个参数。不展开。也就是说,这个值可以根据训练的特点和不同的步骤,来取不同的值,从而使训练的方法更快更好的收敛。
4. 把 J(θ) 带入梯度公式,则有
J(θ)(θj)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值