AI相关面经
-
- 1.为什么要对特征做归一化
- 2.什么是组合特征?如何处理高维组合特征?
- 3.请比较欧式距离与曼哈顿距离?
- 4.为什么一些场景中使用余弦相似度而不是欧式距离
- 5.One-hot的作用是什么?为什么不直接使用数字作为表示
- *6.RNN发生梯度消失的原因是什么
- *7.写出Attention的公式,Attention机制,里面的q,k,v分别代表什么
- *8.在实时竞价场景中,制定广告主的出价策略是一个什么问题?
- 9.在模型评估过程中,过拟合和欠拟合具体指什么现象
- 10.降低欠拟合和过拟合的方法
- 11.L1和L2正则先验分别服从什么分布
- 12.对于树形结构为什么不需要归一化
- 13.什么是数据不平衡?如何解决?
- 14.逻辑回归和线性回归,有何异同?
- 15.回归问题常用的性能度量指标
- 16.分类问题常用的性能度量指标
- 17.逻辑回归的损失函数
- 18.逻辑回归处理多标签分类问题时,一般怎么做?
- 19.写出全概率公式&贝叶斯公式
- 20.朴素贝叶斯为什么"朴素naive"
- 21.朴素贝叶斯有没有超参数可以调
- 22.朴素贝叶斯的工作流程是什么样的
- 23.朴素贝叶斯对异常值敏感吗?
- 24. 什么是集成学习算法
- 25.集成学习主要有哪几种框架,并简述它们的工作过程
- 26.Boosting算法有哪两类,它们之间的区别是什么?
- 27.什么是偏差和方差
- 28.为什么说Bagging可以减少弱分类器的方差,而Boosting可以减少弱分类器的偏差。
- 29.简述一下随机森林算法的原理
- 30.随机森林的随机性体现在哪里?
- 31.随机森林算法的优缺点
- 32.随机森林为什么不能用全样本取训练m棵决策树
- 33.随机森林和GBDT的区别?
- 34.简述GBDT原理
- 35.GBDT常用损失函数有哪些?
- 35.GBDT如何用于分类?
- 36.为什么GBDT不适合使用高位稀疏特征?
- 37.GBDT算法的优缺点?
- 38.简述XGBoost
- 39.XGBoost和GBDT有什么不同?
- 40.XGBoost为什么可以并行训练?
- 41.XGBoost防止过拟合的方法?
- 42.XGBoost为什么这么快?
- 43.简述Kmeans流程
- 44.Kmeans对异常值是否敏感?
- 45.如何评估聚类效果?
- 46.超参数K如何选择?
- 47.Kmeans算法的优缺点(各3个)
- 48.请简述SVM原理
- 49.SVM为什么采用间隔最大化
- 50.SVM为什么要引用核函数
- 51.SVM核函数之间的区别
- 52.为什么SVM对缺失值敏感?
自己的解答不一定正确,可能会不停更新思路。
1.为什么要对特征做归一化
归一化(Normalization)是特征缩放的一种方法,一般指Min-Max Scaling,定义是将数据按某种算法处理后控制在[0,1]内,让数据由量纲化转为无量纲化。(量纲化:数据大小与单位有关。无量纲化:数据大小与单位无关,或者说不存在单位)
X ′ = X − m i n ( X ) m a x ( X ) − m i n ( X ) X' = \frac{X-min(X)}{max(X)-min(X)} X′=max(X)−min(X)X−min(X)
归一化的好处有:1.当数据中有异常时,归一化可以减小异常值的影响。2.归一化可以将不同特征归一到同一量纲下,减少方差大的特征对结果的影响。3.可以加快学习算法的收敛速率。在采用梯度更新的算法中,未归一化的数值特征在学习时,梯度较为抖动,模型难以收敛,通常需要较长的时间来收敛,而归一化后可以使得梯度的下降较为稳定,减少梯度下降的次数,也更容易收敛。
补充:特征缩放还有标准化(Standardization或Z-Score Normalization),定义是将数据缩放为满足正态分布 N N N~ ( 0 , 1 ) (0,1) (0,1),注意正态分布中X的取值是负无穷到正无穷。
X ′ = X − X ‾ σ X' = \frac{X-\overline X}{\sigma} X′=σX−X
2.什么是组合特征?如何处理高维组合特征?
组合特征就是将2个或多个离散特征组合起来。组合特征的不同取值个数为单个特征不同取值个数的乘积(有点像one-hot编码的方法)。
高维组合特征需要进行降维处理,以uid和nid为例,uid在电商或信息流中量级在百万以上( m = 1000000 m=1000000 m=1000000),nid数量也得几十上百万( n = 500000 n=500000 n=500000),交叉后会得到 1000000 × 500000 1000000×500000 1000000×500000种组合。采用矩阵分解的思想,将uid和nid用远小于uid数量和nid数量的k维向量表示, W W W矩阵分解为 U U U和 V V V, U U U就是 m × k m×k m×k的用户矩阵, V V V是 n × k n×k n×k的物品矩阵。那么参数规模变为 ( m + n ) × k (m+n)×k (m+n)×k。
3.请比较欧式距离与曼哈顿距离?
欧式距离是(欧几里得距离)是(多维)空间中两点的直线距离。欧式距离对应于L2范数。
曼哈顿距离是两点在坐标轴上的轴距总和。曼哈顿距离对应于L1范数。
欧式距离在坐标轴上的投影就是曼哈顿距离。在导航,地图应用中,曼哈顿距离较为合适。
4.为什么一些场景中使用余弦相似度而不是欧式距离
余弦相似度(距离):通过计算2个向量夹角的余弦值来计算它们的相似度,2个完全重合的向量的相似度是1,正交时为0。
无论向量维度多与少,特征取值范围的大与小,余弦相似度的范围一直在[-1,1],为向量间的相似度提供了稳定的指标。而欧式距离的结果会收到上述的影响(从3维角度考虑的距离肯定和从2维角度考虑的不同)。
当特征的取值和特征向量经过模长归一化后,余弦距离和欧式距离存在以下的单调关系。
∣ ∣ A − B ∣ ∣ 2 = 2 ( 1 − c o s ( A , B ) ||A-B||_2=\sqrt{2(1-cos(A,B)} ∣∣A−B∣∣2=2(1−cos(A,B)
5.One-hot的作用是什么?为什么不直接使用数字作为表示
也被称为有效编码。当特征是分类型或离散型时,无法直接使用到回归模型中。采用One-hot编码,将每一种分类取值看成一个特定的状态,保证每一次有且仅有一个被激活的状态。如果性别分为:男,女,中。那么one-hot编码为001 ; 010 ; 100。直接使用数字作为表示,可能会将一些例如类别之间大小关系,差异关系等假设加入到模型中,降低模型的性能。
如果采用dummy variable编码,一般n个分类需要设置n-1个哑变量,因此3种类别用2个哑变量即可表示。10,01,00(11不使用)。
一些连续性变量也可以使用编码。例如年龄,以连续性变量带入模型时,其解释为年龄每增加一岁时对于因变量的影响。但往往年龄增加一岁,其效应是很微弱的,并没有太大的实际意义。此时,我们可以将年龄这个连续性变量进行离散化,按照10岁一个年龄段进行划分,如0-10、11-20、21-30、31-40等等,将每一组赋值为1、2、3、4,此时构建模型的回归系数就可以解释为年龄每增加10岁时对因变量的影响。
*6.RNN发生梯度消失的原因是什么
RNN:循环神经网络。循环神经网络的隐藏层的值s不仅仅取决于当前这次的输入x,还取决于上一次隐藏层的值s。权重矩阵 W就是隐藏层上一次的值作为这一次的输入的权重。
*7.写出Attention的公式,Attention机制,里面的q,k,v分别代表什么
*8.在实时竞价场景中,制定广告主的出价策略是一个什么问题?
9.在模型评估过程中,过拟合和欠拟合具体指什么现象
过拟合指模型在训练集上的预测性能很好,但是在测试集或新数据上的预测性能很差,偏差小但方差大,即模型的泛化能力不好。欠拟合指模型在训练集和测试集上的预测性能都不好,偏差方差都大。
10.降低欠拟合和过拟合的方法
降低欠拟合的方法:
- 对数据进行预处理,归一化处理等
- 增加特征
- 更换模型,增加模型复杂度
降低过拟合的方法:
- 增加数据量
- 对数据进行特征缩放,归一化处理等
- 减少不必要的特征
- 简化模型,或者选择更简单的模型
- 加入正则项,控制参数,倾向于选择简单的模型(有些参数趋近于0时,模型会更简单)
11.L1和L2正则先验分别服从什么分布
L1正则先验服从Laplace分布,L2正则先验服从正态分布
12.对于树形结构为什么不需要归一化
因为树形结构是使用特征节点进行划分,通过计算各特征的基尼不纯度或是信息增益,选出分裂特征。归一化或者数值缩放不会影响分裂节点的选择,对树形结构不会造成影响。
13.什么是数据不平衡?如何解决?
多出现于分类问题中,各个类别的样本数量相差很大,会使得模型倾向于将结果预测为较多样本的类别。解决办法:
- 上采样(补少的,重复使用,自举或合成少数类)和下采样(删多的)
- 在预测函数中增加较少类的权重,或惩罚稀有类别的错误分类。
14.逻辑回归和线性回归,有何异同?
逻辑回归是判别式分类模型,用于分类问题。线性回归是回归模型,用于回归模型。逻辑回归采用了线性回归的思想,通过sigmoid函数将线性回归连续的预测值z投影到了[0,1]之间。
s i g m o i d ( z ) = 1 1 + e − z sigmoid(z) = \frac{1}{1+e^{-z}} sigmoid(z)=1+e−z1
所以逻辑回归在理解上,是基于线性回归又做了一个sigmoid计算,因此它们可以使用同样的梯度下降来求解参数。
15.回归问题常用的性能度量指标
- MSE(Mean Squared Error) : 均方误差
残差的平方和的均值
M S E = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 MSE = \frac{1}{n}\sum_{i=1}^n(y_i-\hat{y}_i)^2 MSE=n1i=1∑n(yi−y^i)2 - RMSE(Root Mean Squared Error) : 均方根误差
MSE开根号。它的优点是在某些情况下更便于解释。假设预测值是房屋面积,单位是平方,模型的RMSE是2,代表了模型在数据集上拟合的房屋面积的误差大概是2平方。
R M S E = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 RMSE = \sqrt{ \frac{1}{n}\sum_{i=1}^n(y_i-\hat{y}_i)^2} RMSE=n1i=1∑n(yi−y^i)2 - SSE(Sum of Squared Error):残差平方和
S S E = ∑ i = 1 n ( y i − y ^ i ) 2 SSE = \sum_{i=1}^n(y_i-\hat{y}_i)^2 SSE=i=1∑n(yi−y^i)2 - SSR(Sum of Squared Regression):回归平方和
S S R = ∑ i = 1 n ( y ^ i − y ‾ i ) 2 SSR = \sum_{i=1}^n(\hat{y}_i-\overline{y}_i)^2 SSR=i=1