关于在线机器学习ftrl_proximal_lr的二三件事
来源:互联网 发布:淘宝皇冠店铺100强 编辑:程序博客网 时间:2024/06/05 06:49
题记:一直以为ftrl_proximal_lr模型是为了解决参数在内存中的使用问题。跟大神请教后,ta说:ftrl_proximal 为了解决online中模型稀疏性的问题。
前世今生
直接贴图:
从上面图可以看出来,这个模型的变异点就是梯度优化模块(即所谓的目标函数)。感觉ftrl_proximal_lr是集大家所成的,ftrl_proximal_lr是既能提高OGD准确率也能提供比RDA更好的稀疏性。那我们来分解一下最后的一个等式:第一项是梯度更新,第二项是L1正则项处理(产生稀疏解),第三项累积加和限定了新的迭代结果x不要离已迭代过的解太远(也即FTRL-Proximal中proximal的含义),保证泛化精度。这一项其实也是low regret的需求。所谓的low regret是Online learning中每次学习的误差减去使用用当前为止的最优函数而产生的误差的平均值。
上图更好的解释ftrl_proximal_lr的进化过程。
伪代码
先贴个图,虽然还没实现,但我在努力看大神的代码和框架,整理好,继续补充进来。
四个参数的设定结合paper里的指导意见以及反复实验测试,找一组适合自己问题的参数就可以了。所谓的per-coordinate,其意思是FTRL是对w每一维分开训练更新的,每一维使用的是不同的学习速率,也是上面代码中lamda2之前的那一项。与w所有特征维度使用统一的学习速率相比,这种方法考虑了训练样本本身在不同特征上分布的不均匀性,如果包含w某一个维度特征的训练样本很少,每一个样本都很珍贵,那么该特征维度对应的训练速率可以独自保持比较大的值,每来一个包含该特征的样本,就可以在该样本的梯度上前进一大步,而不需要与其他特征维度的前进步调强行保持一致。参考资料如下
http://www.cnblogs.com/EE-NovRain/p/3810737.html
http://www.datakit.cn/blog/2016/05/11/ftrl.html#自动特征管理
- 关于在线机器学习ftrl_proximal_lr的二三件事
- 关于机器学习在线预测的任务学习笔记
- 关于在线编辑器的学习
- 在线机器学习书籍
- 关于机器学习的文章
- 关于机器学习的随笔
- 关于机器学习的单子
- 关于机器学习的总结
- 斯坦福机器学习在线demo
- 七月在线机器学习作业
- 苹果启动在线博客,分享机器学习领域的进展
- 关于第一次学习机器学习的摘要
- 关于机器学习的定义的理解
- 机器学习中在线学习、批量学习、迁移学习、主动学习的区别
- 关于机器学习的综述论文收集
- 关于机器学习课程的小记
- 一些关于机器学习的网站总结
- 关于机器学习的一些资料
- Python编程:从入门到实践(课后习题6)
- 详解安全漏洞的定义以及分类
- 计算机网络五层协议的体系结构各层的主要功能
- Python编程:从入门到实践(课后习题7)
- Gradle多环境多渠道打包
- 关于在线机器学习ftrl_proximal_lr的二三件事
- Cocos2d-x启动图片
- SQL Server 2016 详细安装过程
- Volatile关键字
- 【安全牛学习笔记】MANAGEMENT FRAME 管理帧
- 一个薅羊毛解决的框架,因为内存占用太大,没实验。。
- vue+webpack项目创建过程
- 使用碰撞指针解决LeetCode问题:SortColor75,TwoSumII167,ReverseString344,reverseVowels345
- 排列组合