0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

计算机大牛最喜欢的机器学习算法你知道是那些吗

电子工程师 来源:未知 2019-03-17 10:29 次阅读

机器学习算法那么多,一个问题的解决往往可能有好多算法的选择。

这些算法有什么特点呢?特定的场景需要选择哪一算法呢?

我们为大家翻译了Quora上大牛们最喜欢的机器学习算法,一起欣赏。

Carlos Guestrin,亚马逊计算机科学机器学习教授,Dato公司ceo及创始人 (Dato原名GraphLab,大数据分析云服务平台)

我并没有最喜欢的机器学习算法,但有一些比较青睐的,比如:

最简洁的算法:感知器算法(Perceptron)。这种算法是Rosenblatt和他的同事们在20世纪50年代创造的。这个算法非常简单,但它是现在一些最成功的分类器的基础,包括支持SVM和逻辑回归,它们都使用了随机梯度下降法。感知器算法的收敛性证明是我在ML中见过的最优雅的数学过程之一。

最有用的算法: Boosting,特别是提升决策树。这种方法比较直观,可以结合许多简单模型来构建高精度机器学习模型。Boosting是机器学习中最具实践性的方法,在工业中得到了广泛的引用,可以用它处理相当广泛的数据类型,在数据规模上也没有太多限制。在实际过程中的提高树的可伸缩性应用上,我建议考虑XGBoost。Boosting的证明过程也是非常优雅的。

卷土重来的算法:卷积神经网络深度学习。这种神经网络算法在20世纪80年代早期开始流行。从90年代后期到2000年代后期,大家对这种算法的兴趣逐渐减弱,但在过去的5年里,这种算法出人意料的卷土重来。特别是,卷积神经网络建立了深度学习模型的核心,在计算机视觉语音识别方面有巨大影响力。

最优美的算法:动态规划(Dynamic programming)(比如维特比, forward-backward, 变量消除以及belief propagation算法)。

在计算机科学中动态规划是最优雅的一种算法,是通过搜索一个指数型大的空间来找到可选的解决方案。这种方法在机器学习中已经得到了各种应用,特别是图形模型,如隐马尔可夫模型、贝叶斯网络和马尔可夫网络。

无与伦比的基准:邻近算法。当我们想显示我们的曲线比别人好时,一个办法就是引入一个基准来证明自己的方法更加准确。邻近算法实现起来非常简单。我们总是觉得自己的算法可以轻易的超过邻近算法,但实际上很难!如果我们有足够的数据,邻近算法非常有效果,在实践中也是非常有用的。

François Chollet,谷歌深度学习研究专家,Keras作者

矩阵分解——一个简单而美丽的降维方法,而降维是认知的本质。

矩阵分解在推荐系统得到了很大应用。另一个应用是分解特征的互信息对的矩阵,或更为常见的逐点互信息。我从2010年开始处理视频数据的时候就开始用了。可用于特征提取、计算单词嵌入、计算标签嵌入(我最近的论文的主题就是这个),等等。

在卷积中,矩阵分解是图像、视频的无监督特征的优秀的提取器。但有个问题,它从根本上来说是比较浅的算法。一旦监督标签可用,深度神经网络将很快超越它。

Yann LeCun,Facebook人工智能研究院主管,纽约大学教授

Backprop,反向传播算法。

Ian Goodfellow,谷歌大脑高级研究员

我喜欢dropout,在一个简单模型中构建一个指数型的大集成是非常优雅的。在近似集成预测结果时,权重除以2的技巧效果很好。我不太理解在深度非线性模型中其效果如此好的理论原因,但它的效果真的很好。

Claudia Perlich,Dstillery首席科学家,纽约大学客座教授

毫无疑问,我最喜欢逻辑回归,包括随机梯度下降、特征散列以及惩罚。

在深度学习如此火爆的时代,我的这个回答肯定让人费解,来告诉你们原因:

1995年到1998年,我使用神经网络;1998年到2002年,我一般使用基于方法的树;从2002年以后,就开始慢慢使用逻辑回归了,还包括线性回归、分量回归、泊松回归等。2003年,我在Machine Learning上发表了一篇文章,使用 35个数据集(在那时这样的数据量还是比较大的)上,对比基于方法的树、基于逻辑回归分别得到的结果。

