最简总结 -- 梯度下降算法
2016-07-11 09:57
232 查看
前提提要:
因为某天回顾“最简单”的“随机梯度下降算法”时死活想不出它的数学公式
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加了个正则项。(这个我已在 回归 - 线性回归、θ正则、伪逆 的“线性回归的复杂度惩罚因子”中做了解释)
因为某天回顾“最简单”的“随机梯度下降算法”时死活想不出它的数学公式
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加了个正则项。(这个我已在 回归 - 线性回归、θ正则、伪逆 的“线性回归的复杂度惩罚因子”中做了解释)
相关文章推荐
- 栈的应用--递归与四则运算表达式求值
- 注册表中Service关键设置的完整说明
- Andriod 从源码的角度详解View,ViewGroup的Touch事件的分发机制
- 开源集锦(六)GitHub开源控件(二)
- setTimeout定时工具
- 【技术架构】单点系统架构的可用性与性能优化
- tomcat如何路由映射网址
- tomcat如何路由映射网址
- 自定义控件从xml获取属性值的优雅写法
- 剑指offer 面试题50 树中两个节点的最低公共祖先
- Java单机版五子棋
- Windows下配置R-FCN
- Python中关于字符串问题
- sizeof 和strlen()的区别
- eclipse 快捷键
- 集成node.js中的websocket
- 高斯消元
- 如何在真机上调试Android应用程序
- log4j使用总结
- [iOS] UILabel调整行间距方法