MyException - 我的异常网
当前位置:我的异常网» 云计算 » (转)大数据要如何学

(转)大数据要如何学

www.MyException.Cn  网友分享于:2013-08-22  浏览:0次
(转)大数据要怎么学

1、大数据学习要业务驱动,不要技术驱动:数据科学的核心能力是解决问题。大数据的核心目标是数据驱动的智能化,要解决具体的问题,不管是科学研究问题,还是商业决策问题,抑或是政府管理问题。所以学习之前要明确问题,理解问题,所谓问题导向、目标导向,这个明确之后再研究和选择合适的技术加以应用,这样才有针对性,言必hadoop,spark的大数据分析是不严谨的。不同的业务领域需要不同方向理论、技术和工具的支持。如文本、网页要自然语言建模,随时间变化数据流需要序列建模,图像音频和视频多是时空混合建模;大数据处理如采集需要爬虫、倒入导出和预处理等支持,存储需要分布式云存储、云计算资源管理等支持,计算需要分类、预测、描述等模型支持,应用需要可视化、知识库、决策评价等支持。所以是业务决定技术,而不是根据技术来考虑业务,这是大数据学习要避免的第一个误区。

2、大数据学习要善用开源,不要重复造轮子:数据科学的技术基因在于开源。IT前沿领域的开源化已成不可逆转的趋势,Android开源让智能手机平民化,让我们跨入了移动互联网时代,智能硬件开源将带领跨入物联网时代,以Hadoop和Spark为代表的大数据开源生态加速了去IOE(IBM、ORACLE、EMC)进程,倒逼传统IT巨头拥抱开源,谷歌和OpenAI联盟的深度学习开源(以Tensorflow,Torch,Caffe等为代表)正在加速人工智能技术的发展。数据科学的标配语言R和Python更是因开源而生,因开源而繁荣,诺基亚因没把握开源大势而衰落。为什么要开源,这得益于IT发展的工业化和构件化,各大领域的基础技术栈和工具库已经很成熟,下一阶段就是怎么快速组合、快速搭积木、快速产出的问题,不管是linux,anroid还是tensorflow,其基础构件库基本就是利用已有开源库,结合新的技术方法实现,组合构建而成,很少在重复造轮子。另外,开源这种众包开发模式,是一种集体智慧编程的体现,一个公司无法积聚全球工程师的开发智力,而一个GitHub上的明星开源项目可以,所以要善用开源和集体智慧编程,而不要重复造轮子,这是大数据学习要避免的第二个误区。

3、大数据学习要以点带面,不贪大求全:数据科学要把握好碎片化与系统性。根据前文的大数据技术体系分析,我们可以看到大数据技术的深度和广度都是传统信息技术难以比拟的。我们的精力很有限,短时间内很难掌握多个领域的大数据理论和技术,数据科学要把握好碎片化和系统性的关系。何为碎片化,这个碎片化包括业务层面和技术层面,大数据不只是谷歌,亚马逊,BAT等互联网企业,每一个行业、企业里面都有它去关注数据的痕迹:一条生产线上的实时传感器数据,车辆身上的传感数据,高铁设备的运行状态数据,交通部门的监控数据,医疗机构的病例数据,政府部门的海量数据等等,大数据的业务场景和分析目标是碎片化的,而且相互之间分析目标的差异很大;另外,技术层面来讲,大数据技术就是万金油,一切服务于数据分析和决策的技术都属于这个范畴,其技术体系也是碎片化的。那怎么把握系统性呢,不同领域的大数据应用有其共性关键技术,其系统技术架构也有相通的地方,如系统的高度可扩展性,能进行横向数据大规模扩张,纵向业务大规模扩展,高容错性和多源异构环境的支持,对原有系统的兼容和集成等等,每个大数据系统都应该考虑上述问题。如何把握大数据的碎片化学习和系统性设计,离不开前面提出的两点误区,建议从应用切入、以点带面,先从一个实际的应用领域需求出发,搞定一个一个技术点,有一定功底之后,再举一反三横向扩展逐步理解其系统性技术。

