BAT面试必考算法题之专项题目(1-10)

浏览: 2249

值此秋招之际,特推出BAT面试必考算法系列,助力大家步入互联网大厂。今天是专项题目1道到10道

本文是天善智能签约讲师 张龙祥老师的课程Hellobi Live | 数据分析岗位面试经验分享 课件,未经允许,禁止转载。

推荐课程:

Hellobi Live | 数据分析岗位面试经验分享


1、在其他条件不变的前提下,以下哪种做法容易引起机器学习中的过拟合问题()

增加训练集量

减少神经网络隐藏层节点数

删除稀疏的特征   S

SVM算法中使用高斯核/RBF核代替线性核

一般认为,增加隐层数可以降低网络误差(也有文献认为不一定能有效降低),提高精度,但也使网络复杂化,从而增加了网络的训练时间和出现“过拟合”的倾向, svm高斯核函数比线性核函数模型更复杂,容易过拟合

这个核函数可以将原始空间映射到无穷维空间。对于参数 ,如果选的很大,高次特征上的权重实际上衰减得非常快,实际上(数值上近似一下)相当于一个低维的子空间;反过来,如果选得很小,则可以将任意的数据映射为线性可分——当然,这并不一定是好事,因为随之而来的可能是非常严重的过拟合问题。不过,总的来说,通过调整参数 ,高斯核实际上具有相当高的灵活性,也是 使用最广泛的核函数 之一。

 

2、下列哪个不属于CRF模型对于HMMMEMM模型的优势(

特征灵活

速度快

可容纳较多上下文信息

全局最优

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印度电影《宝莱坞机器人之恋》中的机器人七弟采用的智能算法最有可能是以下哪一种()

神经网络

遗传算法

模拟退火

穷举算法

推荐 0
本文由 天善智能 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册