1 RNN是怎么运行的?
2 什么是char-RNN,RNN结构图。
3 Seq2Seq的结构。
3 Attention的结构
4 机器学习常用的分类算法:Logistic Regression, SVM, 决策树,随机森林等相关分类算法的原理,公式推导,模型评价,模型调参,使用场景。
5 机器学习常用的聚类算法:K-Means, BDSCAN, SOM, LDA等算法的原理,模型参数的确定以及确定的方法,模型的评价,模型的使用场景(例如LDA应该确定几个主题,K-Means的k如何确定,DBSCAN密度可达与密度直达)。
6 特征工程: 特征选择,特征提取,PCA降维方法中的参数主成分的确定方法,如何进行特征选择。
7 Boosting和Bagging的区别。
8 数据如何去除噪声,如何找到离群点,异常值,现有机器学习算法哪些可以去除噪声。
9 HMM与N-gram模型之间的区别。
10 梯度消失与梯度爆炸。
11 奥卡姆剃须刀原理。
12 TCP三次握手的原理,为什么是三次而不是其他次。
13 进行数据处理时,如何过滤无用的信息,数据乱码的处理。
14 交叉熵与信息熵,信息增益与信息增益率,gini系数,具体如何计算。
15 BIC准则(贝叶斯信息准则)与AIC(赤池信息准则)。
16 前向传播与反向传播。
17 常见的损失函数。
18 请列出几种文本特征提取算法。
参考答案: 文档频率、信息增益、互信息、$\chi^2$统计、TF-IDF
19 简述几种自然语言处理开源工具包。
参考答案:LingPipe、FudanNLP、OpenNLP、CRF++、Standord CoreNLP、IKAnalyzer
20 简述无监督和有监督算法的区别。
参考答案:(1)有监督学习:对具有概念标记(分类)的训练样本进行学习,以尽可能对训练样本集外的数据进行标记(分类)预测。这里,所有的标记(分类)是已知的。因此,训练样本的岐义性低。
无监督学习:对没有概念标记(分类)的训练样本进行学习,以发现训练样本集中的结构性知识。这里,所有的标记(分类)是未知的。因此,训练样本的岐义性高。聚类就是典型的无监督学习
(2)有监督学习的样本全部带标记,无监督学习的样本全部不带标记。
PS:部分带标记的是半监督学习
(3)训练集有输入有输出是有监督,包括所有的回归算法分类算法,比如线性回归、决策树、神经网络、KNN、SVM等;训练集只有输入没有输出是无监督,包括所有的聚类算法,比如k-means 、PCA、 GMM等
21 深度学习如何提取query特征,如何利用深度学习计算语义相似度。
22 算法题: 写二叉树的前序遍历,中序遍历,统计二叉树所有路径和。
22 RNN为什么会梯度消失,LSTM怎么能解决梯度消失问题。
23 介绍一下常见优化算法及其特点。
24 Dropout的原理。
25 交叉熵损失函数是什么。
26 介绍一下Word2vec,CBOW和Skip-gram的区别是什么。
27 GBDT和Xgboost介绍一下,并说一下区别。
28 算法题:现在有词向量词典,计算句子相似度(Consine Similarity)。
29 介绍一下随机森林和Xgboost,有什么区别(从bagging和boosting角度)。
30 什么是SGD,什么是batch size。
31 深度学习优化算法有哪些,随便介绍一个。
32 现有一个神经网络和64个样本,Batch gradient descent和SGD的时间复杂度和效果比较;采用批梯度下降时,神经网络参数更新了几次。
33 font color=red>算法题: Two Sum问题。
34 font color=red>算法题:如何找到10万以内的所有质数。
35 Logistic回归的损失函数怎么来的,如何进行梯度更新。
36 Xgboost原理,xgboost有哪些参数,怎么调整xgboost的参数。
37 现在有三枚硬币,一个是一正一反,一个是两面都是正,一个是两面都是反,现在随机抛出一枚硬币是正面,那么这枚硬币的反面也是正面的概率。
参考答案:$\frac{2}{3}$
38 现在有一个比较小的数据表(包括id, score),另外有一个十分大的(上千万级别)的数据表(包括id, name),现在需要以id为索引将两张表合并,如何在O(n)时间复杂度完成。
39 GRU、LSTM以及RNN的区别在什么地方。
40 GBDT的损失函数是什么。
41 红黑树。
42 64匹马,8个跑道,选出速度最快的4匹马需要多少次。
参考答案:11
43 介绍一下LSTM(介绍LSTM时候提到RNN,打断询问RNN为什么有梯度消失问题,给出具体公式)。
44 LSTM用什么框架实现的,能不能介绍一下Word2ver如何使用在其中,使用Word2vec和不使用word2vec的效果如何。
45 正则化方法有哪些,介绍一下(说到L1和L2时,重点问了一下为什么梯度稀疏和梯度选择,用公式推导讲了一下)。
46 机器学习、数据挖掘和深度学习的区别。
47 算法题:二叉搜索树的插入和搜索。
48 有序循环链表中(后简化为元素从小到大有序循环链表),如何在O(1)时间内完成最大值插入。
49 算法题: 写代码实现列表 [0,0,6,2,8,0,0] —-> [6,2,8,0,0,0],要求O(n)时间复杂度和O(1)空间复杂度。
50 LSTM用来解决RNN的什么问题?如何解决的?既然说到forget gate,那么说一下forget gate的取值范围?(sigmoid 取值(0,1))forget gate是具体的值还是向量?(向量),如何理解这个向量?
51 深度学习用的什么框架,Tensorflow?(Keras),那介绍一下深度学习中的过拟合如何解决?(从数据、单模型、模型集成三个角度回答)。
52 深度学习优化算法用过哪些?讲讲Sgd和gd的区别?
53 对SVM(考虑线性可分情况)、LR和DT熟悉么? 从损失函数说一下区别,SVM的损失函数是什么?(合页损失函数,写一下讲一下)。LR呢?(利用最大似然估计得出)。又问一下SVM线性可分情况下决策边界不同位置的损失值。DT如何进行特征选择?(ID3信息增益)。介绍一下信息熵?(随机变量不确定性,度量系统稳定性) [1/3,1/3,1/3]和[1/2,1/4,1/4]哪个的信息熵大?回归任务中如何进行特征选择?(平方损失准则)。
54 海量数据处理。现在有1千万行词,需要统计各个词出现的次数,目前有一台机器内存1G,磁盘100G?(海量数据处理blog的第一题,先利用Hash对原始文本进行分割(hash(word)%2000,分为2000个文件),再使用hashmap(python中的字典)在各个文件中分别统计)。
55 LTR(learning to rank)。介绍一下ltr的三种方式?其中pairwise在训练时怎么做?(转化为二分类)在测试的时候怎么做?
56 文本分类的项目中用到CNN没有?介绍一下CNN?那CNN在文本分类任务中卷积核和一般的图像任务中的卷积核有什么区别?
57 熟悉Attention么,介绍一下。
58 在你的项目中如何判断word2vec的效果好坏,如何评判对模型和结果的影响?项目中使用的xgboost是哪个版本的?谁写的?
59 如何从概率角度理解AUC?二分类问题中,一个正负类比是1:1000,一个是1:100,它们的AUC和ROC有什么区别?
60 了解交叉熵损失函数么?在哪个场景使用过?它和最大似然估计是什么关系?
61 算法题: 覆盖字符串所有字符的最小字串。
62 算法题:反转链表的前k个。
63 算法题:求二叉树最大深度。
64 序列模型中markov和rnn的区别。
参考答案:rnn和hmm最本质的区别在于rnn没有马尔科夫假设,因此从理论上可以考虑很久的信息;同时hmm本质上是一个概率模型,而rnn不是;此外rnn具备神经网络的拟合非线性的能力。
65 算法题:字符串出现第k多的字符。
66 一个过拟合模型和大量数据,如何判断这些数据有没有用?
67 lr和svm的区别。
参考答案:从lr的由来讲损失函数,对于svm讲最大间隔。区别在于损失函数不同;svm只需要考虑支持向量,而lr需要考虑所有的点;svm本质上是基于距离的,因此其输出无法直接产生概率,lr输出的是其属于分类的概率;在非线性的情况下,svm使用核函数解决,而lr通常不使用核函数;svm自带正则话,因此是结构风险最小化算法。
68 特征选择的方法。
69 AUC是什么?就是ROC曲线下的部分,表示什么?
70 算法题:快速排序。
71 算法题: 一个数组中超过一半的数字。
72 有一个能产生1-5的随机数的函数,怎么修改之后能够产生1-7的随机数。
73 快速排序,归并排序,深度遍历和广度遍历。
74 解释一下lucene原理,怎么进行中文分词,基于什么进行分词。
75 算法题:a-z所有字母组合方式。
76 算法题:输入一个数,输出这个整数里面最大的质数。