机器学习面试题汇总(51~100题)

机器学习面试题汇总(51~100题)

    • 51 逻辑斯特回归为什么要对特征进行离散化?
    • 52 hash 冲突及解决办法
    • 53 下列哪个不属于CRF模型对于HMM和MEMM模型的优势
    • 54 熵、联合熵、条件熵、相对熵、互信息的定义
    • 55 从运行速度、存储效率和适用场合等方面简要地分析各种存储结构
    • 56 说下红黑树的五个性质
    • 57 梯度下降法找到的一定是下降最快的方向么?
    • 58 RNN、LSTM、GRU区别
    • 59 什麽样的资料集不适合用深度学习?
    • 60 随机森林如何评估特征重要性?
    • 61 你知道有哪些数据处理和特征工程的处理?
    • 62 为什么LSTM模型中既存在sigmoid又存在tanh两种激活函数?
    • 63 数据不平衡问题

51 逻辑斯特回归为什么要对特征进行离散化?

在工业界,很少直接将连续值作为逻辑回归模型的特征输入,而是将连续特征离散化为一系列0、1特征交给逻辑回归模型,这样做的优势有以下几点:
①离散特征的增加和减少都很容易,易于模型的快速迭代
②稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展;
③离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰;
④逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合;
⑤离散化后可以进行特征交叉,由M+N个变量变为M*N个变量,进一步引入非线性,提升表达能力;
⑥特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反,所以怎么划分区间是门学问;
⑦特征离散化以后,起到了简化了逻辑回归模型的作用,降低了模型过拟合的风险。

52 hash 冲突及解决办法

1)开放定址法:当冲突发生时,使用某种探查(亦称探测)技术在散列表中形成一个探查(测)序列。沿此序列逐个单元地查找,直到找到给定 的关键字,或者碰到一个开放的地址(即该地址单元为空)为止(若要插入,在探查到开放的地址,则可将待插入的新结点存人该地址单元)。查找时探查到开放的 地址则表明表中无待查的关键字,即查找失败。
2)再哈希法:同时构造多个不同的哈希函数。
3)链地址法:将所有哈希地址为i的元素构成一个称为同义词链的单链表,并将单链表的头指针存在哈希表的第i个单元中,因而查找、插入和删除主要在同义词链中进行。链地址法适用于经常进行插入和删除的情况。
4)建立公共溢出区:将哈希表分为基本表和溢出表两部分,凡是和基本表发生冲突的元素,一律填入溢出表。

53 下列哪个不属于CRF模型对于HMM和MEMM模型的优势

首先,CRF(条件随机场),HMM(隐马模型),MEMM(最大熵隐马模型)都常用来做序列标注的建模。
隐马模型一个最大的缺点就是由于其输出独立性假设,导致其不能考虑上下文的特征,限制了特征的选择。
最大熵隐马模型则解决了隐马的问题,可以任意选择特征,但由于其在每一节点都要进行归一化,所以只能找到局部的最优值,同时也带来了标记偏见的问题,即凡是训练语料中未出现的情况全都忽略掉。
条件随机场则很好的解决了这一问题,他并不在每一个节点进行归一化,而是所有特征进行全局归一化,因此可以求得全局的最优值。

54 熵、联合熵、条件熵、相对熵、互信息的定义


  1. 如果一个随机变量X的可能取值为X = {x1, x2,…, xk},其概率分布为P(X = xi) = pi(i = 1,2, …, n),则随机变量X的熵定义为:
    H ( X ) = − ∑ x p ( x ) l o g p ( x ) H(X) = -\sum_xp(x)logp(x) H(X)=xp(x)logp(x)
  2. 联合熵
    两个随机变量X,Y的联合分布,可以形成联合熵Joint Entropy,用H(X,Y)表示。
  3. 条件熵
    在随机变量X发生的前提下,随机变量Y发生所新带来的熵定义为Y的条件熵,用H(Y|X)表示,用来衡量在已知随机变量X的条件下随机变量Y的不确定性。且有此式子成立:H(Y|X) = H(X,Y) – H(X),整个式子表示(X,Y)发生所包含的熵减去X单独发生包含的熵。
  4. 相对熵

55 从运行速度、存储效率和适用场合等方面简要地分析各种存储结构

