最近对于怎么学NLP比较confused,在B站看到up“NLP从入门到放弃”的路线梳理,顿时清晰了很多,在这里搬运他总结的学习路线供大家参考。
基础知识
数学
线性代数
- 向量、矩阵、运算、范数、特征向量和特征值
高数
导数/微分/积分
梯度
泰勒展开公式
概率论
条件概率,期望等等
随便在B站找一个几个小时快速回顾概率论的课程就可以,不收费的那种。
时间安排:一周
Python
廖雪峰免费教程
廖雪峰官网免费教程:
https://www.liaoxuefeng.com/wiki/1016959663602400从第一讲看到常用的第三方模块,了解面向对象编程;
Python实战
时间安排:一周
整个时间安排:三周理论+一周实战
机器学习理论入门
李航老师-统计学习
三个准则
- 作为入门选手,不要每章都看
- 不要从零造轮子去实现算法,太浪费时间
- 必须能手推公式
章节目录
- 统计学习概论
- 必看
- 感知机
- 必看
- K近邻
- 可以不看
4.朴素贝叶斯
- 必看
5.决策树
- 必看
- 逻辑回归和最大熵
- 必看
- 支持向量机
- 可以不看
8.提升树
- 必看
9.EM算法
- 可以不看
10.隐马尔科夫
- 可以不看
11.条件随机场
- 可以不看
题外:xgboost
看我的博客:
Xgboost完全详细解读(原理+代码) - DASOU的文章 - 知乎
https://zhuanlan.zhihu.com/p/290964953- 必看
刘建平博客
https://www.cnblogs.com/pinard/category/894692.html?page=4
https://github.com/ljpzzz/machinelearning
学习注意事项
比如说,你看完逻辑回归,没看懂,来博客,找到逻辑回归的博客,看一遍,然后同样用他的博客里面代码,实现一遍;
代码这里,在github上也有;https://github.com/ljpzzz/machinelearning
在这个过程中,你要去搞清楚这个算法输入数据,输出数据,每个参数的含义是什么;可以自己自己调一下参数,
看看不同参数下最终效果有什么不同;但是在这里不要花费太大精力在调参上,因为你现在代码实现的是一个demo,数据量很小,调参没什么意义;什么时候调参呢?我一会会讲到;
时间安排:一共六章内容,三周
机器学习实战入门
阿里云天池大赛赛题解析(机器学习篇)
要不要买
- 看自己,代码有开源
四个任务
- 工业蒸汽预测
- 天猫用户重复购买预测
- O2O优惠券预测
- 阿里云安全恶意程序检测
怎么看
有四个任务是吧,你挑其中的一个或者两个,不需要都看,没必要;
怎么确定把这一个或者两个任务吃透呢?
七个步骤:赛题理解、数据探索、特征工程、模型训练、模型验证、特征优化、模型融合7个步骤
四个任务中挑一个或者两个,在一周,七天的话,三天看一个,七天看两个,或者七天你就看一个,比如第一个,把它吃透就够了;
开源代码
时间安排:一周
深度学习理论入门
很多朋友会推荐李沐老师【动手深度学习】
- 这个课程先放一放,入门之后看更好
深度学习
NLP
- 文本分类
- 文本匹配
- 序列标注
- 文本生成
CV
图像理解
- 分类
- 检测
- 分割
- 追踪
图像生成
- GAN模型
计算机视觉
cs231n
一共33讲,不要都看;作为入门来说,主要是学习p1-p22;
完成作业:1,2,第三个不用看
学到什么程度
反向传播梯度回传,损失函数,优化算法,多层感知机,卷积神经网络,普通的循环神经网络,以及一些dropout和BN掌握住;
自然语言处理
CS224n
一共18讲,看P1-P5和P8,P9,P11;
完成作业:
https://github.com/Luvata/CS224N-2019/tree/master/CS224N-2019/
重点看a1,a2,a4,a5;其实a5这个不做的话,也没问题,把前面给的这个三个一定自己走一遍;
学到什么程度
通过看这个视频你要能够达到什么地步呢?
其实这个视频和cs231n在基础部分是重叠的,对于基础部分,大家可以都看,两者兼学会更好
必须熟悉的掌握:反向传播,词向量,RNN,GRU,Lstm,Seq2Seq以及attention机制;初步了解卷积神经网络;
必看的一本书:邱锡鹏
举个例子,比如说看完网络优化和正则化了视频讲解没有搞定;找到这本书对应的章节,比如第七章看一遍,邱老师是怎么讲解的;
Pytorch框架学习
B站刘二大人
《PyTorch深度学习实践》完结合集 https://www.bilibili.com/video/BV1Y7411d7Ys?from=search&seid=1631997590037031874&spm_id_from=333.337.0.0
一个仓库
https://github.com/yunjey/pytorch-tutorial
其实我入门是学习的这个仓库,写的非常好,浅显易懂,没有一个多余的代码;
时间安排
- CV和NLP各两周,共计一个月
深度学习实战入门
两个学习曲线非常平滑的项目
但是要记住,我们学习深度学习是为了实战:我给大家准备了两个学习曲线非常平滑的实战项目;
一个是新闻分类项目,一个是街景字符识别,也就是图片分类项目,有的人可能会认为这两个项目非常简单,但是我认为千万不要小瞧这两个项目,扎扎实实做完这两个项目,对你的帮助绝对比你想象的要大;
自然语言处理-新闻文本分类
就像我所说的,这个任务是一个NLP中一个基础任务-文本分类任务;这也是绝大部分从业的业务型NLP工程师日常工作最常见的工作需求;所以掌握好这个任务非常关键;
1.赛题解析
https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12586969.1002.30.6406111aQqRTBR&postId=118252
- 分析数据:
https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12586969.1002.18.6406111aE3Lglg&postId=118253
- 基于机器学习的文本分类任务:
https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12586969.1002.15.6406111aE3Lglg&postId=118254
tf-idf bagofwords
4.不同深度学习模型:
- fastext
https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12586969.1002.12.6406111aE3Lglg&postId=118255
- Word2vec
https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12586969.1002.9.6406111aE3Lglg&postId=118268
3.CNN 做文本分类
4.RNN做文本分类
https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12586969.1002.24.6406111aE3Lglg&postId=118259
- BERT做文本分类-先不看
这个可以先不看,等你入了深度学习的门,认为自己想搞NLP这个方向了,你再去看相关的论文;
我把链接放在这里吧:
https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12586969.1002.24.6406111aE3Lglg&postId=118259
对应的论文在这里
计算机视觉-街景符号识别
https://tianchi.aliyun.com/competition/entrance/531795/introduction?spm=5176.12281973.1005.23.3dd52448NfUWzv
本质上就是图片分类任务,1.赛题理解
https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12586969.1002.15.2ce879deGunCpk&postId=108659
- 数据读取与数据扩增
https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12586969.1002.24.2ce879deGunCpk&postId=108150
- 构建模型:
https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12586969.1002.6.2ce879deGunCpk&postId=108711
4.模型的训练与验证:
https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12586969.1002.3.2ce879deGunCpk&postId=108780
- 模型的集成:
https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12586969.1002.21.2ce879deGunCpk&postId=108656
要求
- 必须弄清楚每行代码
- 尽情调参
时间要求:共两周;各一周,时间比较宽松,一定要吃透