最近,有一份很全面的算法资源在GitHub上火了,不仅有相应的原理介绍和实现代码,还提供了Demo,目前GitHub上标星已经突破2900星。
这份资源中,一共有5个算法,分别是:线性回归、逻辑回归、K均值算法、基于高斯分布的异常检测、多层感知器(MLP)。
每一个算法,都会有数学原理解释、Python实现的示例和交互式的Jupyter Notebook Demo。大多数情况下,这些算法的解释,都是基于吴恩达的机器学习课程。
基于这些资源,你可以进行相应的数据训练、算法配置,并立即在浏览器中查看结果、图表和预测。
资源里都有什么?
5个算法, 一共分为了监督学习、无监督学习和神经网络3个类别。每个大的类别,都有相应的介绍,并给出了相应的应用范围。然后就是相应算法的资源。
以神经网络为例,这个类别之下的算法是多层感知器,一共有4个资源。
***个资源是文档,介绍了神经网络和多层感知器背后的原理与实现逻辑,并提供了相应的参考资料,可以进一步学习。
第二个资源是代码,呈现了如何用Python实现多层感知器。基本上每一块代码前,都有相应的注释,标明了代码的功能和注意事项。
后两个资源是基于Jupyter Notebook的Demo,用算法和数据集训练模型,来进一步的熟悉多层感知器算法的运用。
一个使用MNIST数据集训练一个识别手写数字(0-9)的分类器。另一个使用是Fashion-MNIST数据集,训练一个衣服分类器。
需要什么先决条件?
资源的上手门槛不高,最基本的要求就是安装Python。因为项目中的所有Demo都可以在浏览器中运行,所以不需要在本地安装Jupyter。
所有用于Jupyter Notebook的数据集都可以在data文件夹中找到。
谁干的好事?
制作这份资源的,是一位名叫Oleksii Trekhleb的乌克兰工程师,目前正在一家软件技术咨询公司EPAM Systems担任***软件工程师。
他说,建立这个存储库的目的,不是通过使用第三方库的“一行程序”来实现机器学习算法,而是从头开始实践这些算法,从而让大家能够更好地理解每个算法背后的原理。
传送门
https://github.com/trekhleb/homemade-machine-learning