梯度下降优化算法
a python script of a function summarize some popular methods about gradient descent
一个python数值模拟脚本,包含诸多概念和算法
监督学习目标函数:普通最小二乘OLS,二次型函数,其他
非监督学习目标函数:矩阵近似
机器学习模型和凸优化求解的练手项目
Python编写和使用简明的数学符号
Updated
【2019-8-30】
添加contour轮廓线
【2019-5-6】
矩阵分解和推荐系统等内容
【2019-4-25】
添加约束优化L1L2等内容
Features
- [x] 一阶优化(非约束)
- 原版
- GD/SGD/minibatch-GD 全批/随机/小批梯度下降 mm10
- 带动量
- Polyak’s 动量 mm21,mm22
- Nesterov 加速梯度 (NAG) ,mm23,mm24,mm25
- 原版
- [x] 二阶优化
- 牛顿法 mm30
- 沿直线最小化 mm31
- 共轭梯度法 mm32
- 拟牛顿法Quasi-Newton(Broyden) mm33
- [x] 非凸优化
- Adagrad(自适应梯度) mm40
- RMSProp mm41
- Adadelta mm42
- Adam mm43
- AdaMax mm44
- Nadam mm45
- AMSGrad mm46
- [x] 坐标下降
- 循环坐标逐步(闭式解) mm90,mm91
- 随机坐标下降 mm92
- 循环块坐标 mm93
- 随机块坐标 mm94
- [x] 速率(学习率)
- Armijo rules
- [x] 约束优化
- L0(Best subset selection)
- 向前逐步回归(匹配追踪)
- L1(Lasso)
- 软阈值坐标下降,近端梯度(广义梯度) mm52
- 对偶ADMM mm54
- FISTA (NAG 近端梯度版) mm26
- L2(岭回归) mm51
- L2(组Lasso)
- L1+L2(弹性网) mm53
- L1+L2(稀疏组Lasso)
- L0(Best subset selection)
- [x] 矩阵相关
- [x]矩阵填充(分解)
- 稀疏矩阵近似 ∥∥Z^∥∥l1 ≤ c
- 奇异值分解 rank(Z^) ≤ c
- 原子范数约束 ∥∥Z^∥∥⋆ ≤ c
- 惩罚SVD Z^=UDVT,ϕ1(uj)≤c1,ϕ2(vk)≤c2
- [x]矩阵填充(分解)
- [ ] 非凸约束
- 自适应Lasso
Usage
spyder下直接块运行 或者py xxx.py
Sample:
矩阵近似(填充)的推荐系统:
1 | ===svd aproxi=== |
Reference
The Elements of Statistical Learning 统计学习基础(配中文) 数据科学实战速查表 梯度下降总结
卡内基凸优化2012秋
SGD wiki
Armijo wiki
Wolfe wiki
Quasi-Newton wiki
分布式机器学习:算法、理论与实践-第4、5章
深度学习核心技术与实践-第6章
神经网络设计-第9章
statistical learning with sparsity
稀疏统计学习及其应用[中文] 坐标下降软阈值Lasso推导
矩阵分析与应用-张贤达-第3、4章
Licence
THE END Enjoy