简要结论——如果信号噪声比较高,那么决策树效果更好。但如果有非常杂乱的问题,最好的模型的AUC小于0.8,那么逻辑回归的效果总是比决策树好。最终结果在意料之中,如果信号太弱,高方差模型就会失效。

所以这个试验说明了什么?我需要处理的问题类型是比较杂乱的,并且可预测性低。一般都是处于随机确定性(象棋??)的条件下,像所谓的股票市场。根据数据不同,不同问题的可预测性也不同。这已经不简单是算法问题,而是对世界的概念表述。

我感兴趣的大多数问题非常类似于股市的某一个极端。深度学习在另一端效果非常好——比如判断图片中是否是一只猫。在不确定的问题中,偏差权衡仍然经常结束了更多的偏差,也就是,你希望得到一个简单的、非常受限的模型。这里就用到逻辑回归了。我发现,添加复杂特征来加强简单线性模型,比限制一个强大的高方差模型更容易。而每一次我赢过的数据挖掘比赛,我都使用了线性模型。

除了性能比较好,线性模型还比较可靠、需要的控制更少,不过还要用随机梯度下降法和惩罚。这些是很重要的,因为在工业上,我们根本不可能花3个月的时间来建立一个完美的模型。

最后,在线性模型上,我可以更好的理解一切如何运行。

Alex Smola,卡内基梅隆大学教授,1-Page首席科学家

可能大家都最喜欢感知器算法,由它发展出其他很多重要的算法,比如:

核函数方法(只是转换预处理)

深度网络(只是增加了更多的层)

随机梯度下降法(只改变目标函数)

学习理论(保证了更新)

感知器算法如下:

假设一个线性函数f(x)=〈w,x〉+b,我们要估计向量w和常数b,当得到分类1时,f为正数,得到分类−1时,f为负数。然后我们可以做如下步骤:

初始化w和b为零(或其他可能更好的值);

继续遍历(x,y),直到没有错误;

如果 yf(x)<0,那么更新 w+=yx,b+=y。

该算法是收敛的,所花时间长短取决于问题有多难,从技术上来讲就是将正数和负数集合分开的困难程度。但是解决所有的错误更重要。

Xavier Amatriain,前ML研究人员,目前在Quora带领工程师

我喜欢简单而灵活的算法。如果一定要选一个,我最喜欢集成(Ensemble)算法,我个人认为它是“大师级别”。无论我们从哪个算法开始,总可以用集成算法来提高它。集成算法获得了Netflix奖,经常表现优异,也相对容易理解、优化和检查。

但如果要选一个“超级算法”,我选另一个——逻辑回归。逻辑回归很简单,但很有效并且有弹性,可以用在很多地方,包括分类、排序。

Thorsten Joachims,康奈尔大学教授,主要研究人类行为的机器学习

我目前使用的学习算法并不是我最喜欢的,因为它们都有一个缺陷。这些优异又重要的机器学习算法中,都有个巨大的帕累托边界。

事实上,基本的机器学习理论告诉我们,没有一个单独的机器学习算法可以很好的解决所有问题。如果训练样本相对比较少,又有非常高维的稀疏数据(例如按主题分类的文本),可以使用一个正规化的线性模型,比如SVM或逻辑回归。但如果有大量的训练样本与低维的稠密数据(如语音识别、视觉),可以使用深度网络。

Ricardo Vladimiro,Miniclip 游戏分析和数据科学负责人

注:Miniclip,瑞士在线游戏公司,2015年被腾讯控股。

随机森林。学习随机森林对我来说是个非常享受的过程。最后的总体效果也很有意义。我觉得决策树实在是很可爱。对特征进行Bootstrap经常会让我惊叹。这真的很神奇。我觉得我对于随机森林已经有感情了,因为我在如此短短的时间内学到了很多东西。

Ps:我知道我对决策树的看法有点极端。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4595

    浏览量

    92562
  • 计算机
    +关注

    关注

    19

    文章

    7389

    浏览量

    87669
  • 机器学习
    +关注

    关注

    66

    文章

    8367

    浏览量

    132357

原文标题:Quora上的大牛们最喜欢哪种机器学习算法?

