动手实战人工智能 AI By Doing#
自序#
我从 2015 年开始了解机器学习,最早从李航教授编写的《统计学习方法》入门,陆陆续续看了很多学习资料。在学习的过程中,我逐渐发现了一些痛点。
例如,很多由大学老师编写的书籍,偏理论研究,对于数学基础要求很高,对于初学者来说很难理解,同时缺少必要的代码实现。而部分由工程师编写的书,偏实践应用,往往只是介绍了一些工具和库的使用,而没有深入的讲解原理。另外,还有很多书籍都是在介绍算法的基础上,给出了一些代码例子,但是往往过程不完整,无法相互对应,理论和代码很割裂,同时读者很难复现。
入门机器学习的过程中,如果你只会调包,而不深入原理,可能连参数的作用都看不懂,更别说调参了。如果你只会理论,而不会实践,可能连最简单的模型都写不出来,学完似乎毫无实际用处。因此,我希望能够帮助你,既能够理解原理,又能够实践应用,学懂、吃透机器学习。
从 2018 年开始,我陆续使用 Jupyter Notebook 来编写这些内容。Jupyter Notebook 能够将文字和代码结合在一起,方便阅读和理解。同时,它也能够将代码和运行结果一起展示,方便读者实践和复现。
动手实战人工智能系列实验教程,希望从监督学习开始,带你入门机器学习和深度学习。我尝试剖析和推导每一个基础算法的原理,将数学过程写出来,同时基于 Python 代码对公式进行实现,做到公式和代码的一一对应。与此同时,我也会利用主流的开源框架重复同样的过程,帮助读者看出手动实现和主流框架实现之间的区别。
本内容默认你已经具备基础 Python 编程能力,同时学习过高等数学、线性代数、概率论等大学本科范围的数学知识。忘记了不用担心,会逐步帮助你记起来。当然,我也提供了《附录一:机器学习数学基础》和《附录二:机器学习常用工具》的内容供你参考。之所以放在附录中,原因是不建议你先复习或者学习这些内容,这会花费较多的时间,让你的耐心消磨殆尽。我建议你在学习的过程中,碰到不懂的地方,再去查阅这些内容。
学习本课程最好的方式是打开电脑动手实践,你也可以通过 Jupyter Notebook 把自己练习的代码和理解记录下来,形成自己的学习笔记。如果你只是浏览阅读,恐收效甚微。
目前,全文合计 97 章(420,879 字),仍在持续更新。希望在 AIGC 风靡的时代,由真人用心制作的内容能够帮助你更好地入门机器学习。
许可#
该作品由 huhuhang 创作,采用 署名-非商业性使用-禁止演绎 4.0 国际 许可协议进行许可。
同时,补充规则如下:
🚫 请勿克隆全站内容,建立类似站点;
🚫 请勿整理全站内容,分发成电子书;
🚫 请不要主动帮我「开源」全站内容;
我并不建议你转载,存档这些内容,这对于你真正学懂知识毫无帮助,而且会浪费你的时间。专注在学习本身,而不是收集。
推荐#
我在业余时间开发了一款 App,欢迎了解详情 QuakeSense 震感,一款简洁原生的 iOS 地震通知 App
目录#
监督学习:回归#
监督学习:分类#
无监督学习:聚类#
无监督学习:关联规则#
机器学习工程:模型部署和推理#
深度学习原理:人工神经网络#
深度学习框架:TensorFlow & PyTorch#
深度学习应用:计算机视觉#
深度学习应用:自然语言处理#
深度学习工程:模型部署和推理#
强化学习基础#
附录:机器学习数学基础#
附录:机器学习常用工具#
讨论#
如果你有任何学习上的疑问,可以在页面最下方评论区留言,和我一起讨论。我会抽空回复你的问题,也欢迎你回答其他人的问题。
任何内容都不可能完美无缺,如果你发现内容错误,笔误,代码错误,可以在评论区指出,我会尽快抽空确认和修正。
致谢#
排序不分先后:
-
感谢 Cloudflare 提供的免费托管和 CDN 加速服务。
-
感谢 whyiug 对“自动微分 Autograd”小节的描述和示例代码进行修正。
-
感谢 阮一峰-科技爱好者周刊(第 295 期) 推荐。
-
感谢 03-18~03-24.老胡的周刊(第135期) 推荐。
贡献#
如果你愿意参与内容的迭代更新和错误修正。请先在 GitHub 上提出新的 issue,并注明可以协助修订。我会确认后邀请你加入内容协作仓库。
○ 欢迎分享本文链接到你的社交账号、博客、论坛等。更多的外链会增加搜索引擎对本站收录的权重,从而让更多人看到这些内容。