怎么选择机器学习算法,常用的算法有哪些优缺点?_数智集的博客-程序员宅基地

技术标签: 机器学习  算法优缺点  人工智能  

如何针对某个分类问题决定使用何种机器学习算法? 当然,如果你真心在乎准确率,最好的途径就是测试一大堆各式各样的算法(同时确保在每个算法上也测试不同的参数),最后选择在交叉验证中表现最好的。倘若你只是想针对你的问题寻找一个“足够好”的算法,或者一个起步点,这里给出了一些我觉得这些年用着还不错的常规指南。

训练集有多大?

如果是小训练集,高偏差/低方差的分类器(比如朴素贝叶斯)要比低偏差/高方差的分类器(比如k最近邻)具有优势,因为后者容易过拟合。然而随着训练集的增大,低偏差/高方差的分类器将开始具有优势(它们拥有更低的渐近误差),因为高偏差分类器对于提供准确模型不那么给力。

你也可以把这一点看作生成模型和判别模型的差别。

一些常用算法的优缺点

朴素贝叶斯: 巨尼玛简单,你只要做些算术就好了。倘若条件独立性假设确实满足,朴素贝叶斯分类器将会比判别模型,譬如逻辑回归收敛得更快,因此你只需要更少的训练数据。就算该假设不成立,朴素贝叶斯分类器在实践中仍然有着不俗的表现。如果你需要的是快速简单并且表现出色,这将是个不错的选择。其主要缺点是它学习不了特征间的交互关系。

逻辑回归: 有很多正则化模型的方法,而且你不必像在用朴素贝叶斯那样担心你的特征是否相关。与决策树与支持向量机相比,你还会得到一个不错的概率解释,你甚至可以轻松地利用新数据来更新模型(使用在线梯度下降算法)。如果你需要一个概率架构(比如简单地调节分类阈值,指明不确定性,或者是要得得置信区间),或者你 以后 想将更多的训练数据 快速 整合到模型中去,使用它吧。

决策树: 易于解释说明(对于某些人来说 —— 我不确定我是否在这其中)。它可以毫无压力地处理特征间的交互关系并且是非参数化的,因此你不必担心异常值或者数据是否线性可分(举个例子,决策树能轻松处理好类别A在某个 特征维度x的末端 ,类别B在中间,然后类别A又出现在特征维度x前端的情况 )。它的一个缺点就是不支持在线学习,于是在新样本到来后,决策树需要全部重建。另一个缺点是容易过拟合,但这也就是诸如随机森林(或提升树)之类的集成方法的切入点。另外,随机森林经常是很多分类问题的赢家(通常比支持向量机好上那么一点,我认为),它快速并且可调,同时你无须担心要像支持向量机那样调一大堆参数,所以最近它貌似相当受欢迎。

支持向量机: 高准确率,为避免过拟合提供了很好的理论保证,而且就算数据在原特征空间线性不可分,只要给个合适的核函数,它就能运行得很好。在动辄超高维的文本分类问题中特别受欢迎。可惜内存消耗大,难以解释,运行和调参也有些烦人,所以我认为随机森林要开始取而代之了。

然而。。。

尽管如此,回想一下,好的数据却要优于好的算法,设计优良特征是大有裨益的。假如你有一个超大数据集,那么无论你使用哪种算法可能对分类性能都没太大影响(此时就根据速度和易用性来进行抉择)。

再重申一次我上面说过的话,倘若你真心在乎准确率,你一定得尝试多种多样的分类器,并且通过交叉验证选择最优。要么就从Netflix Prize(和Middle Earth)取点经,用集成方法把它们合而用之,妥妥的。
人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,多智时代专注于人工智能和大数据的入门和科谱,在此为你推荐几篇优质好文:
人工智能,机器学习和深度学习之间,主要有什么差异?
http://www.duozhishidai.com/article-15858-1.html
机器学习已经被广泛应用,但是入行机器学习主要难在哪里?
http://www.duozhishidai.com/article-15300-1.html
关于机器学习、深度学习和AI的完全初学者指南
http://www.duozhishidai.com/article-15261-1.html


