点击上方,选择星标或置顶,每天给你送干货!阅读大概需要17分钟
跟随小博主,每天进步一丢丢
链接:https://github.com/sladesha/Reflection_Summary
这个仓库的作者是滴滴出行的员工SladeSal,同时也是互联网一线资深的面试官,他结合自己作为面试管的提问和自己的实习生tcandzq(拿到腾讯UGC,阿里算法中台,头条广告推荐offer)在参加2020届校招面试中遇到的各类算法问题,为大家写出了这份算法岗的面试知识点及个人理解的汇总。每个问题下面都有作者对这个问题的精炼总结,不罗嗦,简单易懂。非常感谢作者细致整理和无私分享。本资源整理了300多道算法岗位相关的面试题目并给出了详细的答案,包含统计学基础概念、数学基础、数据预处理、机器学习、深度学习、自然语言处理(NLP)、推荐系统、风控、评价指标等相关问题,非常值得深入学习,温故而知新。部分内容为手记pdf内容,因为公式实在太多,手写比较快,笔记潦草,见谅,内容部分会引用第三方的观点,但是一定会结合自己的感受和体会,一定有存疑和不完善的地方,欢迎大家补充和质疑打脸。现在算法工程师的面试以下内容都不会直接提问,而是以项目交流的方式去挖掘在一个问题上的理论理解的深度,建议大家结合实际工作中的case去思考。基础概念
数学
数据预处理
机器学习
深度学习
自然语言处理
推荐
风控
评价指标
先验概率和后验概率
写出全概率公式&贝叶斯公式
说说你怎么理解为什么有全概率公式&贝叶斯公式
什么是先验概率
什么是后验概率
经典概率题
频率概率
极大似然估计 - MLE
最大后验估计 - MAP
极大似然估计与最大后验概率的区别
到底什么是似然什么是概率估计
概率密度分布
均匀分布
伯努利分布
二项分布
高斯分布
拉普拉斯分布
泊松分布
数据平衡
为什么要对数据进行采样
是否一定需要对原始数据进行采样平衡
有哪些常见的采样方法
能否避免采样
你平时怎么用采样方法
异常点处理
统计方法
矩阵分解方法
特征值和特征向量的本质是什么
矩阵乘法的实际意义
密度的离群点检测
聚类的离群点检测
如何处理异常点
缺失值处理
是不是一定需要对缺失值处理
直接填充方法有哪些
模型插值方法有哪些?及方法的问题
如何直接离散化
hold位填充方法有哪些
怎么理解分布补全
random方法使用前提
总结
特征选择
为什么要做特征选择
从哪些方面可以做特征选择
既然说了两个方向,分别介绍一些吧
特征提取
为什么需要对数据进行变换
归一化和标准化之间的关系
连续特征常用方法
离散特征常用方法
文本特征
画一个最简单的最快速能实现的框架
聚类
请问从EM角度理解kmeans
为什么kmeans一定会收敛
kmeans初始点除了随机选取之外的方法
线性回归
损失函数是啥
最小二乘/梯度下降手推
介绍一下岭回归
什么时候使用岭回归
什么时候用Lasso回归
逻辑回归
logistic分布函数和密度函数,手绘大概的图像
LR推导,基础5连问
梯度下降如何并行化
LR明明是分类模型为什么叫回归
为什么LR可以用来做CTR预估
满足什么样条件的数据用LR最好
LR为什么使用sigmoid函数作为激活函数?其他函数不行吗
利用几率odds的意义在哪
Sigmoid函数到底起了什么作用
LR为什么要使用极大似然函数,交互熵作为损失函数?那为什么不选平方损失函数的呢
LR中若标签为+1和-1,损失函数如何推导?
如果有很多的特征高度相关或者说有一个特征重复了100遍,会造成怎样的影响
为什么要避免共线性
LR可以用核么?可以怎么用
LR中的L1/L2正则项是啥
lr加l1还是l2好
正则化是依据什么理论实现模型优化
LR可以用来处理非线性问题么
为什么LR需要归一化或者取对数
为什么LR把特征离散化后效果更好?离散化的好处有哪些
逻辑回归估计参数时的目标函数逻辑回归的值表示概率吗
LR对比万物
LR梯度下降方法
LR的优缺点
除了做分类,你还会用LR做什么
你有用过sklearn中的lr么?你用的是哪个包
看过源码么?为什么去看
谈一下sklearn.linear_model.LogisticRegression中的penalty和solver的选择
谈一下sklearn.linear_model.LogisticRegression中对多分类是怎么处理的
-
我的总结
决策树
常见决策树
简述决策树构建过程
详述信息熵计算方法及存在问题
详述信息增益计算方法
详述信息增益率计算方法
解释Gini系数
ID3存在的问题
C4.5相对于ID3的改进点
CART的连续特征改进点
CART分类树建立算法的具体流程
CART回归树建立算法的具体流程
CART输出结果的逻辑
CART树算法的剪枝过程是怎么样的
树形结构为何不需要归一化
决策树的优缺点
贝叶斯
解释一下朴素贝叶斯中考虑到的条件独立假设
讲一讲你眼中的贝叶斯公式和朴素贝叶斯分类差别
朴素贝叶斯中出现的常见模型有哪些
出现估计概率值为 0 怎么处理
朴素贝叶斯的优缺点
朴素贝叶斯与 LR 区别
随机森林
解释下随机森林
随机森林用的是什么树
随机森林的生成过程
解释下随机森林节点的分裂策略
随机森林的损失函数是什么
为了防止随机森林过拟合可以怎么做
随机森林特征选择的过程
是否用过随机森林,有什么技巧
RF的参数有哪些,如何调参
RF的优缺点
集成学习
介绍一下Boosting的思想
最小二乘回归树的切分过程是怎么样的
有哪些直接利用了Boosting思想的树模型
gbdt和boostingtree的boosting分别体现在哪里
gbdt的中的tree是什么tree?有什么特征
常用回归问题的损失函数
常用分类问题的损失函数
什么是gbdt中的残差的负梯度
如何用损失函数的负梯度实现gbdt
拟合损失函数的负梯度为什么是可行的
即便拟合负梯度是可行的,为什么不直接拟合残差?拟合负梯度好在哪里
Shrinkage收缩的作用
feature属性会被重复多次使用么
gbdt如何进行正则化的
为什么集成算法大多使用树类模型作为基学习器?或者说,为什么集成学习可以在树类模型上取得成功
gbdt的优缺点
gbdt和randomforest区别
GBDT和LR的差异
xgboost对比gbdt/boosting Tree有了哪些方向上的优化
xgboost和gbdt的区别
xgboost优化目标/损失函数改变成什么样
xgboost如何使用MAE或MAPE作为目标函数
xgboost如何寻找分裂节点的候选集
xgboost如何处理缺失值
xgboost在计算速度上有了哪些点上提升
xgboost特征重要性是如何得到的
xGBoost中如何对树进行剪枝
xGBoost模型如果过拟合了怎么解决
xgboost如何调参数
XGboost缺点
LightGBM对Xgboost的优化
LightGBM亮点
SVM
简单介绍SVM
什么叫最优超平面
什么是支持向量
SVM 和全部数据有关还是和局部数据有关
加大训练数据量一定能提高SVM准确率吗
如何解决多分类问题
可以做回归吗,怎么做
SVM 能解决哪些问题
介绍一下你知道的不同的SVM分类器
什么叫软间隔
SVM 软间隔与硬间隔表达式
SVM原问题和对偶问题的关系/解释原问题和对偶问题
为什么要把原问题转换为对偶问题
为什么求解对偶问题更加高效
alpha系数有多少个
KKT限制条件,KKT条件有哪些,完整描述
引入拉格朗日的优化方法后的损失函数解释
核函数的作用是啥
核函数的种类和应用场景
如何选择核函数
常用核函数的定义
核函数需要满足什么条件
为什么在数据量大的情况下常常用lr代替核SVM
高斯核可以升到多少维?为什么
SVM和逻辑斯特回归对同一样本A进行训练,如果某类中增加一些数据点,那么原来的决策边界分别会怎么变化
各种机器学习的应用场景分别是什么?例如,k近邻,贝叶斯,决策树,svm,逻辑斯蒂回归
Linear SVM 和 LR 有什么异同
dropout
dropout如何作用的
L1为什么在深度学习中不常用
用贝叶斯机率说明Dropout的原理
为什么有效
batch_normalization
你觉得bn过程是什么样的
手写一下bn过程
知道LN么?讲讲原理
残差网络
介绍残差网络
残差网络为什么能解决梯度消失的问题
残差网络残差作用
你平时有用过么?或者你在哪些地方遇到了
Attention
Attention对比RNN和CNN,分别有哪点你觉得的优势
写出Attention的公式
解释你怎么理解Attention的公式的
Attention模型怎么避免词袋模型的顺序问题的困境的
Attention机制,里面的q,k,v分别代表什么
为什么self-attention可以替代seq2seq
维度与点积大小的关系是怎么样的,为什么使用维度的根号来放缩
示例:
GloVe
GolVe的损失函数
解释GolVe的损失函数
为什么GolVe会用的相对比W2V少
Word2Vec
从隐藏层到输出的Softmax层的计算有哪些方法
层次softmax流程
负采样流程
word2vec两种方法各自的优势
怎么衡量学到的embedding的好坏
word2vec和glove区别
你觉得word2vec有哪些问题
CRF
阐述CRF原理
线性链条件随机场的公式是
CRF与HMM区别
Bert+crf中的各部分作用详解
LDA
详述LDA原理
LDA中的主题矩阵如何计算
LDA的共轭分布解释下
PLSA和LDA的区别
怎么确定LDA的topic个数
LDA和Word2Vec区别?LDA和Doc2Vec区别
LDA算法里面Dirichlet分布的两个参数alpha和beta怎样确定?trick?
使用过LDA,你有什么问题?
你用真实用过吗?对比过效果吗?
超参数\alpha \beta对训练的影响?
LDA你会有哪些常规的预处理步骤
LDA的最大似然不好求的原因?为什么不直接用EM?为什么LDA引入了一堆数学理论?
DIN:实现/使用的代码
主要使用了什么机制
activation unit的作用
DICE怎么设计的
DICE使用的过程中,有什么需要注意的地方
YoutubeNet:实现/使用的代码
变长数据如何处理的
input是怎么构造的
最后一次点击实际如何处理的
output的是时候train和predict如何处理的
如何进行负采样的
item向量在softmax的时候你们怎么选择的
Example Age的理解
什么叫做不对称的共同浏览(asymmetric co-watch)问题
为什么不采取类似RNN的Sequence model
YouTube如何避免百万量级的softmax问题的
serving过程中,YouTube为什么不直接采用训练时的model进行预测,而是采用了一种最近邻搜索的方法
Youtube的用户对新视频有偏好,那么在模型构建的过程中如何引入这个feature
在处理测试集的时候,YouTube为什么不采用经典的随机留一法(random holdout),而是一定要把用户最近的一次观看行为作为测试集
整个过程中有什么亮点?有哪些决定性的提升
Recall
召回层构造loss和精排层的差异?
离线评估有什么办法
负样本为什么不能用点击未展示
解释一下hard negative
什么样本是hard和easy的
如何处理hard部分
下载一:中文版!学习TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!
整理不易,还望给个在看!