更新进度:■■■■■□□□□□□□□□□□□□□□|30%
前言
可能受到新冠病毒的影响,台大也开始了网课教学。李宏毅上传了2020版本的机器学习视频,可以说是非常好的学习资料(尽管其中多数都是2017、2019的视频,但有部分更新)。
和吴恩达的CS229机器学习相比,中文版本的机器学习显得亲民了许多,李宏毅的机器学习是英文的ppt+中文讲解,非常有利于大家入门。吴恩达的CS229中偏向于传统机器学习(线性回归、逻辑回归、Naive Bayes、决策树、支持向量机等),李宏毅2020版本的机器学习中除了最前面的回归、分类,后面更多篇幅涉及卷积神经网络(CNN)、循环神经网络(RNN)、强化学习(RL)等深度学习的内容,不过,似乎b站上也有他的深度学习的课程,具体差异此后再说。
2020年版与2017年版、2019年版较为类似,不同的是2019年版用到了keras这一深度学习框架,而2020年版的作业中用到了pytorch。近年来,pytorch在计算机会议论文中占比也逐渐增加。鉴于博主最近做课题需要学习pytorch,李宏毅的2020年版机器学习资料确实非常合适。
李宏毅的机器学习中多处用到了宝可梦(神奇宝贝)、凉宫春日等动漫和游戏举例子,可以说是一个非常有趣的机器学习视频,一旦打开可能就会忍不住学下去(实际上大部分人都是收藏,想着以后再看,然后再也没看过) 。有条件的话,建议大家系统学习。博主之前都是需求驱动型学习,导致很多东西都是一知半解。目前看的这个视频带来了一些新的思考,比如梯度下降的原理、验证集和测试集的正确使用方法等,很有帮助。
储备知识
Q:我没有学习过机器学习,需要有什么储备知识?
A:
- 高等数学:涉及导数、偏微分、泰勒展开等,建议系统学习。
- 线性代数:涉及向量、协方差矩阵等,建议系统学习。
- 概率统计:涉及贝叶斯公式、高斯分布、极大似然估计等,夸张点说,机器学习本质是概率统计。建议先学习高数、线性代数,再系统学习。
- 计算机相关:python,jupyter notebook,anaconda,pyenv,github,kaggle,linux基本指令
资料
- 李宏毅的课程网页:点击此处跳转
- b站有全套视频的搬运:BV1JE411g7XF,也可以点击此处跳转
- 2020版课后作业范例和作业说明:点击此处跳转
- 附上别人的github学习笔记:点击此处跳转
- 数据集:
链接: https://pan.baidu.com/s/1k7cEfzza7zZqaosEgPjlxw 提取码: 8z93
学习路线
这一张可以在李宏毅的课程首页上找到,点开b站视频p1可以了解详情。每一个符号代表一个作业,用到pytorch的框架,博主后续可能会更新自己的作业进度(敦促自己赶紧学习),作业提交主要都在kaggle这个平台。
在李宏毅的课程首页上的表格,作业、PPT,目前已经全部发布了,还会有助教说明作业的video,如果你打不开网页,请见上方资料3的作业搬运。
作业
博主用的是 win10系统,作业的完成基于 jupyter notebook,博主建议利用 Anaconda 创建的虚拟环境来管理 python 版本和相关库,以免覆盖已有的 python 版本。作业中用到的是python3,建议安装python3及其相关库。
相关资料:
- Anaconda详细安装及使用教程(带图文)
- Anaconda常用命令
- Jupyter Notebook介绍、安装及使用教程
链接挂掉后的备用资料:Jupyter Notebook安装和使用详情 - 如何在jupyter notebook下使用anaconda虚拟环境
- pytorch官方教程中文版
- pytorch官方教程英文版(打开较慢)
这里的作业前面主要是助教原有的代码和注释,博主加了部分自己学到的内容,后面还有修改代码完成部分助教布置的小任务。第一次作业免费,后面的总共收费 9.9元,一杯奶茶钱,感谢大家支持。
序号 | 主题 | 完成情况 | 完成时间 |
---|---|---|---|
1 | Linear Regression | ✔️ 查看详情 | 2020/04/10 |
2 | Classification | ✔️ 查看详情 | 2020/04/14 |
3 | CNN | ✔️ 查看详情 | 2020/04/26 |
4 | RNN | ✔️ 查看详情 | 2020/07/30 |
5 | Explainable AI | ✔️ 查看详情 | 2021/11/22 |
6 | Adversarial Attack | ❌ | |
7 | Network Compression | ❌ | |
8 | Seq2Seq | ❌ | |
9 | Unsupervised Learning | ❌ | |
10 | Anomaly Detection | ❌ | |
11 | GAN | ❌ | |
12 | Transfer Learning | ❌ | |
13 | Meta Learning | ❌ | |
14 | Life-long Learning | ❌ | |
15 | Reinforce Learning | ❌ | |
笔记
根据b站视频的顺序,简单记录一下每个视频讲了些什么,便于搜索或者跳过。另外,博主会在引用部分中强调一些平时会忽视的点。基本都是2019版及之前的视频,如果有新的,就会标注出来;如果是旧的,就不额外赘述了。
如果你想看视频的文字版,建议去资源4的github学习笔记。
- 李宏毅2020机器学习课程笔记(一):视频P1-P16的课程梗概
- 李宏毅2020机器学习课程笔记(二):视频P17-P23的课程梗概