特征工程相关面试题以及参考答案

1、你是怎样理解“特征”?
特征就是,于己而言,特征是某些突出性质的表现,于他而言,特征是区分事物的关键

2、给定场景和问题,你如何设计特征?(特征工程方法论)
基于人工经验的特征工程依然是目前的主流。

3、开发特征时候做如何做数据探索,怎样选择有用的特征?
数据描述方法:集中趋势分析、离中趋势分析、数据分布分析、图分析、
数理统计方法:假设检验、方差分析、相关分析、回归分析、因子分析
详细:https://blog.csdn.net/Orange_Spotty_Cat/article/details/80606980

过滤式:方差选择、卡方检验、互信息
优点是计算时间上较高效,对于过拟合问题也具有较高的鲁棒性。缺点就是倾向于选择冗余的特征,因为他们不考虑特征之间的相关性,有可能某一个特征的分类能力很差,但是它和某些其它特征组合起来会得到不错的效果。

包裹式:Las Vagas 算法
消耗资源

嵌入式:基于惩罚项的选择、基于树的选择GBDT

4、你是如何做数据清洗的?举例说明
过滤,填补缺失值,处理异常值

5、如何发现数据中的异常值,你是如何处理?
看分布

6、缺失值如何处理?
删除:
填补:离散的用众数、连续的取平均数

7、对于数值类型数据,你会怎样处理?为什么要做归一化?归一化有哪些方法?离散化有哪些方法,离散化和归一化有哪些优缺点?
归一化可以提高收敛速度,提高收敛的精度

归一化:最大值、均值
标准化:Z-score
离散化:分段,等频等距
https://blog.csdn.net/zenghaitao0128/article/details/78361038

8、标准化和归一化异同?
这俩都是线性变换,将原有数据进行了放缩,归一化一般放缩到[0,1],标准化则转为服从标准正态分布,数据的大小顺序没有发生改变
影响归一化的主要是两个极值,而标准化里每个数据都会影响,因为计算均值和标准差。

9、你是如何处理CTR类特征?
放缩然后离散化

10、讲解贝叶斯平滑原理?以及如何训练得到平滑参数
防止出现估计概率值为0,影响后续计算。

11、类别型数据你是如何处理的?比如游戏品类,地域,设备
序号编码、one-hot编码、二进制编码

12、序号编码、one-hot编码、二进制编码都是什么?适合怎样的类别型数据?

  • 序号编码通常用于处理类别建具有大小关系的数据
  • one-hot编码用于处理类别建不具有大小关系的特征。但是当类别取值较多的时候需要注意 (1) 用稀疏向量来节省空间 (2) 配合特征选择来降低维度。
  • 二进制编码,先用序号编码给每个类别赋予一个类别id,然后将类别id转为二进制编码,本质上是利用二进制对id进行了hash映射,得到0-1特征向量,且维度少于one-hot编码。

13、时间类型数据你的处理方法是什么?原因?
一般取到小时或者天,太细维度一来可解释性不强,而来造成特征维度增加,数据过于稀疏,也增加训练资源。

14、你怎样理解组合特征?举个例子,并说明它和单特征有啥区别
组合特征其实就是特征的交叉。举个例子,比方说浏览新闻,给用户推荐新闻的时候如果按性别或者兴趣这个特征来推,可能效果不是特别好,但是经过观察发现,性别和兴趣有比较强的关系,例如女性可能更喜欢看娱乐类,男性更喜欢体育财经类,把这俩特征做组合加入到模型,效果比单特征要强很多。

15、如何处理高维组合特征?比如用户ID和内容ID?
使用矩阵分解,常用的矩阵分解有
QR分解:Q是正交矩阵,R是上三角矩阵
LU分解:下三角和上三角
SVD: A m ∗ n = U m ∗ m ∗ ∑ m ∗ n ∗ V n ∗ m T A_{m*n}=U_{m*m}*\sum_{m*n}*V_{n*m}^{T} Amn=UmmmnVnmT,其中 U , V U,V U,V是酉矩阵(矩阵A乘以其共轭转置是单位阵)
Jordan分解:分成多个Jordan块,每个Jordan块都是对角线是相同的特征值,次对角线是1。

16、如何理解笛卡尔积、外积、内积?
笛卡尔积是两两相乘,m条记录和n条记录的结果为mn条记录,内积是两个向量点乘,结果是一个数值,外积是列向量乘以行向量,结果是一个矩阵。

17、文本数据你会如何处理?
利用各种文本模型

18、文本特征表示有哪些模型?他们的优缺点都是什么?

  • 词袋模型:词汇需要仔细的设计,特别是为了管理文档的大小,这会影响文档表示的稀疏性;简单但是失去了词的上下文结构;由于计算的原因(空间和时间复杂性)以及信息的原因,稀疏表示更难模拟,因为模型在如此庞大的代表空间中利用这么少的信息面临着巨大挑战
  • N-gram:将连续出现的n个词组成词组作为一个单独的特征放到向量表示中
    参数空间过大;数据稀疏
  • 主题模型:能够计算出每篇文章的主题分布
  • 词嵌入模型:将词映射成 K K K维的向量。

19、讲解TF-IDF原理,它有什么优点和缺点?针对它的缺点,你有什么优化思路?
TF-IDF是瓷瓶逆文档频率,TF(t,d) 为单词 t t t 在文档 d d d 中出现的频率,IDF(t)为该词对表达语义所起的作用,IDF(t)=log(文章总数/(包含改词的文章数+1))

优点是简单快速,结果比较符合实际情况。缺点是,单纯以"词频"衡量一个词的重要性,不够全面,有时重要的词可能出现次数并不多。而且,这种算法无法体现词的位置信息,出现位置靠前的词与出现位置靠后的词,都被视为重要性相同,这是不正确的。
全文的第一段和每一段的第一句话,给予较大的权重