运行速度 存储效率 适用场合
数组 比较适合进行查找操作,还有像类似于矩阵等的操作
链表 较快 较高 比较适合增删改频繁操作,动态的分配内存
队列 较快 较高 比较适合进行任务类等的调度
一般 较高 比较适合递归类程序的改写
二叉树(树) 较快 一般 一切具有层次关系的问题都可用树来描述
一般 一般 除了像最小生成树、最短路径、拓扑排序等经典用途。还被用于像神经网络等人工智能领域等等。

56 说下红黑树的五个性质

红黑树,一种二叉查找树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。
通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平衡的。

机器学习面试题汇总(51~100题)_第1张图片
①每个结点要么是红的要么是黑的。
②根结点是黑的。
③每个叶结点(叶结点即指树尾端NIL指针或NULL结点)都是黑的。
④如果一个结点是红的,那么它的两个儿子都是黑的。
⑤对于任意结点而言,其到叶结点树尾端NIL指针的每条路径都包含相同数目的黑结点
正是红黑树的这5条性质,使一棵n个结点的红黑树始终保持了logn的高度,从而也就解释了上面所说的“红黑树的查找、插入、删除的时间复杂度最坏为O(log n)”这一结论成立的原因。

57 梯度下降法找到的一定是下降最快的方向么?

梯度下降法并不是下降最快的方向,它只是目标函数在当前的点的切平面(当然高维问题不能叫平面)上下降最快的方向。在practical implementation中,牛顿方向(考虑海森矩阵)才一般被认为是下降最快的方向,可以达到superlinear的收敛速度。

58 RNN、LSTM、GRU区别

①RNN引入了循环的概念,但是在实际过程中却出现了初始信息随时间消失的问题,即长期依赖(Long-Term Dependencies)问题,所以引入了LSTM。
②LSTM:因为LSTM有进有出且当前的cell informaton是通过input gate控制之后叠加的,RNN是叠乘,因此LSTM可以防止梯度消失或者爆炸的变化是关键。
③GRU是LSTM的变体,将忘记门和输入们合成了一个单一的更新门。

59 什麽样的资料集不适合用深度学习?

①数据集太小,数据样本不足时,深度学习相对其它机器学习算法,没有明显优势。
②数据集没有局部相关特性,目前深度学习表现比较好的领域主要是图像/语音/自然语言处理等领域,这些领域的一个共性是局部相关性。图像中像素组成物体,语音信号中音位组合成单词,文本数据中单词组合成句子,这些特征元素的组合一旦被打乱,表示的含义同时也被改变。对于没有这样的局部相关性的数据集,不适于使用深度学习算法进行处理。举个例子:预测一个人的健康状况,相关的参数会有年龄、职业、收入、家庭状况等各种元素,将这些元素打乱,并不会影响相关的结果。

60 随机森林如何评估特征重要性?

衡量变量重要性的方法有两种,Decrease GINI 和 Decrease Accuracy:
1) Decrease GINI: 对于回归问题,直接使用argmax(Var-VarLeft-VarRight)作为评判标准,即当前节点训练集的方差Var减去左节点的方差VarLeft和右节点的方差VarRight。
2) Decrease Accuracy:对于一棵树Tb(x),我们用OOB样本可以得到测试误差1;然后随机改变OOB样本的第j列:保持其他列不变,对第j列进行随机的上下置换,得到误差2。至此,我们可以用误差1-误差2来刻画变量j的重要性。基本思想就是,如果一个变量j足够重要,那么改变它会极大的增加测试误差;反之,如果改变它测试误差没有增大,则说明该变量不是那么的重要。

61 你知道有哪些数据处理和特征工程的处理?

机器学习面试题汇总(51~100题)_第2张图片

62 为什么LSTM模型中既存在sigmoid又存在tanh两种激活函数?

sigmoid 用在了各种gate上,产生0~1之间的值,这个一般只有sigmoid最直接了。
tanh 用在了状态和输出上,是对数据的处理,这个用其他激活函数或许也可以。

63 数据不平衡问题

解决方法如下:
①采样,对小样本加噪声采样,对大样本进行下采样
②数据生成,利用已知样本生成新的样本
③进行特殊的加权,如在Adaboost中或者SVM中
④采用对不平衡数据集不敏感的算法
⑤改变评价标准:用AUC/ROC来进行评价
⑥采用Bagging/Boosting/ensemble等方法
⑦在设计模型的时候考虑数据的先验分布

你可能感兴趣的:(机器学习)