您的位置:首页 > 其它

FPGA机器学习之stanford机器学习第二堂2

2014-06-23 19:34 141 查看
stochastic gradient descent

随机梯度下降法:因为上一种梯度下降法,没更新一次theta的话,就需要将所有的样本从新计算,计算量巨大。所以需要有一个新的方法来减少计算量。



这个是随机梯度下降法的公式。上一个梯度下降是全部走了一遍后,在更新。这里的i只走了1个。就是利用了当前的那组进行更新。这样的话,theta的更新速度就会很快。而且它也不会精确到全局最小值。

batch gradient descent的话是蓝色的线。stochastic gradient descent红色的线表示。



如果中间点就是最佳匹配值,在不断迭代的过程中,就会向这个点收敛。而蓝色的是向目标精准的收敛。而红色的线也会向中间收敛,可是过程不是很精准,而且还不一定能收敛到全局最小值。但是有一个最大的优点就是减少了计算量。

下面讲到一个矩阵的导数,叫梯度也行。

公式这样表示:


前端的就是求导结果 后面的是m*n维度的矩阵,对每一个A求偏导数。


这个是一个n*n的矩阵,对角线求和的过程。


会得到以下结论。我们直接拿结论好了。


这里的a是一个实数。


这里是最后结果结论。

这些公式是为了能完整快速最小化的推导而引进的。这样我们就可以不需要用那种迭代的运算算法了。

现在假设一个样本向量X

矩阵这里的横杠是什么我还不是很明白。我的感觉是,讲义上写是m*n的向量,他自写了一列,那横杠就是省略(空)的意思。


定义了一个y。就会有,



这个结论还是比较好理解的,不过我怎么感觉好像等号两边应该换个位置才对呀。


其实我们要求的是j(thera),梯度下降法最小值嘛。所以应该写到等号左边。

接下来就是一连串的数据推导:


我就不仔细的研究怎么过来的了,我直接拿结论好了。你们就好好看看过程吧。


这个就是最后求的的theta。

第二堂就全部结束


我能力有限,但我努力的学习,理解。希望我的理解,对你们有所帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: