12種算法解決MNIST


最近突然有一個想法,用儘可能多的算法來做一個任務。最後選擇了做最經典的MNIST。
簡單梳理了一些算法,包括機器學習的,深度學習的,寬度學習的等等,其實還有很多,日後再慢慢往上添加吧。所有的算法都是簡單的調用或者實現,沒有經過任何的優化。

先上GitHub

博客之後我會對有些代碼做詳細解釋。

1.ML

像這些很多的機器學習算法,使用起來都是很簡單的,也沒有什麼太多要說的。

1.1 SVM

1.2 DecisionTree

1.3 RandomForest

1.4 KNearestNeighbors

1.5 Adaboost

1.6 XGBoost

1.7 catboost

1.8 lgbm

2.DL

2.1 使用numpy搭建的四層神經網絡

這個是僅使用numpy來搭建的全連接神經網絡,效果還不錯。如果再優化,應該會更好。

2.2 CNN(VGG16)

CNN是做圖像問題最好的方法了,cnn的模型也是太多了,這裏就挑了一個經典的vgg。

2.3 LSTM

LSTM本來是做時序數據的,但是用在圖像上也不是不行,雖然效果不是十分好。一起來也是很簡單的,把圖像的每一行作爲一個元素,行與行之間當作時序關係來處理就行了。

2.4 BLS

這個算是一個比較小衆的寬度學習,我有一篇博客介紹寬度學習,之後有時間的話我會加上帶增量學習的bls。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章