- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
机器学习算法优缺点对比及选择 (汇总篇 )
人工智能1 月 22 日
本文的目的 ,是务实、简洁地盘点一番当前机器学习算法。文中内容结合了个人在查
阅资料过程中收集到的前人总结 ,同时添加了部分自身总结 ,在这里 ,依据实际使用
中的经验 ,将对此类模型优缺点及选择详加讨论。
主要回顾下几个常用算法的适应场景及其优缺点 !
机器学习算法太多了 ,分类、回归、聚类、推荐、图像识别领域等等 ,要想找到一个
合适算法真的不容易 ,所以在实际应用中 ,我们一般都是采用启发式学习方式来实验。
通常最开始我们都会选择大家普遍认同的算法 ,诸如 SVM ,GBDT ,Adaboost ,现
在深度学习很火热 ,神经网络也是一个不错的选择。
假如你在乎精度(accuracy )的话 ,最好的方法就是通过交叉验证(cross-validation )
对各个算法一个个地进行测试 ,进行比较 ,然后调整参数确保每个算法达到最优解 ,
最后选择最好的一个。但是如果你只是在寻找一个 “足够好”的算法来解决你的问题 ,
或者这里有些技巧可以参考 ,下面来分析下各个算法的优缺点 ,基于算法的优缺点 ,
更易于我们去选择它。
1.天下没有免费的午餐
在机器学习领域 ,一个基本的定理就是 “没有免费的午餐”。换言之 ,就是没有算法
能完美地解决所有问题 ,尤其是对监督学习而言 (例如预测建模 )。
举例来说 ,你不能去说神经网络任何情况下都能比决策树更有优势 ,反之亦然。它们
要受很多因素的影响 ,比如你的数据集的规模或结构。
其结果是 ,在用给定的测试集来评估性能并挑选算法时 ,你应当根据具体的问题来采
用不同的算法。
当然 ,所选的算法必须要适用于你自己的问题 ,这就要求选择正确的机器学习任务。
作为类比 ,如果你需要打扫房子 ,你可能会用到吸尘器、扫帚或是拖把 ,但你绝对不
该掏出铲子来挖地。
2. 偏差方差
在统计学中 ,一个模型好坏 ,是根据偏差和方差来衡量的 ,所以我们先来普及一下偏
差(bias)和方差(variance) :
1. 偏差 :描述的是预测值 (估计值 )的期望 E’与真实值 Y 之间的差距。偏差越大 ,
越偏离真实数据。
2. 方差 :描述的是预测值 P 的变化范围 ,离散程度 ,是预测值的方差 ,也就是离其期
望值 E 的距离。方差越大 ,数据的分布越分散。
模型的真实误差是两者之和 ,如公式 :
通常情况下 ,如果是小训练集 ,高偏差/低方差的分类器 (例如 ,朴素贝叶斯 NB )要
比低偏差/高方差 大分类 的优 势大 (例如 ,KNN ) ,因为后者会 发生过拟合
(overfiting )。然而 ,随着你训练集的增长 ,模型对于原数据的预测能力就越好 ,
偏差就会降低 ,此时低偏差/高方差的分类器就会渐渐的表现其优势 (因为它们有较
低的渐近误差 ),而高偏差分类器这时已经不足以提供准确的模型了。
为什么说朴素贝叶斯是高偏差低方差?
首先 ,假设你知道训练集和测试集的关系。简单来讲是我们要在训练集上学习一个模
型 ,然后拿到测试集去用 ,效果好不好要根据测试集的错误率来衡量。但很多时候 ,
我们只能假设测试集和训练集的是符合同一个数据分布的 ,但却拿不到真正的测试数
据。这时候怎么在只看到训练错误率的情况下 ,去衡量测试错误率呢 ?
由于训练样本很少 (至少不足够多 ),所以通过训练集得到的模型 ,总不是真正正确
的。 (就算在训练集上正确率 100% ,也不能说明它刻画了真实的数据分布 ,要知道
刻画真实的数据分布才是我们的目的 ,而不是只刻画训练集的有限的数据点 )。
而且 ,实际中 ,训练样本往往还有一定的噪音误差 ,所以如果太追求在训练集上的完
美而采用一个很复杂的模型 ,会使得模型把训练集里面的误差都当成了真实的数据分
布特征 ,从而得到错误的数据分布估计。这样的话 ,到了真正的测试集上就错的一塌
糊涂了 (这种现象叫过拟合 )。但是也不能用太简单的模型 ,否则在数据分布比较复
杂的时候 ,模型就不足以刻画数据分布了 (体现为连在训练集上的错误率都很高 ,这
种现象较欠拟合 )。过拟合表明采用的模型比真实的数据分布更复杂 ,而欠拟合表示
采用的模型比真实的数据分布要简单。
在统计学习框架下 ,大家刻画模型复杂度的时候 ,有这么个观点 ,认为 Error = Bias
+ Variance。这里的 Error 大概可以理解为模型的预测错误率 ,是有两部分组成的 ,
一部分是由于模型太简单而带来的估计不准确的部分 (Bias ),另一部分是由于模型
太复杂而带来的更大的变化空间和不确定性 (Vari
原创力文档


文档评论(0)