@程序员的店小二:【16岁高中生的「卷」,13000+行代码,从头写了一个C++机器学习库】人工智能领域现在也流行高中生拯救世界了?
一个热爱计算机的少年,16 岁就已经可以做出点东西来了,比如开发个粤语编程语言、拿个 Kaggle 冠军、写个游戏、开发个加密货币投资机器人、从头构建一个 C++ 机器学习库什么的。
今天要介绍的就是一位从头构建 C++ 机器学习库的 16 岁少年(@novak-99),他的自荐帖在 reddit 上获得了数百的点赞量。
他构建的这个库(ML++)有 13000 多行代码,涵盖了统计、线性代数、数值分析、机器学习和深度学习等主题。
@novak-99 表示,他之所以构建这个库,是因为 C++ 是他所选择的语言,但到了 ML 前端,C++ 却用得非常少。
C++ 是高效的,而且有利于快速执行。所以大多数库(如 TensorFlow、PyTorch 或 Numpy)都使用 C/ C++ 或某种 C/ C++ 衍生的语言来优化和提高速度。
但当他查看各种机器学习算法的前端实现时,他注意到大多数算法是用 Python、MatLab、R 或 Octave 实现的。他认为,C++ 之所以在 ML 前端用得比较少,主要是因为缺乏用户支持,以及 C++ 语法比较复杂。
与 Python 相比,C++ 的机器学习框架少得可怜。此外,即使在流行的框架(如 PyTorch 或 TensorFlow)中,C++ 的实现也不像 Python 的实现那样完整,存在的问题包括:缺少文档;并不是所有的主要函数都存在;没有多少人愿意贡献,等等。
此外,C++ 不支持 Python 的 ML 套件的各种关键库。Pandas 和 Matplotlib 都不支持 C++。这增加了 ML 算法的实现时间,因为数据可视化和数据分析的元素更难获得。
因此,他就决定自己写一个 C++ 的机器学习库。
项目地址:https://github.com/novak-99/MLPP
- 复制链接
- 举报