机器学习面试理论题

6. L1 L2的特点

3. 谈谈LR、SVM的理解
4. 谈谈你了解的优化器
5. 问Adam的特点,总结和Momentum的关联

6. 5谈到了ANN,讲一讲你项目中怎么用的,以及其他做法(Hashing、Sharding、KD-Tree/Ball-Tree)
7. 了解PairWise吗,讲讲

5. word2vec:训练目标是什么,skip-gram ,cbow, 层次softmax, 高频词和低频词训练出的表示有什么特点, 怎么解决 。

Q: one-class svm和传统svm的区别,你看过one-class svm的底层代码嘛
A:区别回答上来了,代码就改了个接口和数据读写,底层原理代码没看过,面试官批评了一下,说底层代码也得看~

Q: 开始问模型,LR、GDBT、XGB、LGB、FM、DEEPFM、WIDE&DEEP、DIN、RNN、W2C挨个过(这里面省略了很多问题,都是些模型之间差异性和特性相关的问题)……其中问到我DEEPFM的损失函数是啥?
A: 我犹豫了一下,说应该是交叉熵损失函数,输出是FM和DNN两部分求和,然后通过sigmod输出的。
Q:你确定?
A:我记不太清了,应该是这样,因为sigmod为激活函数的话,损失函数不应该是平方损失,不然速度很慢,所以因该是交叉熵损失函数。

手推svm算法(问得最多),基础的线性可分svm数学原理建议搞清楚,svm适合求解什么类的问题(比如参数数量大于样本数等等),有的面官会问最大超平面和合页损失函数的区别和联系,有的面官会问到SMO算法原理,对于非线性核的理解。

手推逻辑回归,以较多,要知道logistic的损失函数的推导(可以从最大似然推出),为什么用sigmoid等等。

Kmeans 收敛问题
别的聚类算法

2. 特征值、特征向量是什么?讲一下SVD
我说我没学SVD,他:不可能吧。。
3. 熟悉的机器学习算法
我准备讲svm,他直接打断我问:知道smo算法吗?为什么要用smo?
天啊我看svm的时候,看见一篇博客里有个smo的链接,幸好我还点进去看了一眼,不过继续追问,我就答不上来了

6. 大数定律是什么,有什么意义?有哪些假设检验方法,检验的目的?( 被问多次)
7. 学过哪些课程?贝叶斯?

9. 分类算法和回归算法总体框架

5. 机器学习算法
随机森林的原理
随机森林是否可以做回归
支持向量机的原理
高维映射除了核函数还有什么

6. 支持向量和逻辑回归哪个对异常点更敏感?为什么?

机器学习:支持向量机,贝叶斯,树模型之类的等
(要会怎么用准确的语言论述这个算法,程度就取决于自己了,平时方法我手动有试着推导一些原理,有助于全方位理解算法的适用性局限性)

时间序列,arima模型的讲解

数据埋点的理解

1. 机器学习流程(越细越好)
2. 机器学习的一些底层原理推到也要了解,这是区分你和只会使用模型的人的一点。

3. 数据获取,爬虫的方面
4. 海量级数据储存问题
5. 海量数据的分析问题
7. 数据质量的问题
8. 数据泛化能力的问题
9. 数据抽取的代表性的问题
10. 数据特征选择,离散化等处理

优化过程只要保证向损失函数减小的方向,优化方法的改变主要改变的就是训练的速度(当然对最终的解也会有轻微影响),特别是凸函数,最终总能收敛到全局最优点。只不过默认线性回归的平方损失和逻辑回归的logloss损失有额外好处。
最大的原因可能是凸性的要求,对于线性回归,使用平方损失,那么整个过程是一个凸优化的过程,可以保证收敛的情况比较好,证明过程的话求一下hessian矩阵看一下正不正定就可以。而逻辑回归,使用logloss是凸函数,使用平方损失则不是凸函数了,容易收敛到局部最优解,证明方法同样可以通过hessian矩阵来

logloss在逻辑回归里,也是最大似然估计的形式,也是凸优化过程。不仅如此,还是最大熵模型的等价形式

要解决过拟合,可以去减少模型的复杂度,当数据集不代表真实分布且模型拟合能力不足的时候,是可以炼丹出不错的结果的,随个好的随机种子,但这不是很好的方案。
所以解决过拟合的第一步,就是检验数据集是不是能很好的代表真实分布:
1、检查数据量是不是过小,是不是有代表性。
只有三四个数据没有代表性,但是三四亿个数据可能过于冗余,那么具体需要多少数据呢?过拟合的时候往往是数据不足的时候,此时可以提高数据集的质量,方法就是
1)人工产生新数据或数据扩充
图像的数据扩充可以裁剪,旋转,变色等等。普通数量不足可以用GAN模型生成,数据加小噪声也是一种扩充的方法(没错,这个更像是trick),过采样(适度)。
2)检查数据泄***r>数据泄露是数据集分布不代表真实分布的另一个例子。在标注没出问题的情况下,出现了和label极强相关性的漏泄特征,比如每个样本独一无二的ID号,模型可以直接对每个样本的ID号记录下它的类别,但是这对新数据的泛化能力几乎为0,这是比较极端的数据泄露的例子。另外出现和label独立的特征,也是一种干扰,如果学习器试图把这个参与建模,也是容易过拟合的。
3)结构风险最小化
正则化。正则化对参数增加了限制,让模型不走极端,比如L2约束就不容易出现某个参量过大的情况,L1则是限制了参与运算结果的参数数量。BN层则限制了分布偏移,CNN本身就是DNN的带约束结构。结构风险最小化主要是降低期望风险,主要针对样本有限的情况,因为样本有限的话我们数据集分布不能很好的代表真实分布,那么就需要降低模型的学习能力,因为如果很完整的学习到了训练集的分布,那几乎可以肯定发生了过拟合。
4)trick
早停、dropout。
最后大数据下NN效果很好的原因就是因为数据太多,泛化误差收敛了,NN的拟合能力还是太强了。

对机器学习的了解程度:回归过程中如何避免过拟合;分类、回归问题中的评价指标;机器学习算法的分类

问机器学习了解什么模型:说了树系列模型、集成学习(插问了RF和GBDT的区别)、常见的无监督学习算法(降维、聚类)

全部评论

相关推荐

1 2 评论
分享
牛客网
牛客企业服务