值此秋招之际,特推出BAT面试必考算法系列,助力大家步入互联网大厂。今天是专项题目1道到10道
本文是天善智能签约讲师 张龙祥老师的课程Hellobi Live | 数据分析岗位面试经验分享 课件,未经允许,禁止转载。
推荐课程:
Hellobi Live | 数据分析岗位面试经验分享
1、在其他条件不变的前提下,以下哪种做法容易引起机器学习中的过拟合问题()
增加训练集量
减少神经网络隐藏层节点数
删除稀疏的特征 S
SVM算法中使用高斯核/RBF核代替线性核
一般认为,增加隐层数可以降低网络误差(也有文献认为不一定能有效降低),提高精度,但也使网络复杂化,从而增加了网络的训练时间和出现“过拟合”的倾向, svm高斯核函数比线性核函数模型更复杂,容易过拟合
这个核函数可以将原始空间映射到无穷维空间。对于参数 ,如果选的很大,高次特征上的权重实际上衰减得非常快,实际上(数值上近似一下)相当于一个低维的子空间;反过来,如果选得很小,则可以将任意的数据映射为线性可分——当然,这并不一定是好事,因为随之而来的可能是非常严重的过拟合问题。不过,总的来说,通过调整参数 ,高斯核实际上具有相当高的灵活性,也是 使用最广泛的核函数 之一。
2、下列哪个不属于CRF模型对于HMM和MEMM模型的优势( )
特征灵活
速度快
可容纳较多上下文信息
全局最优
CRF 的优点:特征灵活,可以容纳较多的上下文信息,能够做到全局最优
CRF 的缺点:速度慢
3、有两个样本点,第一个点为正样本,它的特征向量是(0,-1);第二个点为负样本,它的特征向量是(2,3),从这两个样本点组成的训练集构建一个线性SVM分类器的分类面方程是()
2x+y=4
x+2y=5
x+2y=3
2x-y=0
SVM要找到间隔最大的分类平面,这里即求两点(0,-1),(2,3)的垂直平分线。
斜率为:-1/((3+1)/(2-0))=-1/2
中点为:(1,2)
所以,分类超平面为:x+2y=5
先求斜率,两个斜率相乖等于-1,即分类器的斜率乘以两点连线的斜率等于-1。答案就出来了,如果斜率有相同的,再用两点的中点代入分类器方程求出截距
4、在HMM中,如果已知观察序列和产生观察序列的状态序列,那么可用以下哪种方法直接进行参数估计()
EM算法
维特比算法
前向后向算法
极大似然估计
EM算法: 只有观测序列,无状态序列时来学习模型参数,即Baum-Welch算法
维特比算法: 用动态规划解决HMM的预测问题,不是参数估计
前向后向:用来算概率
极大似然估计:即观测序列和相应的状态序列都存在时的监督学习算法,用来估计参数
维特比算法解决的是给定 一个模型和某个特定的输出序列,求最可能产生这个输出的状态序列。如通过海藻变化(输出序列)来观测天气(状态序列),是预测问题,通信中的解码问题Baum-Welch算法解决的是一个模型训练问题,即参数估计,是一种无监督的训练方法,主要通过EM迭代实现;
5、数据清理中,处理缺失值的方法是?
估算
整例删除
变量删除
成对删除
数据清理中,处理缺失值的方法有两种:
删除法:1)删除观察样本
2)删除变量:当某个变量缺失值较多且对研究目标影响不大时,可以将整个变量整体删除
3)使用完整原始数据分析:当数据存在较多缺失而其原始数据完整时,可以使用原始数据替代现有数据进行分析
4)改变权重:当删除缺失数据会改变数据结构时,通过对完整数据按照不同的权重进行加权,可以降低删除缺失数据带来的偏差
查补法:均值插补、回归插补、抽样填补等
成对删除与改变权重为一类
估算与查补法为一类
6、影响聚类算法效果的主要原因有:( )?
特征选取
模式相似性测度
分类准则
已知类别的样本质量
D之所以不正确,是因为聚类是对无类别的数据进行聚类,不使用已经标记好的数据
7、下面哪些是基于核的机器学习算法?()
Expectation Maximization
Radial Basis Function
Linear Discrimimate Analysis
Support Vector Machine
A、EM算法
B、径向基核函数
C、线性判别分析
D、支持向量机
核函数的本质其实就是一种将一个空间转化为另一个空间的变化,线性判别分析是把高维空间利用特征值和特征向量转化到一维空间,所以也算是一种核函数?
8以下说法中正确的是()
SVM对噪声(如来自其他分布的噪声样本)鲁棒
在AdaBoost算法中,所有被分错的样本的权重更新比例相同
Boosting和Bagging都是组合多个分类器投票的方法,二者都是根据单个分类器的正确率决定其权重
给定n个数据点,如果其中一半用于训练,一般用于测试,则训练误差和测试误差之间的差别会随着n的增加而减少
1、SVM对噪声(如来自其他分布的噪声样本)鲁棒
SVM本身对噪声具有一定的鲁棒性,但实验证明,是当噪声率低于一定水平的噪声对SVM没有太大影响,但随着噪声率的不断增加,分类器的识别率会降低。
2、在AdaBoost算法中所有被分错的样本的权重更新比例相同
AdaBoost算法中不同的训练集是通过调整每个样本对应的权重来实现的。开始时,每个样本对应的权重是相同的,即其中n为样本个数,在此样本分布下训练出一弱分类器。对于分类错误的样本,加大其对应的权重;而对于分类正确的样本,降低其权重,这样分错的样本就被凸显出来,从而得到一个新的样本分布。在新的样本分布下,再次对样本进行训练,得到弱分类器。以此类推,将所有的弱分类器重叠加起来,得到强分类器。
3、Boost和Bagging都是组合多个分类器投票的方法,二者均是根据单个分类器的正确率决定其权重。
Bagging与Boosting的区别:取样方式不同。Bagging采用均匀取样,而Boosting根据错误率取样。Bagging的各个预测函数没有权重,而Boosting是由权重的,Bagging的各个预测函数可以并行生成,而Boosing的哥哥预测函数只能顺序生成。
9、关于支持向量机SVM,下列说法错误的是()
L2正则项,作用是最大化分类间隔,使得分类器拥有更强的泛化能力
Hinge 损失函数,作用是最小化经验分类错误
分类间隔为1/||w||,||w||代表向量的模
当参数C越小时,分类间隔越大,分类错误越多,趋于欠学习
A正确。考虑加入正则化项的原因:想象一个完美的数据集,y>1是正类,y<-1是负类,决策面y=0,加入一个y=-30的正类噪声样本,那么决策面将会变“歪”很多,分类间隔变小,泛化能力减小。加入正则项之后,对噪声样本的容错能力增强,前面提到的例子里面,决策面就会没那么“歪”了,使得分类间隔变大,提高了泛化能力。 B正确。 C错误。间隔应该是2/||w||才对,后半句应该没错,向量的模通常指的就是其二范数。 D正确。考虑软间隔的时候,C对优化问题的影响就在于把a的范围从[0,+inf]限制到了[0,C]。C越小,那么a就会越小,目标函数拉格朗日函数导数为0可以求出w=求和a_i*y_i*x_i,a变小使得w变小,因此间隔2/||w||变大
10印度电影《宝莱坞机器人之恋》中的机器人七弟采用的智能算法最有可能是以下哪一种()
神经网络
遗传算法
模拟退火
穷举算法