4、大数据学习要勇于实践,不要纸上谈兵:数据科学还是数据工程?大数据只有和特定领域的应用结合起来才能产生价值,数据科学还是数据工程是大数据学习要明确的关键问题,搞学术发paper数据科学OK,但要大数据应用落地,如果把数据科学成果转化为数据工程进行落地应用,难度很大,这也是很多企业质疑数据科学价值的原因。且不说这种转化需要一个过程,从业人员自身也是需要审视思考的。工业界包括政府管理机构如何引入研究智力,数据分析如何转化和价值变现?数据科学研究人员和企业大数据系统开发工程人员都得想想这些关键问题。目前数据工程要解决的关键问题主线是数据(Data)>知识(Knowledge)>服务(Service),数据采集和管理,挖掘分析获取知识,知识规律进行决策支持和应用转化为持续服务。解决好这三个问题,才算大数据应用落地,那么从学习角度讲,DWS就是大数据学习要解决问题的总目标,特别要注重数据科学的实践应用能力,而且实践要重于理论。从模型,特征,误差,实验,测试到应用,每一步都要考虑是否能解决现实问题,模型是否具备可解释性,要勇于尝试和迭代,模型和软件包本身不是万能的,大数据应用要注重鲁棒性和实效性,温室模型是没有用的,训练集和测试集就OK了吗?大数据如何走出实验室和工程化落地,一是不能闭门造车,模型收敛了就想当然万事大吉了;二是要走出实验室充分与业界实际决策问题对接;三是关联关系和因果关系都不能少,不能描述因果关系的模型无助于解决现实问题;四是注重模型的迭代和产品化,持续升级和优化,解决新数据增量学习和模型动态调整的问题。所以,大数据学习一定要清楚我是在做数据科学还是数据工程,各需要哪些方面的技术能力,现在处于哪一个阶段等,不然为了技术而技术,是难以学好和用好大数据的。

5、大数据学习的三个阶段:不同阶段的技术路线各有侧重,把握主要矛盾。在大数据应用实施过程中,由于技术和成本考虑,不可能短时间内解决所有问题,大数据应用本身有其规律和特点,比如分析目标一定是要跟数据规模匹配,分析技术的采用取决于数据结构和数据源条件,数据集成一定要覆盖比较全面的业务背景,关键环节数据不能有缺失等等。大数据学习可以根据应用目标分三个阶段:1)大数据基础设施建设阶段:这个阶段的重点是把大数据存起来,管起来,能用起来,同时要考虑大数据平台和原有业务系统的互通联合问题。一句话,做好全局数据集成解决数据孤岛问题!要完成大数据基础设施系统建设开发,需要明确数据采集、存储和分析各层核心组件的选型和使用,搭建稳定的大数据集群,或选择私有云方案的服务集群,与生产系统并线运行,使待分析的历史数据和实时数据得以采集并源源不断流入大数据系统。这个阶段的关键技术学习包括采集爬虫、数据接口、分布式存储、数据预处理ETL、数据集成、数据库和数据仓库管理、云计算和资源调度管理等等内容。2)大数据描述性分析阶段:此阶段主要定位于离线或在线对数据进行基本描述统计和探索式可视化分析,对管理起来的大数据能进行海量存储条件下的交互式查询、汇总、统计和可视化,如果建设了BI系统的,还需整合传统BI技术进行OLAP、KPI、Report、Chart、Dashboard等分析和初步的描述型数据挖掘分析。这个基础分析阶段是对数据集成质量的检验,也是对海量数据条件下的分布式存储管理技术应用稳定性的测试,同时要能替代或集成传统BI的各类报表。这个阶段的关键技术学习包括可视化、探索式交互式分析、多维分析、各类基本报表和图表的查询设计等等。3)大数据高级预测分析和生产部署阶段:在初步描述分析结果合理,符合预期目标,数据分布式管理和描述型分析稳定成熟的条件下,可结合进一步智能化分析需求,采用如深度学习等适用海量数据处理的机器学习模型,进行高级预测性挖掘分析。并通过逐步迭代优化挖掘模型和数据质量,形成稳定可靠和性能可扩展的智能预测模型,并在企业相关业务服务中进行分析结果的决策支持,进行验证、部署、评估和反馈。这个阶段的关键技术包括机器学习建模、决策支持、可视化、模型部署和运维等。

