最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

如何成为一名卓越的数据科学家 ——桃树七剑之三:算法调优

[复制链接]
跳转到指定楼层
楼主
发表于 2017-3-23 18:00:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
关于作者:
杨滔,桃树科技(TaoData)创始人,专注于下一代人工智能产品的研发、应用与商业化。拥有超过十年机器学习研究与应用经验。奥克兰大学机器学习博士,悉尼科技大学博士后。曾任阿里巴巴集团数据科学家,建立淘宝网数据科学团队,首创聚划算爆款模型。曾任F团首席科学家,建立F团数据化运营体系。


算法,是数据科学全部环节中最为神秘的部分。

正是因为人们对于算法过高的敬畏之心,才使得算法的应用仅仅局限于少数数据科学家的手中,许多非常有杀伤力的算法并没有在实际问题中产生应有的价值。
其实,机器学习算法的本质是一种工具,是一种让数据创造价值的工具。
很多工程师脑中有一个巨大的误会,以为成为数据科学家要从修炼一堆复杂的理论开始。——那些开出一堆书单的人,只能为出版商代言。
数据科学的技能,与人类许多其他的技能一样,其实是从使用工具开始的。因此,面对开源工具严重缺乏的现实情况,桃树一直坚持自主开发数据科学工具,让工程师立刻拥有数据科学的技能,我们相信这个工具将会改变世界。

你可以想象一下工具的力量有多大:当别人隐归多年苦苦练就降龙十八掌,而你只需要掏出一把左轮手枪。

数据科学家的使命并不是发明算法,而是用一系列算法工具来解决实际问题,让算法帮助数据创造价值。

每天都有不同的算法在学术期刊中被发明,但只有少数算法可以在实际问题上真正派上用场。
为何算法在理想的赛道上狂奔,数据却在现实的角落里浪费?
正是因为许多数据科学家并没有意识到,算法只不过是工具。许多数据科学家为了算法而发明算法,为了炫技而忽略了解决问题最简单的路径。


机器学习算法是什么?
算法是一种语言,一种可以让机器执行人思想的语言。机器学习算法,是让机器可以持续从人所设定的目标中去从数据中学习和执行的语言。
普通意义上的算法,是人为机器设定的一系列“死命令”,这些命令告诉机器该如何执行人预设的命令。在这种情况下,机器并没有自主学习的能力,人需要一直为机器“出主意”。
与普通算法不同,机器学习算法让数据与算法结合起来,告诉机器在不同的情况(数据)下执行不同的命令,并让机器在经验中不断自我学习和优化。
能从不同环境(数据)中学习的机器是具备思维能力的机器。让机器可以从数据中学习的算法,究其本质是在模拟人的思维。

算法是在数据科学家思维的框架下,自动化从数据材料中学习,从而可以灵活解决不同问题的技术。




机器学习算法的类别
正如人有许多不同的思维模式,机器学习算法也有许多不同的种类。在我看来,每一种机器学习算法都可对应一种人类思维模式:
理性主义信徒:它们假设需要学习的数据服从某类理想的统计分布,并利用数学技术从理想数据中推断规律。
经验主义信徒:它们不从数据中做任何推理,而是找到不同案例之间的关联关系。
规则派:它们不对数据做出任何假设,而是直接从现实数据中提炼一系列决策规则,并假设这些决策规则适用于一切新数据。

模拟人脑的神经网络派:通过层层神经元模拟人脑的决策方式。目前最火热的深度学习算法便属于这个类别。
机器学习算法还有许多其他不同的派别,但无论哪个学派,机器学习技术本质上都是人思维的产物。卓越的数据科学家不拘泥于算法的派别,而是汲取融合不同派别算法的优势,最大程度发挥数据的价值。
以桃树最新研发的数据科学引擎DataBrain为例,其架构并不是单一的某一种算法或者算法的组合,而是和人脑一样的左右脑结构。

