Github | NumPy手寫全部主流機器學習模型

重磅乾貨,第一時間送達

Github | NumPy手寫全部主流機器學習模型

該 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擴充套件模組中文版教程

下載2:Python視覺實戰專案52講

下載3:OpenCV實戰專案20講

交流群