20、N-gram算法是什么?有什么优缺点?
优点在于它包含了前N-1个词所能提供的全部信息,这些词对于当前词的出现具有很强的约束力,然而它的缺点是需要相当规模的训练文本来确定模型的参数。当N很大时,模型的参数空间过大。

21、讲解一下word2vec工作原理?损失函数是什么?
有两种网络结构,分别是CBOW(上下文预测一个词)和Skip-gram(一个词预测上下文)
损失函数一般用交叉熵

详细:https://www.cnblogs.com/pinard/p/7243513.html

22、讲解一下LDA模型原理和训练过程?

  1. 从参数为 α \alpha α 的狄利克雷分布里抽样出第 i i i 个文档的主题分布 θ i \theta_i θi
  2. 从主题多项式分布 θ i \theta_i θi 里抽样出文档 i i i 的第 j j j 个词的主题 z i j z_{ij} zij
  3. 从参数为 β \beta β 的狄利克雷分布里抽样出主题 z i j z_{ij} zij 的词分布 ϕ z i j \phi_{z_{ij}} ϕzij
  4. 从词多项式分布 ϕ z i j \phi_{z_{ij}} ϕzij 中抽样出对应的词 w i j w_{ij} wij

23、Word2vec和LDA两个模型有什么区别和联系?
LDA利用文档中单词的共现关系来对单词按主题聚类,也可以理解为对“文档-单词”矩阵进行分解,得到“文档-主题”和“主题-单词”两个概率分布,而 Word2Vec其实是对“上下文-单词”矩阵进行学习,其中上下文由周围的几个单词组成,由此得到的刺向了表示更多地融入了上下文共现的特征,也就是说,如果两个单词所对应的Word2Vec向量相似度高,那么他们很可能经常在相同的上下文中出现。

主题模型和词嵌入两类方法最大的不同其实在于模型本身,主题模型是一种基于概率图模型的生成式模型,其似然函数可以写成若干条件概率连乘的形式,其中包括需要推测的隐含变量(即主题),而词嵌入模型一般表达为神经网络的形式,似然函数定义在网络的输出之上,需要通过学习网络的权重得到单词的稠密向量表示。

24、Skip-gram和cbow有何异同?
skip-gram是根据一个词预测其上下文,cbow是根据上下文预测改词。

25、图像数据如何处理?有哪些常用的图像特征提取方法
处理像素矩阵

HOG特征
LBP(局部二值模式)特征
Haar-like特征
详细:https://blog.csdn.net/arag2009/article/details/64439221

26、你是怎样做特征选择的?卡方检验、信息值(IV)、WOE都是如何计算?

  • 卡方检验 χ 2 = ∑ i = 1 k ( A i − E i ) 2 E i = ∑ i = 1 k ( A i − n p i ) 2 n p i \chi^{2}=\sum_{i=1}^{k}\frac{(A_i-E_i)^2}{E_i}=\sum_{i=1}^{k}\frac{(A_i-np_i)^2}{np_i} χ2=i=1kEi(AiEi)2=i=1knpi(Ainpi)2其中 A i A_i Ai 代表观测频数, E i E_i Ei 代表期望频数。
    https://www.cnblogs.com/dacc123/p/8746247.html

  • WOE: W O E i WOE_i WOEi 表示对一个变量进行分组后,第 i i i 组的WOE值
    W O E i = ln ⁡ ( p y i p n i ) = ln ⁡ ( y i / y T n i / n T ) WOE_{i}=\ln(\frac{p_{y_i}}{p_{n_i}})=\ln(\frac{y_i/y_T}{n_i/n_T}) WOEi=ln(pnipyi)=ln(ni/nTyi/yT)其中 p y i p_{y_i} pyi表示这个组正样本占所有正样本的比例, p n i p_{n_i} pni表示这个组负样本占所有负样本的比例

  • 信息值(IV):第 i i i 组的IV值为
    I V = ( p y i − p n i ) ∗ W O E i IV=(p_{y_i}-p_{n_i})*WOE_i IV=(pyipni)WOEi

27、计算特征之间的相关性方法有哪些?有什么优缺点

  • pearson系数,对定距连续变量的数据进行计算。是介于-1和1之间的值
    ρ X , Y = c o v ( X , Y ) σ X ⋅ σ Y = ∑ i = 1 n ( X i − X ˉ ) ( Y i − Y ˉ ) ∑ i = 1 n ( X i − X ˉ ) 2 ∑ i = 1 n ( Y i − Y ˉ ) 2 \rho_{X,Y}=\frac{cov(X,Y)}{\sigma_{X}\cdot\sigma_{Y}}=\frac{\sum_{i=1}^{n}(X_i-\bar X)(Y_i-\bar Y)}{\sqrt{{\sum_{i=1}^{n}(X_i-\bar X)^2\sum_{i=1}^{n}(Y_i-\bar Y)^2}}} ρX,Y=σXσYcov(X,Y)=i=1n(XiXˉ)2i=1n(YiYˉ)2 i=1n(XiXˉ)(YiYˉ)
    适用范围:
    (1)、两个变量之间是线性关系,都是连续数据。
    (2)、两个变量的总体是正态分布,或接近正态的单峰分布。
    (3)、两个变量的观测值是成对的,每对观测值之间相互独立。

  • Spearman秩相关系数:是度量两个变量之间的统计相关性的指标,用来评估当前单调函数来描述俩个变量之间的关系有多好。

  • Kendall(肯德尔等级)相关系数:肯德尔相关系数是一个用来测量两个随机变量相关性的统计值。

详细:https://blog.csdn.net/zhaozhn5/article/details/78392220

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