桃树DataBrain的左脑负责逻辑思维,基于机器学习框架从数据中学习规律;DataBrain的右脑,负责发散思维,将一系列原始数据源整合、清洗为一张宽表,并从中发现人原本发现不了的新特征。我们最近正闭关将DataBrain打造成细分领域最前沿的数据科学产品。
关于DataBrain的构架,与卓越数据科学家系列的主题有点远,也许以后兴之所至,会单独开文再写一篇。

机器学习算法工具箱

数据科学家不是数学家,并不需要深入理解每个复杂算法的数学原理。实际上,理解发动机的原理并不能帮你拥有更高超的开车技能。
学者喜爱发明算法,数据科学家擅长利用算法解决实际问题。在真实的数据科学项目中,没有最好的算法,只有最适合的算法。在不同的问题和数据中,数据科学家需要使用不同的算法。每个算法都有自己适合应用的数据范围,而每个数据都有最适合的算法。
因此,卓越的数据科学家需要有一个机器学习算法工具箱。
拥有了这个武器,数据科学家可以针对不同的数据快速尝试多种算法,并基于实际结果挑选算法。同时,数据科学家还可以根据实验效果设定自动挑选算法和自动调参的算法,让机器自动选择当前数据最适合的算法和工具。
完成单项任务的效率,是衡量数据科学家能力最重要的指标之一。许多数据科学家在遇到实际问题的时候,还要花费大量精力去重新造轮子(重新实现一遍成熟算法)。因此在更关键的步骤,如对问题和数据本身的理解上反而没有花费足够的精力。
卓越的数据科学家一定是开源软件的发烧友。他们喜欢动手实践,忍不住的要把最好用的开源软件拿来玩一玩,看看是否能提高自己数据的准确率,是否速度够快。
而研究型的数据科学家呢?他们总喜欢自己造轮子,幻想自己从无到有造出一个新平台。殊不知,造一个平台容易,而持续的维护一个平台则需要一个团队甚至多个团队的协同。
因此,开源软件才是最简单的集成团队智慧的方式。
那么,一个让数据科学家变得卓越的算法工具箱到底是怎么样的呢?我认为其必须具备以下两个重要功能。


可视化
如果说机器学习算法是强大的发动机,那么这个算法发动机需要一个简单易用的“方向盘”,可视化便是机器学习技术的方向盘。
当机器学习过程被充分分解和展现,数据科学家便可以更好地把控算法优化的方向,包括如何选择算法,如何选取参数,如何在不同打分下评估模型的效果。
在许多问题中,数据科学家需要让算法具可解释性,而让算法可解释的重要手段之一就是可视化。许多机器学习算法让数据升维,将数据投射到一个复杂的数学空间中并找到规律。而可视化技术可将模型中的数据结果降维: 将复杂结果简化为与决策最相关的决策信息。
这个从升维到降维的过程,正是让机器说人话的过程。
可视化也是机器吸纳人经验的一个过程。只有当人充分理解算法的输出,人的输入才能更好地被算法应用。可视化是人机协作的前提,而人机协作是处理复杂问题的最有效方式。

分布式计算
所谓分布式计算,是把一台计算机的压力分解到多台机器中去完成。传统机器学习算法都是在单个机器中完成,而分布式机器学习算法是让多台机器完成机器学习算法。如此,机器学习算法可以处理的数据量和计算效率得到质的提升。
机器学习技术最新的进展离不开分布式计算技术,因为分布式机器学习技术让算法可以从更多数据中建模学习。在大数据时代,数据科学家需要将单机版算法改造为分布式版本,让大数据成为提升机器学习效果的核心武器。人工智能技术质的提升,离不开大数据。
具备可视化和分布式计算功能的机器学习算法工具箱,是数据科学家最厉害的武器。只要驾驭好这些武器,数据科学家便可以高效的充分关注问题本身,实现数据价值最大化。

楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-4-26 05:36

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表