机器学习岗位面试问题总结(Tencent)

##Tencent的电话面试一般都不会提前沟通,因此投递完简历之后,需要保持电话随时畅通,并准备一篇自我介绍,3-5分钟左右。

Q1:支持向量机,最后为什么选择对偶来求解?
(1)对偶问题将原始问题中的不等式约束转化为等式约束;
(2)方便了核函数的引入;
(3)降低了问题的复杂度;由求特征向量w转化为求比例系数a,在原始问题下,求解的复杂度与样本的维度有关,即w的维度。在对偶问题下,只与样本数量有关。
(4)求解更加高效,求解alpha;而alpha只有在支持向量里才非零,其他全为零。

Q2:CNN中,1*1卷积核的作用是什么?
(1). 增加网络的深度:让网络加深,有点是能够让系统引入更多的非线性,可以表征更复杂的信息。而卷积核越大,生成的featuremap上单个节点的感受野也越大,随着网络深度的增加,越靠后的featuremap上节点的感受野越大,一次特征也就越抽象。而1*1的卷积核,可以在不增加感受野的情况下让网络加深。
(2). *升维或者降维:卷积后的featruremap通道数与卷积核个数相同,如果需要升维或者降维,1**1的卷积核可以在达到目的的同时,降低计算量和内存。

Q3:为什么XGBoost相比于GDBT有更好的鲁棒性?
需要清楚的知道XGBoost相比于GDBT的区别,这里的鲁棒性可以理解为系统的泛化能力(即在测试集的表现),XGBoost泛化能力优于GDBT主要有以下两个原因:
(1). XGBoost在训练过程中加入了正则化项,防止系统出现过拟合现象;
(2). .对每颗子树增加一个参数,使得每颗子树的权重降低,防止过拟合,这个参数叫shrinkage;同时对特征进行降采样,灵感来源于随机森林,除了能降低计算量外,还能防止过拟合。

Q4:正负样本数量不平衡,应该如何处理?
(1). 最简单的方法:对数据进行重采样,收集更多的数据集,是正负样本数量一致;一般为随机采样,包含过采样或者欠采样;
(2)改变模型训练时的目标函数,使得不同类别有不同的权重来矫正不平衡性;当差距太大时,可以转化为单类学习或者异常检测等。

Q5:特征选择/提取常用的方法?
(1). Filter:过滤法,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。
(2). Wrapper:包装法,根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。
(3). Embedded:嵌入法,先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣。

Q6:Sift(尺度不变特征转化)特征提取?
应该是看我项目上有关于图像分类或目标检测的内容才问的,其实我并不是很懂这个;
(1). 尺度空间极值检测;
(2). 关键点定位;
(3). 方向赋值;
(4). 关键点描述。

**
*****问题其实很多,聊了大概一个小时,主要会从简历的项目出发,问题只记得这几个,但范围很广,从算法原理到算法落地时实际的处理方式,各方面都需要好好准备。

你可能感兴趣的:(机器学习,算法)