KDnuggets调查|数据科学家最常用的10种算法
翻译|姜范波 lizyjieshu 校对|Lorine
大数据文摘作品,转载具体要求见文末
根据Gregory Piatetsky, KDnuggets,最新的调查问题是:在最近的12个月中,你在实际数据科学相关应用中用到了那些模型/算法?
于是就有了以下基于844份答卷的结果。
排名前十的算法和它们在投票者中所占比例
图1:数据科学家最常用的10大算法,所有算法见文末表格
每个受访者平均用到了8.1种算法,这相比于 2011 的相似调查显示的结果有了巨大的增长。
相比2011年对数据分析算法的调查,我们注意到最常用的方法仍然是回归,聚类,决策树/规则以及可视化。比例增幅最大的是(增幅=%2016/%2011 -1):
Boosting算法,提升了40%。由2011年的23.5%提升倒2016年的40%
文本挖掘(Text Mining),提升了30%。从27.7%提升到35.9%
可视化(Visualization),提升了27%。从38.3%提升到48.7%
时间序列/序列分析(Time series/Sequence analysis),提升了25%。从29.6%提升到37.0%
异常检测(Anomaly/Deviation detection),提升了19%,从16.4%提升到19.5%
组合方法(Ensemble methods),提升了19%,从28.3%提升到33.6%
支持向量机(SVM),提升了18%,从28.6%提升到33.6%
回归(Regression),提升了16%,从57.9%提升到67.1%
2016年新秀中最为流行的是
K-最近邻法(K-nearestneighbors), 46%
主成分分析(PCA), 43%
随机森林(Random Forests), 38%
优化(Optimization), 24%
神经网络-深度学习(Neural networks - Deep Learning), 19%
奇异值分解(Singular ValueDecomposition), 16%
降幅最大的是
关联规则(Associationrules),下降了47%,从28.6%降为15.3%
Uplift modeling,下降了36%,从4.8% 降为3.1%(出人意料的低,因为有很多相关文献发表)
因子分析(Factor Analysis),下降了24%,从18.6%降为14.2%
存活分析(SurvivalAnalysis),下降了15%,从9.3%将为7.9%
下面的表格显示了不同的算法类型的使用场所:监督算法,无监督算法,元算法和其它算法。应用类型未知(NA,4.5%)或者其它职业类型(3%)的不包括在内。
表1:不同职业类型的算法使用
我们注意到,几乎所有的人都在使用监督学习算法。政府和产业界的数据科学家们使用的算法类型比学生和科学界要多。产业数据科学家们更倾向于使用元算法。
不同职业类型最常用的10大算法+深度学习情况
接下来,我们分析了不同职业类型最常用的10大算法+深度学习情况
表2: 不同职业类型的10大算法+深度学习
为了更清楚地展示这些差异,我们用一个公式来计算不同职业类型的算法使用率偏倚:
偏倚=某种职业类型的算法使用率/所有职业类型的算法使用率-1
图2:不同场所的算法使用率偏倚
我们注意到,产业数据科学家们更倾向于用回归,可视化,统计,随机森林和时间序列。政府/非盈利组织则更倾向于使用可视化,主成分分析和时间序列。学术界的研究人员们更多的用到主成分分析和深度学习。学生们普遍使用的算法较少,但多用到文本挖掘和深度学习。
接下来,我们看看某一具体地域的参与度,表示整体的KDnuggets用户。
参与调查人员的地区分布:
美国/加拿大, 40%
欧洲, 32%
亚洲, 18%
拉丁美洲, 5.0%
非洲/中东, 3.4%
澳大利亚/新西兰, 2.2%
在2011年的调查中,我们把产业和政府两个行业的被调查者合为一组,把学术研究者和学生合为一组,然后计算行业政府组的算法使用亲切度:
(行业政府组的算法使用率/学术学生组的算法使用率)/(行业政府组的人数/学术学生组的人数)-1
因此,亲切度为0的算法表示它在产业/政府组和学术学生组使用率相同。越高IG亲切度说明该算法越偏向于产业,结果越小则算法越偏向于学术。
最偏向于“产业算法”是:
uplifting modelling, 2.01
异常检测, 1.61
存活分析, 1.39
因子分析, 0.83
时间序列/序列分析, 0.69
关联规则, 0.5
尽管uplift modeling再次成为最偏向于“行业算法”,令人吃惊的却是它使用率极低,只有3.1%,是整个调查中比例最低的。
最偏向于“学术算法”是:
神经网络, -0.35
朴素贝叶斯, -0.35
支持向量机, -0.24
深度学习, -0.19
最大期望, -0.17
下图显示了所有算法及其产业/学术亲切度。
图3:KDnuggets调研:数据科学家使用最多的算法:产业与学术领域对比
下表是所有算法调研结果的细节,分别是2016年受访人群使用比例,2011年使用比例,变化(2016年比例/2011年比例-1)以及上文提及的产业亲切度。
表3:KDnuggets2016调研:数据科学家使用的算法
下方的表格是所有算法的调研结果细节,不同列依次代表的是:
排名: 根据使用比例的排名
算法:算法名称
类型: S – 有监督, U – 无监督, M – 元(meta), Z – 其他方法,
在2016年调查中使用该算法的人数比例
在2016年调查中使用该算法的人数比例
变化:(%2016 / %2011 -1),
产业亲切度见上文的解释.
表4:KDnuggets 2016 调研:数据科学家使用的算法
原文链接:http://www.kdnuggets.com/2016/09/poll-algorithms-used-data-scientists.html
机器学习工作职位需要的7项技能
人工智能爱好者俱乐部
机器学习经常与人工智能紧密相连,在不考虑显式编程的情况下,机器学习可以使计算机具备完成特定任务的能力,例如识别,诊断,规划,机器人控制和预测等。它往往聚焦于算法创新,即在面对新数据时,其自身能够发生演化。
在某种程度上,机器学习与数据挖掘很相似。它们都是通过数据来获取模式。然而,与人类可理解的数据提取方式不同—通常是按照数据挖掘应用的方式——机器学习主要是使用数据去提升程序本身的理解能力。机器学习程序能够在数据中检测出相关模式并相应的进行程序行为的调整。
现在,你是否准备去了解一些获得机器学习工作必备的技术了呢?一个优秀的求 职者应该对以下各方面知识都有很深的理解:算法和数学应用,问题解决能力和分析 技巧,概率统计和诸如Python/C++/R/Java 等编程语言。此外,机器学习还需要求职 者具有与生俱来的好奇心,因此,如何你从来没有失去过自孩童时代就有的好奇心, 那么,你就能顺理成章在机器学习领域取得成就。这里详细的列出一个的必备的技能清单。
1. Python/C++/R/Java
如果你希望在机器学习领域获得一份工作,那么在某种程度上,你很可能必须学习这里所列出的所有编程语言。C++ 能够加速代码执行速度。R 在统计绘图方面十分出 色,Hadoop 是以 Java 为基础的,因此,你可能需要在 Java 中完成 Map/Reduce 算法。
2. Probability and Statistics(概率和统计)
概率和统计理论能够帮助你学习算法。很多常用的模型例如朴素贝叶斯、高斯混合模型和隐马尔可夫模型等,需要你有很好的概率和统计背景知识去理解。甚至你需要全身心的投入并且研究测度理论,同时需要理解一些统计指标,这些指标常作为模型评价标准,例如混淆矩阵,ROC曲线, P值等。
3. Applied Math and Algorithms(数学和算法)
对算法理论有相当深入的认识并且了解算法运行的机制, 能够帮助你对模型加以区分, 例如支持向量机模型 (译者注:支持向量机模型包括许多不同的核函数,核函数的不同, 具体模型的原理、应用和结论也不同)。 你需要理解一些数学方法, 例如梯度下降, 凸优化, 拉格朗格方法, 二次规划, 偏微分方程等类似的理论和方法。同时,你也需要熟悉求和运算[http://en.wikipedia.org/wiki/Summation]。
4. Distributed Computing(分布式计算)
大多数时候,机器学习需要处理大型的数据集。使用单机无法处理这些数据,因此,你需要通过集群进行分布式计算。像 Apache Hadoop 架构和 Amazon 的 EC2 云服务等项目能够使这一过程更加容易, 从而提高成本效益。
5. Expanding the Expertise in Unix Tools(使用Unix工具来拓宽你的专业知识)
你应该掌握专门为以下工作而设计的Unix命令或工具: cat, grep, nd, awk, sed, sort, cut, tr等。由于所有这些处理过程都运行于基于linux平台的设备, 因此, 你需要熟悉这些工具。学习并很好的使用这些工具, 会使你的工作更加轻松。
6. Learning more about Advanced Signal Processing techniques(学习一些信号处理技术)
特征提取是机器学习最重根据部分之一。不同问题需要不同的解决方案, 你可以使用非常酷的高级信号处理算法,例如小波变换,剪切波变换,曲线波,轮廓波和 bandlets 变换等。学习时频分析技术,并用它来解决你的问题。如果你还不知道傅里 叶分析和卷积原理,你同样也需要学习这些知识。二进制码信号处理技术是解决问题 的重要方法。
7. Other skills
(a) 提升自己:你必须时刻保持与新技术的同步以应对将要到来的挑战。这也意 味着你必须注意以下几方面的最新动态:关于这些工具理论的变更日志和会议,算 法的研究论文、博客和会议视频等。(b) 大量阅读。阅读一些像 Google Map-Reduce, Google File System, Google Big Table,以及 e Unreasonable Effectiveness of Data 之类的 论文。此外,网上也有许多免费的机器学习书籍,你同样也应该读一读。
appy Machine Learning!
量子位
神经网络横扫硅谷如卷席,各式各样的人工智能(AI)已经潜入各式各样的互联网服务之中。不过就算神经网络已经能轻松的认出猫咪的图片,但仍然有很多不足之处,所以一些人怀疑目前人工智能的模式识别系统,是否是一种先进、可靠的AI发展之路。
无论是Facebook的面部识别、微软的翻译或是Google的搜索,背后都是神经网络通过分析大量数据学会执行任务。人工智能帮助聊天机器人学习谈话的艺术,帮助无人驾驶汽车驶上公路。但是如果没有大量仔细标注的数据,AI并不能理解世界,也不通用。
另一方面,研究人员对神经网络的工作原理了解有限,很多时候,人工智能就是一个黑盒子。这种不透明导致了严重的问题:如果一辆无人驾驶的汽车撞上了行人,可能人们也无从得知为什么人工智能会做出这样的决定。
“深度学习确实得到了很多关注,它确实值得关注”,卡内基梅隆大学计算机科学教授Tuomas Sandholm说,“但是深度学习不能给你任何保证”。如果你之前看了量子位的文章,立刻能意识到这位教授就是AI赌神Libratus的创造者。
教授说的一点不错。由于神经网络中这些明显的弱点,科技巨头们正在寻找新的人工智能发展路径,最近的招聘、收购、研究以及新成立的创业公司,都瞄准了一个新的方向。
贝叶斯方法正在兴起。依照这种理论,可以通过正统的科学方法研究人工智能:从一个假设开始,然后技术数据更新这个假设,而不是像神经网络那样依赖数据推动结论。贝叶斯方法可以用来处理不确定性,可以为现有模型提供新的证据,可以做神经网络不擅长的事情。
和神经网络一样,贝叶斯方法可也从数据中学习,但完全是两一个路数的机器学习。“我们感兴趣的是让科学方法自动化”,创业公司Gamalon的创始人Ben Vigoda说,他们正在通过概率编程的方法推动这目标前进。
神经网络的快速崛起,也为众多的其他技术注入了生命力,这些技术都能让机器变得更聪明。从强化学习到进化计算,机器学习不只有一条路可走。
去年12月,当Gary Marcus把他只有15个人的创业公司卖给Uber时,他说自己带来了一种全新的人工智能。
他的公司名叫几何智能,一个有着雄心的小操作系统。这位47岁的纽约大学心理学教授表示,他和他的研究伙伴们正在开发一种系统,可以仅仅凭借很小的数据量学会执行任务,就像是人类一样,这种方式蕴含的能量远超深度神经网络。
Marcus认为,小数据系统对于对话机器人以及行驶在公共道路上的无人车而言,是必不可少的。“语言领域和无人车领域都有一些问题,例如永远缺乏足够的数据驱动强力的深度学习”,他说毕竟我们不能在繁忙的道路上撞毁车辆,用以收集数据避免未来的事故。
剑桥大学信息工程教授Zoubin Ghahramani是Marcus的联合创始人,他俩都不愿因谈及上述技术的细节。这在技术世界一点都不罕见,特别是与AI相关的部分,各种秘而不宣造就了一些迷之科技。不过,Ghahramani也是贝叶斯方法的拥趸。
Ghahramani专门研究一种称为高斯过程的特定类型统计模型,这有可能在他与Marcus的研究过程中发挥了作用。
在某些方面,高斯过程是找到特定问题最优解的一种方式。这也是另一种数学技术贝叶斯优化的基础。高斯过程已经用于帮助网站决定应该显示那些广告,或者网站主页应该如何优化。Uber一直在招聘高斯过程方面的专家以改善服务,Google也用高斯过程来协助控制高空互联网气球。
从根本上讲,高斯过程是识别不确定性的好方法。“知道你不知道是一件非常好的事情”,爱丁堡大学AI研究员Chris Williams说,“做一个自信的错误决定是最糟糕的事情”。他也是高斯过程和机器学习方面的权威作者。
2015年被Twitter收购的初创公司Whetlab,就为设计神经网络提供了一个更好的方法。设计神经网络是一个极端试错的任务,困难且耗时。但是高斯过程和贝叶斯优化可以帮助自动完整这个任务。正如WhetLab的创始人、哈佛的计算机科学家Ryan Adams所说的,这家公司正使用“机器学习来改进机器学习”。
神经网络会遇到“自信的错误”困扰,在识别不确定性时,这种优化可以帮助决绝问题。现在Adams已经离开Twitter加入Google Brain。
一些研究人员还认为,高斯过程的小数据能力,可以推进自主化AI方面发挥关键作用。“为了建立一个真正自主化的代理,它必须能够快速适应环境”,AI创业公司Prowler的首席执行官Vishal Chatrath说,“这意味着从高效的从数据中学习”。
此外,Chatrath表示高斯过程很容易解释,这个技术与神经网络不同,它不受制于黑盒问题的束缚,如果发生问题,人们可以追踪原因。
Prowler聘请了三位学者从事这方面的研究。这家公司正在搭建一套AI系统,可以从大型多人游戏和其他数字世界中学习无人驾驶技术。这是一个复杂的工作,但他们希望这能有助于在现实世界进行无人驾驶汽车的导航。
而亚马逊最近也聘请了一位专门研究贝叶斯技术的AI研究院:谢菲尔德大学计算机科学家Neil Lawrence。《不要惊慌》,这是Lawrence最近发表的一篇博客,他在文中说“通过使用数学工具来应对新一波的深度学习,我们可以确保它们基本上是无害的”。
新一代技术+商业操作系统:AI-CPS OS
在新一代技术+商业操作系统(AI-CPS OS:云计算+大数据+物联网+区块链+人工智能)分支用来的今天,企业领导者必须了解如何将“技术”全面渗入整个公司、产品等“商业”场景中,利用AI-CPS OS形成数字化力量,实现行业的重新布局、企业的重新构建和自我的焕然新生,在行业、企业和自身三个层面勇立鳌头。
数字化力量与行业、企业及个人三个层面的交叉,形成了领导力模式,使数字化融入到领导者所在企业与领导方式的核心位置。
分辨率革命:这种力量能够使人在更加真实、细致的层面观察与感知现实世界和数字化世界正在发生的一切,进而理解和更加精细地进行产品控制、事件控制和结果控制。
复合不确定性:数字化变更颠覆和改变了领导者曾经仰仗的思维方式、结构和实践经验,其结果就是形成了复合不确定性这种颠覆性力量。主要的不确定性蕴含于三个领域:技术、文化、制度。
边界模糊化:数字世界与现实世界的不断融合成CPS不仅让人们所知行业的核心产品、经济学定理和可能性都产生了变化,还模糊了不同行业间的界限。这种效应正在向生态系统、企业、客户、产品快速蔓延。
领导者无法依靠某种单一战略方法来应对多维度的数字化变革。随着变革范围不断扩大,一切都几乎变得不确定,即使是最精明的领导者也可能失去方向。面对新一代技术+商业操作系统(AI-CPS OS:云计算+大数据+物联网+区块链+人工智能)颠覆性的数字化力量,领导者必须在行业、企业与个人这三个层面都保持领先地位。
如果不能在上述三个层面保持领先,领导力将会不断弱化并难以维继:
重新进行行业布局:你的世界观要怎样改变才算足够?你必须对行业典范进行怎样的反思?
重新构建你的企业:你的企业需要做出什么样的变化?你准备如何重新定义你的公司?
重新打造新的自己:你需要成为怎样的人?要重塑自己并在数字化时代保有领先地位,你必须如何去做?
子曰:“君子和而不同,小人同而不和。” 《论语·子路》
云计算、大数据、物联网、区块链和 人工智能,像君子一般融合,一起体现科技就是生产力。
如果说上一次哥伦布地理大发现,拓展的是人类的物理空间。那么这一次地理大发现,拓展的就是人们的数字空间。
在数学空间,建立新的商业文明,从而发现新的创富模式,为人类社会带来新的财富空间。
云计算,大数据、物联网和区块链,是进入这个数字空间的船,而人工智能就是那船上的帆,哥伦布之帆!
人工智能通过三个方式激发经济增长:
创造虚拟劳动力,承担需要适应性和敏捷性的复杂任务,即“智能自动化”,以区别于传统的自动化解决方案;
对现有劳动力和实物资产进行有利的补充和提升,提高资本效率;
人工智能的普及,将推动多行业的相关创新,开辟崭新的经济增长空间。
新一代信息技术(云计算、大数据、物联网、区块链和人工智能)的商业化落地进度远不及技术其本身的革新来得迅猛,究其原因,技术供应商(乙方)不明确自己的技术可服务于谁,传统企业机构(甲方)不懂如何有效利用新一代信息技术创新商业模式和提升效率。
“产业智能官”,通过甲、乙方价值巨大的云计算、大数据、物联网、区块链和人工智能的论文、研究报告和商业合作项目,面向企业CEO、CDO、CTO和CIO,服务新一代信息技术输出者和新一代信息技术消费者。
助力新一代信息技术公司寻找最有价值的潜在传统客户与商业化落地路径,帮助传统企业选择与开发适合自己的新一代信息技术产品和技术方案,消除新一代信息技术公司与传统企业之间的信息不对称,推动云计算、大数据、物联网、区块链和人工智能的商业化浪潮。
给决策制定者和商业领袖的建议:
迎接新一代信息技术,迎接人工智能:无缝整合人类智慧与机器智能,重新
评估未来的知识和技能类型;
制定道德规范:切实为人工智能生态系统制定道德准则,并在智能机器的开
发过程中确定更加明晰的标准和最佳实践;
重视再分配效应:对人工智能可能带来的冲击做好准备,制定战略帮助面临
较高失业风险的人群;
超越自动化,开启新创新模式:利用具有自主学习和自我控制能力的动态机
器智能,为企业创造新商机;
开发人工智能型企业所需新能力:员工团队需要积极掌握判断、沟通及创造
性思维等人类所特有的重要能力。对于中国企业来说,创造兼具包容性和多
样性的文化也非常重要。
新一代技术+商业操作系统(AI-CPS OS:云计算+大数据+物联网+区块链+人工智能)作为新一轮产业变革的核心驱动力,将进一步释放历次科技革命和产业变革积蓄的巨大能量,并创造新的强大引擎。
重构生产、分配、交换、消费等经济活动各环节,形成从宏观到微观各领域的智能化新需求,催生新技术、新产品、新产业、新业态、新模式。引发经济结构重大变革,深刻改变人类生产生活方式和思维模式,实现社会生产力的整体跃升。
新一代技术+商业操作系统(AI-CPS OS:云计算+大数据+物联网+区块链+人工智能)正在经历从“概念”到“落地”,最终实现“大范围规模化应用,深刻改变人类生活”的过程。
产业智能官 AI-CPS
用新一代技术+商业操作系统(AI-CPS OS:云计算+大数据+物联网+区块链+人工智能),在场景中构建状态感知-实时分析-自主决策-精准执行-学习提升的认知计算和机器智能;实现产业转型升级、DT驱动业务、价值创新创造的产业互联生态链。
长按上方二维码关注微信公众号: AI-CPS,更多信息回复:
新技术:“云计算”、“大数据”、“物联网”、“区块链”、“人工智能”;新产业:“智能制造”、“智能驾驶”、“智能金融”、“智能城市”、“智能零售”;新模式:“案例分析”、“研究报告”、“商业模式”、“供应链金融”、“财富空间”。
本文系“产业智能官”(公众号ID:AI-CPS)收集整理,转载请注明出处!
版权声明:由产业智能官(公众号ID:AI-CPS)推荐的文章,除非确实无法确认,我们都会注明作者和来源。部分文章推送时未能与原作者取得联系。若涉及版权问题,烦请原作者联系我们,与您共同协商解决。联系、投稿邮箱:erp_vip@hotmail.com