文章出处:【微信号:BigDataDigest,微信公众号:大数据文摘】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【我是电子发烧友】七步带你认识计算机视觉(Computer Vision)

    的是计算机视觉几乎全部与计算机编程有关。也可以在Coursera上选修《概率绘图模型》一课,这门课程相对较难(讲得比较深入),也可以在学习
    发表于 06-14 21:06

    高级机器学习算法工程师--【北京】

    职位描述:1. 负责计算机视觉&机器学习(包括深度学习算法的开发与性能提升,负责下述研究课题中的一项或多项,包括但不限于:人脸识别、检测、
    发表于 12-07 14:34

    计算机编程 精选资料分享

    的书看。比如说如果对C相当感兴趣,可以进修C++、VC++、C#等。而“网络工程师”是比较吃香的一种人。 当然了,为了学习计算机把其他都抛开是不对的。“比尔·盖茨不是就没上大学么
    发表于 07-15 06:09

    计算机有哪些功能

    一句话概括:计算机体系结构讲的是计算机有哪些功能(包括指令集、数据类型、存储器寻址技术、I/O机理等等),是抽象的;计算机组成原理讲的是计算机功能是如何实现的,是具体的。例如:一台
    发表于 07-16 07:45

    微型计算机那些机器内部做些什么呢

    的儿童玩具也使用微型计算机。那么,究竟微型计算机那些机器内部做些什么呢?微型计算机控制硬件,这是这些设备运行的关键。例如,它接收来自按钮和
    发表于 09-10 09:24

    计算机分类

    XX计算机应用基础模拟题「附答案」 (14页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!14.9 积分XX计算机应用基础模拟题「附答案」      一
    发表于 09-10 06:58

    什么是机器学习? 机器学习基础入门

    微控制器和单板计算机等受限设备上的机器学习)的出现,机器学习已经与所有类型的工程师相关,包括那些
    发表于 06-21 11:06

    机器学习计算机免疫中的应用

    机器学习研究的是通过经验自动改进的计算机算法。本文提出对 FICSEM 的一种改进方法:FICSEM2。FICSEM 是一种单例学习方法。适
    发表于 09-01 15:59 8次下载

    什么是计算机算法

    什么是计算机算法?要使计算机工作,您就必须编写计算机程序。要编写计算机程序,您就必须一步步地告诉计算机
    发表于 08-03 08:50 3089次阅读

    知道机器深度学习 那你知道全新的进化算法

    基于目前人类在神经网络算法机器深度学习取得的成就,很容易让人产生计算机科学只包含这两部分的错觉。一种全新的算法甚至比深度
    的头像 发表于 08-06 08:27 3225次阅读
    <b class='flag-5'>你</b><b class='flag-5'>知道</b><b class='flag-5'>机器</b>深度<b class='flag-5'>学习</b> 那你<b class='flag-5'>知道</b>全新的进化<b class='flag-5'>算法</b>吗

    计算机学习经历的分享

    钱多的工作很多,这个不是学习的真正理由。没有金刚钻别揽瓷器活,我来说下怎么判断是否能在计算机行业吃到一碗饭。 首先说下我的故事,我是怎么对计算机感兴趣的。 小时候就喜欢拆收音机,
    的头像 发表于 10-15 10:13 2606次阅读

    攻读计算机视觉和机器学习硕士有啥好的?

    人工智能就业市场持续火热,越来越多的学子投身这一领域。然而,攻读计算机视觉和机器学习研究生需要哪些先决条件?将学到哪些知识?攻读机器
    的头像 发表于 06-19 09:25 3334次阅读

    你们知道计算机是如何识别写的代码的吗?

    学习编程其实就是学高级语言,即那些为人类设计的计算机语言。 但是,计算机不理解高级语言,必须通过编译器转成二进制代码,才能运行。学会高级语言,并不等于理解
    的头像 发表于 07-06 10:03 2694次阅读

    机器学习算法入门 机器学习算法介绍 机器学习算法对比

    ,讨论一些主要的机器学习算法,以及比较它们之间的优缺点,以便于您选择适合的算法。 一、机器学习
    的头像 发表于 08-17 16:27 920次阅读

    机器学习有哪些算法机器学习分类算法有哪些?机器学习预判有哪些算法

    机器学习有哪些算法机器学习分类算法有哪些?机器
    的头像 发表于 08-17 16:30 1926次阅读