Python技巧|机器学习方向企业面试题(二)
机器学习方向的企业面试题昨天我们分享了第一期,今天我们继续分享第二期,还是老规矩喜欢记得收藏分享给小伙伴~~
1.什么是偏差与方差?
泛化误差可以分解成偏差的平方加上方差加上噪声。偏差度量了学习算法的期望预测和真实结果的偏离程度,刻画了学习算法本身的拟合能力,方差度量了同样大小的训练集的变动所导致的学习性能的变化,刻画了数据扰动所造成的影响,噪声表达了当前任务上任何学习算法所能达到的期望泛化误差下界,刻画了问题本身的难度。偏差和方差一般称为bias和variance,一般训练程度越强,偏差越小,方差越大,泛化误差一般在中间有一个最小值,如果偏差较大,方差较小,此时一般称为欠拟合,而偏差较小,方差较大称为过拟合。
2.采用 EM 算法求解的模型有哪些,为什么不用牛顿法或梯度下降法?
用EM算法求解的模型一般有GMM或者协同过滤,k-means其实也属于EM。EM算法一定会收敛,但是可能收敛到局部最优。由于求和的项数将随着隐变量的数目指数上升,会给梯度计算带来麻烦。
3.SVM、LR、决策树的对比?
模型复杂度:SVM支持核函数,可处理线性非线性问题;LR模型简单,训练速度快,适合处理线性问题;决策树容易过拟合,需要进行剪枝
损失函数:SVM hinge loss; LR L2正则化; adaboost 指数损失
数据敏感度:SVM添加容忍度对outlier不敏感,只关心支持向量,且需要先做归一化; LR对远点敏感
数据量:数据量大就用LR,数据量小且特征少就用SVM非线性核
4.GBDT 和随机森林的区别
随机森林采用的是bagging的思想,bagging又称为bootstrap aggreagation,通过在训练样本集中进行有放回的采样得到多个采样集,基于每个采样集训练出一个基学习器,再将基学习器结合。
随机森林在对决策树进行bagging的基础上,在决策树的训练过程中引入了随机属性选择。传统决策树在选择划分属性的时候是在当前节点属性集合中选择最优属性,而随机森林则是对结点先随机选择包含k个属性的子集,再选择最有属性,k作为一个参数控制了随机性的引入程度。
另外,GBDT训练是基于Boosting思想,每一迭代中根据错误更新样本权重,因此是串行生成的序列化方法,而随机森林是bagging的思想,因此是并行化方法。
5.xgboost怎么给特征评分?
在训练的过程中,通过Gini指数选择分离点的特征,一个特征被选中的次数越多,那么该特征评分越高。
6.什么是OOB?随机森林中OOB是如何计算的,它有什么优缺点?
bagging方法中Bootstrap每次约有1/3的样本不会出现在Bootstrap所采集的样本集合中,当然也就没有参加决策树的建立,把这1/3的数据称为袋外数据oob(out of bag),它可以用于取代测试集误差估计方法。
袋外数据(oob)误差的计算方法如下:
对于已经生成的随机森林,用袋外数据测试其性能,假设袋外数据总数为O,用这O个袋外数据作为输入,带进之前已经生成的随机森林分类器,分类器会给出O个数据相应的分类,因为这O条数据的类型是已知的,则用正确的分类与随机森林分类器的结果进行比较,统计随机森林分类器分类错误的数目,设为X,则袋外数据误差大小=X/O;这已经经过证明是无偏估计的,所以在随机森林算法中不需要再进行交叉验证或者单独的测试集来获取测试集误差的无偏估计。
7.什么是机器学习?
机器学习是为了应对系统程序设计,属于计算机科学类的学科,它能根据经验进行自动学习和提高。例如:一个由程序操纵的机器人,它能根据从传感器搜集到的数据,完成一系列的任务和工作。它能根据数据自动地学习应用程序。
8.机器学习与数据挖掘的区别
机器语言是指在没有明确的程序指令的情况下,给予计算机学习能力,使它能自主的学习、设计和扩展相关算法。数据挖掘则是一种从非结构化数据里面提取知识或者未知的、人们感兴趣的图片。在这个过程中应用了机器学习算法。
9.什么是机器学习的过度拟合现象
在机器学习中,当一个统计模型首先描述随机误差或噪声,而不是自身的基本关系时,过度拟合就会出现。当一个模型是过于复杂,过拟合通常容易被发现,因为相对于训练数据类型的数量,参数的数量过于五花八门。那么这个模型由于过度拟合而效果不佳。
10.过度拟合产生的原因
由于用于训练模型的标准并不等同于判断模型效率的标准,这导致了产生过度拟合的可能性。
11.如何避免过度拟合
当你使用较小的数据集进行机器学习时,容易产生过度拟合,因此使用较大的数据量能避免过度拟合现象。但是,当你不得不使用小型数据集进行建模时,可以使用被称为交叉验证的技术。在这种方法中数据集被分成两节,测试和训练数据集,测试数据集只测试模型,而在训练数据集中,数据点被用来建模。
在该技术中,一个模型通常是被给定有先验知识的数据集(训练数据集)进行训练,没有先验知识的数据集进行测试。交叉验证的思想是:在训练阶段,定义一个数据集用来测试模型。
12.什么是感应式的机器学习?
感应机器学习涉及由实践进行学习的过程,能从一组可观测到的例子的尝试推导出普遍性规则。
13.什么是机器学习的五个流行的算法?
1. 决策树2. 神经网络(反向传播)3. 概率网络4.最邻近法5. 支持向量机
14.机器学习有哪些不同的算法技术?
在机器学习不同类型的算法技术是:
15.在机器学习中,建立假设或者模型的三个阶段指的是什么?
1.建模 2.模型测试 3.模型应用。
16.什么是训练数据集和测试数据集?
在类似于机器学习的各个信息科学相关领域中,一组数据被用来发现潜在的预测关系,称为“训练数据集”。训练数据集是提供给学习者的案例,而试验数据集是用于测试由学习者提出的假设关系的准确度。
17.请列出机器学习的各种方法?
机器学习的各种方法如下:
概念与分类学习(Concept Vs Classification Learning)。
符号与统计学习(Symbolic Vs Statistical Learning)。
归纳与分析学习(Inductive Vs Analytical Learning)。
18.什么是非监督学习的功能?
求数据的集群
求出数据的低维表达
查找数据有趣的方向
有趣的坐标和相关性
发现显著的观测值和数据集清理
19.什么是监督学习的功能?
分类
语音识别
回归
时间序列预测
注释字符串
20.什么是算法独立的机器学习?
机器学习在基础数学领域独立于任何特定分类器或者学习算法,被称为算法独立的机器学习。
以上就是这一期的Python机器学习面试题介绍了,同学们在面试之前多看看一定会有帮助的,最后如果你对Python开发感兴趣的话不妨来跟在线老师了解一下我们的Python培训课程。