最简总结 -- 梯度下降算法

前提提要:

         因为某天回顾“最简单”的“随机梯度下降算法”时死活想不出它的数学公式

                   Loop{

                            for i=1 to m, {

                                     θj :=θj +α(y(i) - hθ(x(i)))xj(i)

                            }

                   }

         就去翻自己的总结,但想想每次都要翻一遍长长的总结顿时一股无力感油然而生,于是在想:我为什么做一份“最简单”的总结呢?

         因此就开始写“最简总结系列”。

         所以,注意:该总结是我尝试用我做能理解的最少语言来对本章节的算法进行最大限度的浓缩!所以里面不会对算法的原理多做解释,甚至没有任何解释,因此若你看不懂的话,可以去看看我总结的关于本章节算法的文章。

 

梯度计算


        


批量梯度下降算法


        


随机梯度下降算法


        


代码


         这里data是一个类似下图这样的矩阵

                    1  x01  x02  ...  x0n  y0

                    1  x11  x12  ...  x1n  y1

                    ...

                    1  xm1  xm2  ...  xmn  ym

         在for循环的 theta 一行是进行梯度下降,不过这里对参数theta加了个正则项。(这个我已在 回归 - 线性回归、θ正则、伪逆 的“线性回归的复杂度惩罚因子”中做了解释)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值