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。

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