在上述几个阶段的技术学习过程中,需要注意几个关键问题:一是重视可视化和业务决策,大数据分析结果是为决策服务,而大数据决策的表现形式,可视化技术的优劣起决定性作用;二是问问自己,Hadoop、Spark等是必须的吗?要从整个大数据技术栈来考虑技术选型和技术路线的确定;三是建模问题处于核心地位,模型的选择和评估至关重要,在课堂和实验室中,多数模型的评估是静态的,少有考虑其运行速度、实时性及增量处理,因此多使用复杂的臃肿模型,其特征变量往往及其复杂。而Kaggle竞赛中的各种Boost方法,XGBDT、随机森林等模型,在数据挖掘和机器学习教材中却少有提及,所以要充分参考业界实战经验不能尽信书;四是开发语言的选择,基础框架系统Java是必须掌握的,应用级的机器学习和数据分析库Python是必须掌握的,而要深入各种框架和学习库的底层,C++是必须掌握的;五是模型的产品化,需要将实际数据通过管道设计转换为输入特征传递给模型,如何最小化模型在线上和线下的表现差距,这些都是要解决关键的问题。

6、其它补充:Kaggle,众包与培训。众包是一种基于互联网的创新生产组织形式,企业利用网络将工作分配出去,通过让更合适的人群参与其中来发现创意和解决问题,如维基百科,还有IT资源社区GitHub,都是典型的众包平台。众包+开源极大推动了IT产业的快速发展,当然Kaggle作为数据科学领域顶级的众包平台,其影响力远不止于此(所以刚刚被谷歌收购)。企业和研究者可在Kaggle上发布数据,数据分析人员可在其上进行竞赛以产生最好的模型。这一众包模式本质就是集体智慧编程的体现,即有众多策略可以用于解决几乎所有预测建模问题,而分析人员不可能一开始就能找到最佳方案,Kaggle的目标就是通过众包的形式来解决这一难题,进而使数据科学成为一场集体智慧运动。所以说要学好大数据,严重推荐去Kaggle冲冲浪,很好的历练平台。至于大数据培训嘛,基础理论和技术还不甚了解的情况下可以去培训学习,有基础之后还得靠自己多练多解决实际问题。



作者:阿杜白话大数据
链接:http://www.jianshu.com/p/e503f2de386a
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

文章评论

Java程序员必看电影
Java程序员必看电影
鲜为人知的编程真相
鲜为人知的编程真相
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
总结2014中国互联网十大段子
总结2014中国互联网十大段子
我是如何打败拖延症的
我是如何打败拖延症的
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
程序员和编码员之间的区别
程序员和编码员之间的区别
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
旅行,写作,编程
旅行,写作,编程
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
我的丈夫是个程序员
我的丈夫是个程序员
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
程序员必看的十大电影
程序员必看的十大电影
程序员的鄙视链
程序员的鄙视链
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
为什么程序员都是夜猫子
为什么程序员都是夜猫子
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
如何成为一名黑客
如何成为一名黑客
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
程序员应该关注的一些事儿
程序员应该关注的一些事儿
一个程序员的时间管理
一个程序员的时间管理
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
代码女神横空出世
代码女神横空出世
每天工作4小时的程序员
每天工作4小时的程序员
中美印日四国程序员比较
中美印日四国程序员比较
漫画:程序员的工作
漫画:程序员的工作
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
那些争议最大的编程观点
那些争议最大的编程观点
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
 程序员的样子
程序员的样子
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
老程序员的下场
老程序员的下场
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
10个调试和排错的小建议
10个调试和排错的小建议
编程语言是女人
编程语言是女人
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有