大数据文摘投稿作品

来源:Quora

编译:群青

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

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

我们为大家翻译了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:我知道我对决策树的看法有点极端。

相关报道:

https://www.quora.com/What-is-your-favorite-machine-learning-algorithm-1?no_redirect=1

本文为投稿作品,仅代表个人观点。

作者介绍:

群青,人工智能研究生在读,大数据行业预备役成员,希望在机器学习、数据分析、数据可视化方面有所精进。

实习/全职编辑记者招聘ing

加入我们,亲身体验一家专业科技媒体采写的每个细节,在最有前景的行业,和一群遍布全球最优秀的人一起成长。坐标北京·清华东门,在大数据文摘主页对话页回复“招聘”了解详情。简历请直接发送至zz@bigdatadigest.cn

点「在看」的人都变好看了哦

机器学习算法_Quora上的大牛们最喜欢哪种机器学习算法?相关推荐

  1. Quora上的大牛们最喜欢哪种机器学习算法?

    https://www.toutiao.com/a6668944982784606723/ 机器学习算法那么多,一个问题的解决往往可能有好多算法的选择. 这些算法有什么特点呢?特定的场景需要选择哪一算 ...

  2. 机器学习入门(九):非监督学习:5种聚类算法+2种评估模型

    机器学习入门专栏其他章节: 机器学习入门(一)线性回归 机器学习入门(二)KNN 机器学习入门(三)朴素贝叶斯 机器学习入门(四)决策树 机器学习入门(五)集成学习 机器学习入门(六)支持向量机 机器 ...

  3. rssi室内定位算法原理_室内定位方案常用的4种定位算法

    目前常见的室内定位技术有超宽带UWB室内定位技术,蓝牙室内定位技术,RFID(无线射频识别)定位,超声波定位,Wi-Fi定位等.室内定位依赖于定位算法,定位算法决定了室内定位的模式.室内定位种类虽然比 ...

  4. 单目标应用:蜣螂优化算法求解无人机三维航迹规划,含四种对比算法(提供Matlab代码)

    一.无人机三维航迹规划 三维航迹规划是无人机在执行任务过程中的非常关键的环节,三维航迹规划的主要目的是在满足任务需求和自主飞行约束的基础上,计算出发点和目标点之间的最佳航路. 1.1路径最短约束 无人 ...

  5. java常用算法_五分钟记住Java常用的八种排序算法与代码实现

    1.直接插入排序 经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中. 将第一个数和第二个数排序,然后构成一个有序序列 将第三个数插入进去,构成一个新的有序序列. 对第四个数.第五个数--直 ...

  6. moead算法流程步骤_数据聚类(一)常见聚类算法的基本原理[图解]

    文章整理了五种常见聚类算法的基本原理,通过简易图解的形式对算法原理进行形象化的描述,同时给出了算法的实现流程和数学表达.全文约4192字. 相关名词的英文翻译 监督学习Supervised Learn ...

  7. 【华为云技术分享】8种ETL算法汇总大全!看完你就全明白了

    摘要:ETL是将业务系统的数据经过抽取.清洗转换之后加载到数据仓库的过程,是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中 ...

  8. 八种排序算法动画讲解

    思维导图 前言 算法和数据结构是一个程序员的内功,所以经常在一些笔试中都会要求手写一些简单的排序算法,以此考验面试者的编程水平!动图来源于今日头条.动图来源于今日头条.动图来源于今日头条! 1.冒泡排 ...

  9. 图像增强算法四种,图示与源码,包括retinex(ssr、msr、msrcr)和一种混合算法

    from:http://blog.csdn.net/onezeros/article/details/6342661 两组图像:左边较暗,右边较亮 第一行是原图像,他们下面是用四种算法处理的结果 依次 ...

  10. EM算法讲推导原理讲的懂了的,表达清晰易懂的, 收藏cnblog上的大牛的

    博客1长于理论推导 https://zhuanlan.zhihu.com/p/149810914 EM算法的十重境界 https://www.zhihu.com/question/40797593/a ...

最新文章

  1. VB.Net实现Web Service的基础
  2. MBR和GPT概要学习
  3. C++ COM编程之接口背后的虚函数表
  4. 【数据库】数据模型基础概念(图文版)
  5. 寄存器(内存访问)07 - 零基础入门学习汇编语言19
  6. JavaScript学习(八十)—请写一段JS程序提取URL中的各个get参数(参数名和参数个数不确定),将其按key-value形式返回到一个json结构中
  7. 牛市该理智还是疯狂?python+BI可视化的股票分析,都是你想看的
  8. Android 使用ContentProvider扫描手机中的图片,仿微信显示本地图片效果
  9. 【Unity面试】 Unity基础核心 | 面试真题 | 全面总结 | 建议收藏
  10. ZendStudio
  11. 【高速PCB电路设计】8.DDR模块设计实战
  12. 【Java】蓝桥杯历届试题PREV(一)
  13. sql :统计各个状态总数_博客状态:统计信息和更新
  14. Spring-Mybatis整合 第一个Spring-Mybatis程序
  15. 【DEBUG】OMAPL138 Connect to PRSC failed
  16. Discuz蜘蛛统计seo插件-蜘蛛统计插件
  17. 关于Directx中shader的输入与输出
  18. MySQL所有的字段类型,可能是最全的字段类型说明
  19. docker下Gitlab如何进行备份恢复与迁移?
  20. 360搜索引擎怎么样,360比百度怎么样?

热门文章

  1. 当刷机工具遇到SetupConnection时的解决方法
  2. Ubuntu 20.04安装字体
  3. 利用Travis IC实现Hexo博客自动化部署
  4. 网易版服务器我的世界装模组的文件包在哪里,网易我的世界怎么加mod【给网易我的世界里装mod】...
  5. 腾讯通信云服务端使用心得,腾讯云IM
  6. Excel 标记重复多余项
  7. 使用 python 脚本爬取豆瓣电影排行榜
  8. SCI论文的Highlights怎么写(正经的教你怎么写)
  9. 如何利用花生壳动态域名解析服务搭建http服务。
  10. linux内核tc,Linux 内核流量控制 TC 详解