欢迎来到《从 0 开始的机器学习》系列。
在这个系列中,我会不定期记录自己学习机器学习的过程。与此同时,我也会同步开发一个以 C 语言为主的 stb 风格机器学习库,用代码来验证和巩固学习到的内容。
项目仓库:
- GitHub:https://github.com/0N3-0/ML
这个系列的最初启发来自 tsoding 的 nn.h 项目直播。这个项目用非常直接的方式展示了如何从零开始实现一个简单的神经网络库,对我理解机器学习的基本流程很有帮助。
相关链接:
- YouTube:https://www.youtube.com/watch?v=PGSba51aRYU&list=PLpM-Dvs8t0VZPZKggcql-MmjaBdZKeDMw
- B 站搬运:https://www.bilibili.com/video/BV1BmoFBzEht/?vd_source=e1ac6e8d8f37d31626f9a25452316229
- nn.h 仓库:https://github.com/tsoding/nn.h
不过,tsoding 的直播更偏向于代码实现,并没有特别深入地展开机器学习背后的理论。因此,我还参考了另一个更加偏理论和系统化的项目,用来补充机器学习的基础知识。
参考项目:
- ai-engineering-from-scratch 仓库:https://github.com/rohitg00/ai-engineering-from-scratch
至于为什么选择 C 语言来实现这个机器学习库,主要有两个原因。
- 第一,C 语言对内存的操作非常透明。使用 C 编写机器学习库时,我可以更清楚地看到数据在内存中的组织方式.
- 第二,我本身对 C 语言还不算特别熟练,希望借此机会练习一下。