搜狗2016研发工程师笔试题中有关于机器学习的几个判断题及解析
1、SVM对噪声(如来自其他分布的噪声样本)鲁棒 错
SVM(支持向量机)本身对噪声具有一定的鲁棒性,但实验证明,是当噪声率低于一定水平(如40%)时噪声对SVM没有太大影响,算法仍有效,但随着噪声率的不断增加,分类器的识别率会降低。http://www.docin.com/p-749158537.html
拓展:SVM在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。
在机器学习中,支持向量机(Support Vector Machine,还支持矢量网络)是与相关的学习算法有关的监督学习模型,可以分析数据,识别模式,用于分类和回归分析。
2、在AdaBoost算法中,所有被分错的样本的权重更新比例相同 对
AdaBoost算法中不同的训练集是通过调整每个样本对应的权重来实现的。开始时,每个样本对应的权重是相同的,即其中 n 为样本个数,在此样本分布下训练出一弱分类器。对于分类错误的样本,加大其对应的权重;而对于分类正确的样本,降低其权重,这样分错的样本就被突显出来,从而得到一个新的样本分布。在新的样本分布下,再次对样本进行训练,得到弱分类器。依次类推,经过 T 次循环,得到 T 个弱分类器,把这 T 个弱分类器按一定的权重叠加(boost)起来,得到最终想要的强分类器。
AdaBoost算法的具体步骤如下:
1. 给定训练样本集S,其中X和Y分别对应于正例样本和负例样本; T为训练的最大循环次数;
2. 初始化样本权重为1/n ,即为训练样本的初始概率分布;
3. 第一次迭代:
(1) 训练样本的概率分布相当下,训练弱分类器;
(2) 计算弱分类器的错误率;
(3) 选取合适阈值,使得误差最小;
(4) 更新样本权重;
经T次循环后,得到T个弱分类器,按更新的权重叠加,最终得到的强分类器。
Adaboost算法是经过调整的Boosting算法,其能够对弱学习得到的弱分类器的错误进行适应性调整。每一次迭代,都要对权重进行更新。更新的规则是:减小弱分类器分类效果较好的数据的概率,增大弱分类器分类效果较差的数据的概率。最终的分类器是个弱分类器的加权平均。
3、Boost和Bagging都是组合多个分类器投票的方法,二者均是根据单个分类器的正确率决定其权重 错
Boost和Bagging都是组合多个弱分类器投票的方法,但二者均是根据单个分类器的正确率决定其权重的说法错误
Bagging与Boosting的区别:二者的主要区别是取样方式不同。Bagging采用均匀取样,而Boosting根据错误率来取样,因此Boosting的分类精度要优于Bagging。Bagging的训练集的选择是随机的,各轮训练集之间相互独立,而Boostlng的各轮训练集的选择与前面各轮的学习结果有关
投票方法(Voting,也叫组合分类器,使用在文本分类中)就是一种典型的集成机器学习方法。它通过组合多个弱分类器来得到一个强分类器,包括Bagging和Boosting两种方式,二者的主要区别是取样方式不同。Bagging采用均匀取样,而Boosting根据错误率来取样,因此Boosting的分类精度要优于Bagging。投票分类方法虽然分类精度较高,但训练时间较长。
Bagging的各个预测函数没有权重,而Boosting是有权重的;Bagging的各个预测函数可以并行生成,而Boosting的各个预测函数只能顺序生成。
拓展:bagging和boosting都可以有效地提高分类的准确性。在大多数数据集中,boosting的准确性比bagging高。在有些数据集中,boosting会引起退化--- Overfitting(过拟合)。
Boosting思想的一种改进型AdaBoost方法在邮件过滤、文本分类方面都有很好的性能。
4、给定n 个数据点,如果其中一半用于训练,一半用于测试,则训练误差与测试误差之间的差别会随着n 的增加而减少 对
未完待续,若有错误或不完整的地方还望大家指出!