开课吧-人工智能学院
80 道面试题参考答案:
机器学习理论类:
1.写出全概率公式&贝叶斯公式
全概率公式:
贝叶斯公式:
2.模型训练为什么要引入偏差(bias)和方差(variance)?
优化监督学习=优化模型的泛化误差,模型的泛化误差可分解为偏差、方差与噪声之
和 Err = bias + var + irreducible error,以回归任务为例,其实更准确的公式为:
Err = bias^2 + var + irreducible error^2
符号的定义:一个真实的任务可以理解为 Y=f(x)+e,其中 f(x)为规律部分,e 为噪声部
分
• 训练数据 D 训练的模型称之为 ,当我们使用相同的算法,但使用不同的训练数
据 D 时就会得到多个 。则
代表了这个模型的期望,即使用某一算法训练
模型所能得到的稳定的平均水平。
开课吧“人工智能学院”https://www.kaikeba.com
开课吧-人工智能学院
• 方差:模型的稳定性:
• 偏差:模型的准确性:
• Err(x) = Err(f, )+Err(f,Y)
o Err(f, )为可解释规则误差
o Err(f,Y) 为噪声 e 部分,即为
o
可推导如
下:
o f 为真实值,固定;
代表了这个模型不同数据预测结果的期望,固
定;所以 f-
固定
o
o Err(x)
=
为常数。所以
中
=
= 0
3.CRF/朴素贝叶斯/EM/最大熵模型/马尔科夫随机场/混合高斯模型
这几个模型中都有概率计算的过程,不像 knn,svm 等都是距离计算一看就知道是判别模
型。
• 生成式模型:朴素贝叶斯,混合高斯模型,马尔科夫随机场,EM
o 仔细看过这些模型细节的朋友都应该知道,他们最后都是判断 x 属于拟合一
个正负样本分布,然后对比属于正负样本的概率
开课吧“人工智能学院”https://www.kaikeba.com
开课吧-人工智能学院
• 判别式模型:最大熵模型,CRF
4.如何解决过拟合问题?
l 加到数据量
l 解决数据不平衡的问题
l 加大正则化
l 减小模型复杂度
5.One-hot 的作用是什么?为什么不直接使用数字作为表示
主要是为了解决 categorcial 的数据在做模型搭建的时候它的数字表征对函数引起波动
6.决策树和随机森林的区别是什么?
随机森林大家可以看做是为了增强模型的稳定性,由若干个决策树组合成的集合型模型,
随机森林中的每个决策树,只使用部分 features 进行预测,然后做投票,这样增强了模
型的稳定性。
7.朴素贝叶斯为什么“朴素 naive”?
朴素贝叶斯模型,全称为:Naive Bayesian Model,Naive 翻译为朴素。朴素贝叶斯模型
假设样本特征彼此独立,没有相关关系。这个假设在现实世界中是很不真实的,因此说朴
素贝叶斯真的很“朴素”。
8.kmeans 初始点除了随机选取之外的方法
先层次聚类,再在不同层次上选取初始点进行 kmeans 聚类。
开课吧“人工智能学院”https://www.kaikeba.com
开课吧-人工智能学院
9.LR 明明是分类模型为什么叫回归
观测样本中该特征在正负类中出现概率的比值满足线性条件,用的是线性拟合比率值,所
以叫回归。
10.梯度下降如何并行化
首先需要理解梯度下降的更新公式:θj+1=θj-η1mi=1mhθxi-yixi;
处的并行,不同样本在不同机器上进行计算,计算完再进行合并;
同一条样本不同特征维度进行拆分,hθxi-yixi 处并行,把 hθxi 内的 xi 和 wi 拆分成
块分别计算后合并,再把外层 hθxi-yixi 同样拆分成若干块进行计算。
11.LR 中的 L1/L2 正则项是啥
L1 正则项:为模型加了一个先验知识,未知参数 w 满足拉普拉斯分布,fw=12λe-|w-
u|λ,u 为 0 在 lr 模型损失函数中新增了|wj|2λ2 项。
fw|u,σ=12πσexp(-(w-u)22σ2),u 为 0。在 lr 模型损失函数中新增了 wwT2σ2 项。
L2 正则项:为模型加了一个先验知识,未知参数 w 满足 0 均值正太分布,
12.简述决策树构建过程
l 构建根节点,将所有训练数据都放在根节点
l 选择一个最优特征,按照这一特征将训练数据集分割成子集,使得各个子集有一个在
当前条件下最好的分类
l 如果子集非空,或子集容量未小于最少数量,递归 1,2 步骤,直到所有训练数据子
集都被正确分类或没有合适的特征为止
开课吧“人工智能学院”https://www.kaikeba.com
开课吧-人工智能学院
13.解释 Gini 系数
Gini 系数二分情况下:GiniP=Pk1-Pk=2p(1-p)
l 对于决策树样本 D 来说,Ginip=CkD1-CkD=1-(|Ck||D|)2
l 对于样本 D,如果根据特征 A 的某个值,把 D 分成 D1 和 D2,则在特征 A 的条件下,D
的基尼系数为:GiniD,A=D1DGiniD1+D2DGiniD2
14.决策树的优缺点
优点:
l 缺失值不敏感,对特征的宽容程度高,可缺失可连续可离散
l 可解释性强
l 算法对数据没有强假设
l 可以解决线性及非线性问题
l 有特征选择等辅助功能
缺点:
l 处理关联性数据比较薄弱
l 正负量级有偏样本的样本效果较差
l 单棵树的拟合效果欠佳,容易过拟合
15.出现估计概率值为 0 怎么处理
拉普拉斯平滑
16.随机森林的生成过程
l 生成单棵决策树
l 随机选取样本
开课吧“人工智能学院”https://www.kaikeba.com
开课吧-人工智能学院
l 从 M 个输入特征里随机选择 m 个输入特征,然后从这 m 个输入特征里选择一个最好的
进行分裂
l 不需要剪枝,直到该节点的所有训练样例都属于同一类
l 生成若干个决策树
17.介绍一下 Boosting 的思想
l 初始化训练一个弱学习器,初始化下的各条样本的权重一致
l 根据上一个弱学习器的结果,调整权重,使得错分的样本的权重变得更高
l 基于调整后的样本及样本权重训练下一个弱学习器
l 预测时直接串联综合各学习器的加权结果
18.gbdt 的中的 tree 是什么 tree?有什么特征
Cart tree,但是都是回归树
19.xgboost 对比 gbdt/boosting Tree 有了哪些方向上的优化
1. 显示的把树模型复杂度作为正则项加到优化目标中
2. 优化目标计算中用到二阶泰勒展开代替一阶,更加准确
3. 实现了分裂点寻找近似算法
4. 暴力枚举
5. 近似算法(分桶)
6. 更加高效和快速
7. 数据事先排序并且以 block 形式存储,有利于并行计算
8. 基于分布式通信框架 rabit,可以运行在 MPI 和 yarn 上
9. 实现做了面向体系结构的优化,针对 cache 和内存做了性能优化
开课吧“人工智能学院”https://www.kaikeba.com
开课吧-人工智能学院
20.什么叫最优超平面
两类样本分别分割在该超平面的两侧
超平面两侧的点离超平面尽可能的远
21.什么是支持向量
在求解的过程中,会发现只根据部分数据就可以确定分类器,这些数据称为支持向量。换
句话说,就是超平面附近决定超平面位置的那些参与计算锁定平面位置的点。
22.SVM 如何解决多分类问题
对训练器进行组合。其中比较典型的有一对一,和一对多。
23.核函数的作用是啥
核函数能够将特征从低维空间映射到高维空间, 这个映射可以把低维空间中不可分的两
类点变成高维线性可分的。
特征工程类:
开课吧“人工智能学院”https://www.kaikeba.com
开课吧-人工智能学院
1.怎么去除 DataFrame 里的缺失值?
1) DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
函数作用:删除含有空值的行或列
2) axis:维度,axis=0 表示 index 行,axis=1 表示 columns 列,默认为 0
3) how:"all"表示这一行或列中的元素全部缺失(为 nan)才删除这一行或列,"any"表
示这一行或列中只要有元素缺失,就删除这一行或列
4) thresh:一行或一列中至少出现了 thresh 个才删除。
5) subset:在某些列的子集中选择出现了缺失值的列删除,不在子集中的含有缺失值得
列或行不会删除(有 axis 决定是行还是列)
6) inplace:刷选过缺失值得新数据是存为副本还是直接在原数据上进行修改。
2.特征无量纲化的常见操作方法
无量纲化:即 nondimensionalize 或者 dimensionless,是指通过一个合适的变量替代,
将一个涉及物理量的方程的部分或全部的单位移除,以求简化实验或者计算的目的。
常见操作方法(基于 sklearn):
1) 标准化,返回值为标准化后的数据 from sklearn.preprocessing import
StandardScaler StandardScaler().fit_transform(data)
2) 区间缩放,返回值为缩放到[0, 1]区间的数据 from sklearn.preprocessing
import MinMaxScaler MinMaxScaler().fit_transform(data)
3) 归一化,返回值为归一化后的数据 from sklearn.preprocessing import Normalizer
Normalizer().fit_transform(data)
开课吧“人工智能学院”https://www.kaikeba.com