多智时代-人工智能大数据学习入门网站|人工智能、大数据、物联网云计算的学习交流网站

多智时代-人工智能大数据学习入门网站|人工智能、大数据、云计算、物联网的学习服务的好平台
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhinengxuexi/article/details/88980152

智能推荐

人工智能在生活中的应用都有哪些?

作者:华为云开发者社区 ...来源:知乎 ...· 1945艾伦图灵在论文《计算机器不智能》中提出了著名的图灵测试,给人工智能的収展产生了深远的影响。 · 1951年,马文·明斯基(Marvin Minsky)和迪恩..

019-机器学习背后的思维-针对入门小白的概念算法及工具的朴素思考

8.1 Google TensorFlow 先看「TensorFlow」这个概念, ...从后往前读,其可用来建立机器学习的模型。 它是什么类型的工具?一个计算框 架。 很多程度员没太弄清楚框架(Framework)和库(Library)的区别。 概...

linux内核调试指南

* 我的博客 * 配置 * 写文章 * 文章管理 * 博客首页 * * * * 空间 * 博客 * 好友 * 相册 * 留言 用户操作 [留言] [发消息] [加为好友] 订阅我的博客 XML聚合 F

理解监督学习、无监督学习、半监督学习、强化学习

监督学习简单来说就是我们给学习算法一个数据集。 这个数据集由“正确答案”组成,然后使用已知正确答案的示例来训练网络,从而得到一个最优的模型。 也就是说,在监督学习中训练数据既有特征(feature)又有标签...

程序员养生之道:Google 是如何鼓励员工多吃蔬菜的?

点击上方“涛哥聊Python”,选择“星标”公众号重磅干货,第一时间送达作者 | Jane Black译者 | 王艳妮,责编 | 唐小引头图 | CSDN 下载自东方 IC出品 | CS...

嵌入式工程师有发展前途吗?

嵌入式工程师有发展前途吗? 现在来看,无论是软件开发还是嵌入式等,都是青春饭,但是软件(java,安卓,ios等应用层)的工资都稍高于嵌入式。 但是嵌入式的门槛却非常高。 是否应…显示全部​ 关注者 1,379 ...

亿级(无限级)并发,没那么难-科普文

肉眼品世界2020-04-04 肉眼品世界导读:小编曾经看到高并发几个字也是欣喜若狂,如今变得淡定了,到底多高并发就是高并发...市面上很少有这么完善和透彻的,觉得不错就点赞转发吧 更多优质内容请关注微信公众号“...

这是300年后的人类生活!你相信吗?

导读:随着科技的不断更新,关于未来,人们越来越向往。300年后人类社会的发展,又会是什么样子呢?对于未来,大家又是怎么预测的呢?5年后▼三维全息虚拟技术正式大规模商用,可...

转:不同的行业和工作的真实情况是怎样的?

-------------------------------------------------------------------------------------------------------------- 不同的行业和工作的真实情况是怎样的? 收入、发展前景和挑战如何? ...

招聘渠道

 本文大部分信息渠道均来源于作者平时的收集(鄙人也是万千苦逼求职海洋中的学子一枚ღ),肯定无法做到全面覆盖,只希望能给互联网/和互联网有关的行业学子们提供一点点参考,有任何觉得不对或者可以改善的地方,...

亿级(无限级)并发,没那么难

肉眼品世界导读:小编曾经看到高并发几个字也是欣喜若狂,如今变得淡定了,到底多高并发就是高并发了,TPS,QPS是指什么?亿级,千亿级并发真的那么难实现吗?互联网高并发架构设计的原则是...

www.w3.org

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/1999/xhtml">www.360doc.com" name="author"> Linux netfilter hacking HOWTOhttp://www.360doc.com/css/StickySystemIEBlue.c

用 Python 分析了 1982 场英雄联盟数据,开局前预测游戏对局胜负!

前言如今,只要随便进入一个网吧,都会发现玩《英雄联盟》的人是最多的,可以这么说,《英雄联盟》已经是当之无愧的端游一哥。而在拥有如此基数玩家的《英雄联盟》,已经不仅仅是一个...

随便推点

推荐文章

热门文章

相关标签