AI相关面经

AI相关面经


自己的解答不一定正确,可能会不停更新思路。

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)Xmin(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=σXX

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)} AB2=2(1cos(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.降低欠拟合和过拟合的方法

降低欠拟合的方法:

  1. 对数据进行预处理,归一化处理等
  2. 增加特征
  3. 更换模型,增加模型复杂度

降低过拟合的方法:

  1. 增加数据量
  2. 对数据进行特征缩放,归一化处理等
  3. 减少不必要的特征
  4. 简化模型,或者选择更简单的模型
  5. 加入正则项,控制参数,倾向于选择简单的模型(有些参数趋近于0时,模型会更简单)

11.L1和L2正则先验分别服从什么分布

L1正则先验服从Laplace分布,L2正则先验服从正态分布

12.对于树形结构为什么不需要归一化

因为树形结构是使用特征节点进行划分,通过计算各特征的基尼不纯度或是信息增益,选出分裂特征。归一化或者数值缩放不会影响分裂节点的选择,对树形结构不会造成影响。

13.什么是数据不平衡?如何解决?

多出现于分类问题中,各个类别的样本数量相差很大,会使得模型倾向于将结果预测为较多样本的类别。解决办法:

  1. 上采样(补少的,重复使用,自举或合成少数类)和下采样(删多的)
  2. 在预测函数中增加较少类的权重,或惩罚稀有类别的错误分类。

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+ez1
所以逻辑回归在理解上,是基于线性回归又做了一个sigmoid计算,因此它们可以使用同样的梯度下降来求解参数。

15.回归问题常用的性能度量指标

  1. 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=1n(yiy^i)2
  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=1n(yiy^i)2
  3. 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=1n(yiy^i)2
  4. 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
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值