Github | NumPy手写全部主流机器学习模型

小白学视觉

共 2007字,需浏览 5分钟

 · 2021-11-11


点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

该 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


下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


浏览 25
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报