该 repo 的模型或代码结构如下所示:
1. 高斯混合模型
- EM 训练
2. 隐马尔可夫模型
- 维特比解码
- 似然计算
- 通过 Baum-Welch/forward-backward 算法进行 MLE 参数估计
3. 隐狄利克雷分配模型(主题模型)
- 用变分 EM 进行 MLE 参数估计的标准模型
- 用 MCMC 进行 MAP 参数估计的平滑模型
4. 神经网络
4.1 层/层级运算
- Add
- Flatten
- Multiply
- Softmax
- 全连接/Dense
- 稀疏进化连接
- LSTM
- Elman 风格的 RNN
- 最大 平均池化
- 点积注意力
- 受限玻尔兹曼机 (w. CD-n training)
- 2D 转置卷积 (w. padding 和 stride)
- 2D 卷积 (w. padding、dilation 和 stride)
- 1D 卷积 (w. padding、dilation、stride 和 causality)
4.2 模块
- 双向 LSTM
- ResNet 风格的残差块(恒等变换和卷积)
- WaveNet 风格的残差块(带有扩张因果卷积)
- Transformer 风格的多头缩放点积注意力
4.3 正则化项
- Dropout
- 归一化
- 批归一化(时间上和空间上)
- 层归一化(时间上和空间上)
4.4 优化器
- SGD w/ 动量
- AdaGrad
- RMSProp
4.5 学习率调度器
- 常数
- 指数
- Noam/Transformer
- Dlib 调度器
4.6 权重初始化器
- Glorot/Xavier uniform 和 normal
- He/Kaiming uniform 和 normal
- 标准和截断正态分布初始化
4.7 损失
- 交叉熵
- 平方差
- Bernoulli VAE 损失
- 带有梯度惩罚的 Wasserstein 损失
4.8 激活函数
- ReLU
- Tanh
- Affine
- Sigmoid
- Leaky ReLU
4.9 模型
- Bernoulli 变分自编码器
- 带有梯度惩罚的 Wasserstein GAN
4.10 神经网络工具
- col2im (MATLAB 端口)
- im2col (MATLAB 端口)
- conv1D
- conv2D
- deconv2D
- minibatch
5. 基于树的模型
- 决策树 (CART)
- [Bagging] 随机森林
- [Boosting] 梯度提升决策树
6. 线性模型
- 岭回归
- Logistic 回归
- 最小二乘法
- 贝叶斯线性回归 w/共轭先验
7.n 元序列模型
- 最大似然得分
- Additive/Lidstone 平滑
- 简单 Good-Turing 平滑
8. 强化学习模型
- 使用交叉熵方法的智能体
- 首次访问 on-policy 蒙特卡罗智能体
- 加权增量重要采样蒙特卡罗智能体
- Expected SARSA 智能体
- TD-0 Q-learning 智能体
- Dyna-Q / Dyna-Q 优先扫描
9. 非参数模型
- Nadaraya-Watson 核回归
- k 最近邻分类与回归
10. 预处理
- 离散傅立叶变换 (1D 信号)
- 双线性插值 (2D 信号)
- 最近邻插值 (1D 和 2D 信号)
- 自相关 (1D 信号)
- 信号窗口
- 文本分词
- 特征哈希
- 特征标准化
- One-hot 编码/解码
- Huffman 编码/解码
- 词频逆文档频率编码
11. 工具
- 相似度核
- 距离度量
- 优先级队列
- Ball tree 数据结构
END