我从 2015 年开始了解机器学习,最早从李航教授编写的《统计学习方法》入门,陆陆续续看了很多学习资料。在学习的过程中,我逐渐发现了一些痛点。
例如,很多由大学老师编写的书籍,偏理论研究,对于数学基础要求很高,对于初学者来说很难理解,同时缺少必要的代码实现。而部分由工程师编写的书,偏实践应用,往往只是介绍了一些工具和库的使用,而没有深入的讲解原理。另外,还有很多书籍都是在介绍算法的基础上,给出了一些代码例子,但是往往过程不完整,无法相互对应,理论和代码很割裂,同时读者很难复现。
入门机器学习的过程中,如果你只会调包,而不深入原理,可能连参数的作用都看不懂,更别说调参了。如果你只会理论,而不会实践,可能连最简单的模型都写不出来,学完似乎毫无实际用处。因此,我希望能够帮助你,既能够理解原理,又能够实践应用,学懂、吃透机器学习。
从 2018 年开始,我陆续使用 Jupyter Notebook 来编写这些内容。Jupyter Notebook 能够将文字和代码结合在一起,方便阅读和理解。同时,它也能够将代码和运行结果一起展示,方便读者实践和复现。
动手实战人工智能系列实验教程,希望从监督学习开始,带你入门机器学习和深度学习。我尝试剖析和推导每一个基础算法的原理,将数学过程写出来,同时基于 Python 代码对公式进行实现,做到公式和代码的一一对应。与此同时,我也会利用主流的开源框架重复同样的过程,帮助读者看出手动实现和主流框架实现之间的区别。
本内容默认你已经具备基础 Python 编程能力,同时学习过高等数学、线性代数、概率论等大学本科范围的数学知识。忘记了不用担心,会逐步帮助你记起来。当然,我也提供了《附录一:机器学习数学基础》和《附录二:机器学习常用工具》的内容供你参考。之所以放在附录中,原因是不建议你先复习或者学习这些内容,这会花费较多的时间,让你的耐心消磨殆尽。我建议你在学习的过程中,碰到不懂的地方,再去查阅这些内容。
学习本课程最好的方式是打开电脑动手实践,你也可以通过 Jupyter Notebook 把自己练习的代码和理解记录下来,形成自己的学习笔记。如果你只是浏览阅读,恐收效甚微。
目前,全文合计 97 章(421,112 字),仍在持续更新。希望在 AIGC 风靡的时代,由真人用心制作的内容能够帮助你更好地入门机器学习。
该作品由 huhuhang 创作,采用 署名-非商业性使用-禁止演绎 4.0 国际 许可协议分发。
同时,补充规则如下:
- 🚫 请勿克隆全站内容,建立类似站点;
- 🚫 请勿整理全站内容,分发成电子书;
- 🚫 请不要主动帮我「开源」全站内容;
我并不建议你转载,存档这些内容,这对于你真正学懂知识毫无帮助,而且会浪费你的时间。专注在学习本身,而不是收集。
监督学习:回归
- 1. 环境说明
- 2. 机器学习综述及示例
- 3. 线性回归实现与应用
- 4. 北京市住房价格预测
- 5. 多项式回归实现与应用
- 6. 比特币价格预测及绘图
- 7. 岭回归和 LASSO 回归实现
- 8. 使用矩阵计算岭回归系数
- 9. 回归模型评价与检验
- 10. 回归方法综合应用练习
监督学习:分类
- 11. 逻辑回归实现与应用
- 12. 梯度下降法实现与应用
- 13. K 近邻算法实现与应用
- 14. K 近邻回归算法实现与应用
- 15. 朴素贝叶斯实现及应用
- 16. 高斯分布函数实现及绘图
- 17. 分类模型评价方法
- 18. 支持向量机实现与应用
- 19. 支持向量机实现人像分类
- 20. 决策树实现与应用
- 21. 决策树模型参数优化及选择
- 22. 装袋和提升集成学习方法
- 23. 异质集成投票方法应用
- 24. 使用交叉验证快速选择模型
无监督学习:聚类
- 25. 划分聚类方法实现与应用
- 26. 使用 K-Means 完成图像压缩
- 27. 层次聚类方法实现与应用
- 28. 主成分分析原理及应用
- 29. 层次聚类应用及聚类树绘制
- 30. 密度聚类方法实现与应用
- 31. 密度聚类标记异常共享单车
- 32. 谱聚类及其他聚类方法应用
- 33. 常用聚类算法对比评估
无监督学习:关联规则
机器学习工程:模型部署和推理
- 40. 自动化机器学习综述
- 41. 自动化机器学习实践应用
- 42. AutoML 完成手写字符分类
- 43. 机器学习模型推理与部署
- 44. 蘑菇分类模型部署和推理
- 45. 机器学习模型动态增量训练
- 46. 在线学习及云端模型部署
深度学习原理:人工神经网络
深度学习框架:TensorFlow & PyTorch
- 50. TensorFlow 基础概念语法
- 51. TensorFlow 加州房价预测
- 52. TensorFlow 构建神经网络
- 53. TensorFlow 汽车评估分类
- 54. TensorFlow 高阶 API 使用
- 55. TensorFlow 时尚物品分类
- 56. PyTorch 基础概念语法
- 57. PyTorch 构建神经网络
- 58. PyTorch 实现线性回归
深度学习应用:计算机视觉
- 59. 卷积神经网络原理
- 60. 卷积神经网络构建
- 61. 构建 LeNet-5 Estimator
- 62. 图像分类原理与实践
- 63. 迁移学习完成动物分类
- 64. 生成对抗网络原理及构建
- 65. DCGAN 动漫人物图像生成
- 66. 自动编码器原理及构建
- 67. 卷积自动编码器图像去噪
- 68. 目标检测原理与实践
- 69. YOLO 图像目标检测应用
深度学习应用:自然语言处理
- 70. 循环神经网络原理
- 71. 循环神经网络构建
- 72. LSTM 预测股票价格
- 73. 文本分类原理与实践
- 74. 深度学习完成假新闻分类
- 75. 自然语言处理框架拓展
- 76. Google BERT 预训练技术
- 77. 神经机器翻译和对话系统
深度学习工程:模型部署和推理
- 78. 自动化深度学习综述
- 79. 自动化深度学习实践
- 80. 仙人掌航拍照片分类识别
- 81. 深度学习模型推理和部署
- 82. 构建图像分类推理服务
- 83. 深度学习云端服务实践
- 84. 云服务识别增值税发票
强化学习基础
如果你有任何学习上的疑问,可以在页面最下方评论区留言,和我一起讨论。我会抽空回复你的问题,也欢迎你回答其他人的问题。
任何内容都不可能完美无缺,如果你发现内容错误,笔误,代码错误,可以在评论区指出,我会尽快抽空确认和修正。
排序不分先后:
- 感谢 Cloudflare 提供的免费托管和 CDN 加速服务。
- 感谢 whyiug 对“自动微分 Autograd”小节的描述和示例代码进行修正。
- 感谢 阮一峰-科技爱好者周刊(第 295 期) 推荐。
- 感谢 03-18~03-24.老胡的周刊(第135期) 推荐。
如果你愿意参与内容的迭代更新和错误修正。请先在 GitHub 上提出新的 issue,并注明可以协助修订。我会确认后邀请你加入内容协作仓库。