↑↑↑点击上方蓝字,回复资料,10个G的惊喜
![0c4c040fbf59e6b0727fab1b3a2cb6ae.png](https://i-blog.csdnimg.cn/blog_migrate/b06d648b6418c617761862e96e2e8e29.png)
机器学习
Python
算法
模型
作者 | 福大命大
来源 | https://zhuanlan.zhihu.com/p/158215009
本文仅作学术交流,如有侵权,请联系后台删除 前几天听了林宙辰老师的一个报告,讲的是机器学习中的优化方法[1],做个笔记。推荐机器学习的人去听听。林老师的主页:https://zhouchenlin.github.io/zhouchenlin.github.io 机器学习是离不开优化方法的,Pedro Domingos这样概括机器学习和优化方法的关系: “Machine learning=Representation+Optimization+Evaluation” 后面三项对应于三步:建立模型,求解模型,验证模型。 一、机器学习中的优化问题 首先介绍一下机器学习中常见的优化问题: 1.分类回归问题 很多的分类回归问题都可以写成问题(1)的一个特例,比如SVM,正则的logistic回归,多层感知器,线性回归,岭回归,Lasso问题等。 2.AdaBoost 通常数据的分类面可能是很复杂的,我们可以通过多个简单的线性分类器组合而成。 3.生成对抗网络 4.AutoML 自动超参数的选取,这是一个双层优化问题。 二、算法的阶数 根据所需要的信息,算法大概分为三种:零阶、一阶、二阶。 1、零阶:只涉及到 ,适用于函数形式不知道,求不了导数;梯度不存在或者很难计算的情况,比如强化学习。 2、一阶:需要用到函数值 和梯度值 ,更一般情况下,可以将函数的proximal 算子也纳入到一阶中。 3、二阶:需要用到函数值 和梯度值 以及Hessian信息 。 机器学习中,一阶用的是最广泛的。当然也不排除有零阶和二阶的,这适用于那些具有特殊结构的问题。 三、机器学习中的优化算法 1.基本模块: 通常的优化算法主要有以下几个模块,将这些模块以不同的方式组合一下就得到了不同的优化方法。 1、梯度下降: ,前向运算,也叫forward operator。 2、临近算子: ,后向运算,也叫backward operator。 3、对偶:当原问题不好解,或者计算量比较大,可以考虑对偶问题。 4、randomization:当问题(1)的 较大或者变量维度较大,可以考虑随机梯度或者坐标下降。 上面的四个模块在不同的拼接下就形成了很多现有的优化算法。 2.机器学习中的无约束优化算法 考虑无约束问题: 假设函数 是光滑的(如果不光滑,我们可以用次梯度,光滑化等)- 梯度下降
- 共轭梯度
- 拟牛顿
- L-BFGS
- 临近梯度算法
3.机器学习中的约束优化方法
考虑一般问题: 其中 是一个约束集合。- 投影梯度方法
- 罚方法
- 条件梯度
- ADMM
- 坐标下降方法
4.大数据的处理
考虑如下形式的问题:- 随机梯度
- Heavy ball
- Nesterov
- 加速临近梯度
2.随机
考虑问题: 我们可以用梯度方法: , 如果n太大,每一步的计算量太大。 接着我们采用最初的随机梯度方法: ,也就是一次选一个去走。 这两个方法似乎都是一种极端,所以中间存在一种tradeoff。思考如何做到在降低variance的情况下计算量不要增长的太快。- SVRG
![57861e7f2ad74284799630d8aedb97b0.png](https://i-blog.csdnimg.cn/blog_migrate/23d8cbc98a26ab15faa0d608e1116915.jpeg)
- Katyusha
![e011839fbf793ef8bd95355681d85cbd.png](https://i-blog.csdnimg.cn/blog_migrate/cf616d8687f4a5e1b0f0e515c52950ce.jpeg)
- Catalyst
![c28fc07048f641126493d62046d15c0a.png](https://i-blog.csdnimg.cn/blog_migrate/3892de96728de221e9ac4200ebb16046.jpeg)
- SPIDER
![d902bbf15150dc0e82185b517be44095.png](https://i-blog.csdnimg.cn/blog_migrate/c4b210145c2be6fe6480f9d65f1c4be4.jpeg)
- 随机化
- 分布式
- 异步
- learning based
- Quantum
推荐阅读:
机器学习基础:可视化方式理解决策树剪枝
TensorFlow2.0(1):基本数据结构——张量
算法工程师常见面试问题及相关资料汇总
“为沉迷学习 点赞