本仓库主要记录本人对 NLP算法和推荐算法相关知识的积累,将这些知识屡清楚,然后将相关的知识笔记整理成专题,来帮助进行更好的复习,以应对之后的跳槽面试。
推荐使用 Typora 编辑器打开, 所见即所得。
该文件夹下主要记录 python 和 c++ 的一些语言细节, 毕竟这两大语言是主流,基本是都要会的,目前还在查缺补漏中。
- C++面试题
- Python 面试题
该文件夹下主要记录一些数学相关的知识,包括高数,线性代数,概率论与信息论, 校招针对CS专业的应该会问到, 社招应该问的不多。
- 概率论
- 高等数学
- 线性代数
- 信息论
这部分内容一般不怎么考,因此,没有把重心放在上面,至少现在几乎没有遇到问这方面的,但某些特别便业务开发的啃根会问,校招针对科班问的可能会比较多,社招应该就没有那么侧重了。
这部分已经开始进入正题了,事实证明,部分大厂会提及一些基础的机器学习算法知识,因此,这部分我觉得几个核心的模型是要会的。
- 机器学习项目流程
- 判别模型 vs 生成模型
- 频率派 vs 贝叶斯派
- 数据预处理
- 特征工程
- 特征工程-关联规则
- 模型 - SVM
- 模型 - 聚类算法
- 模型 - 线性回归
- 模型 - 逻辑回归
- 模型 - 朴素贝叶斯
- 模型 - 决策树
- 模型 - 随机森林
- 集成学习
- AdaBoost
- XGBoost
- LightGBM
这部分主要讲述深度学习方面的基础知识,是核心点,但很多情况下,很多面试官的题基本差不多,不过我个人觉得,有这种全局的,全面的知识框架是有益的。
- 深度学习项目流程
- 基础理论 - 多任务学习
- 基础理论 - 集成学习
- 基础理论 - 分类问题评估指标
- 基础理论 - 距离度量方法
- 基础理论 - 目标函数,损失函数,代价函数
- 基础理论 - 偏差 vs 方差,欠拟合 vs 过拟合
- 基础理论 - 数据角度看深度学习
- 基础理论 - 梯度消失,梯度爆炸问题
- 基础理论 - 维数灾难问题
- 基础理论 - 指数加权平均
- 基础理论- 局部最小值,鞍点
- 基础理论 - 集成学习
- 基础理论 - 集成学习
- 基本单元 - CNN
- 基本单元 - MLP
- 基本单元 - RNN
- 调参 - 超参数调优
- 调参 - 激活函数
- 调参 - 权重初始化方案
- 调参 - 优化算法
- Trick - Dropout
- Trick - Normalization
- Trick - 融合训练集,验证集,测试集
- Trick - 提前终止
- Trick - 学习率衰减
- Trick - 正则化
- 词袋模型
- 概率图模型
- 统计语言模型
- 主题模型
- 自然语言处理综述
- HMM&CRF
- Jieba分词
- TF-IDF
这部分算是核心的知识了,这部分还需要逐渐完善。
- 文本数据预处理
- 各大任务的评价指标
- 改进 NLP 模型的一些思路
- 词向量 - Word2Vec
- 词向量 - Glove
- 词向量 - FastText
- 预训练语言模型 - BERT改进研究
- 预训练语言模型 - 融入知识图谱
- 预训练语言模型 - 自然语言生成
TODO 一些传统观念的推荐算法,召回,排序,协同过滤 UCF和ICF等
TODO 一些神经网络推荐算法 召回,排序
这部分主要推荐一些自己阅读并实现过的一些源码,有些源码是 NLP 相关, 有些是深度学习相关的,
已有的BP算法(深度学习远祖级别的算法)
后续还需要添加
- Transformer
- RNN/GRU/LSTM
这部分主要是自己面试过程中的一些面经。
[1] DeepLearning-500-questions -- 一个很好的仓库
[2] Algorithm_Interview_Notes-Chinese -- 知识比较旧了,但也很好