我感觉很多朋友,对“大数据”、“机器学习”、“深度学习”等概念挺晕的,没有感官的认识,这里,我简单说一下:
“大数据”、“人工智能”、“机器学习”、“神经网络”、“深度学习”。这几个词往往掺杂在一起,让人不知所云,这里我简单说一下,不求细节上100%准确,只求能给各位一个感官上的印象,明白说起这几词时,通常都是说什么。
首先,“人工智能”这个词。大家说,什么是人工智能?每个人在自己心里,都有一个特定的人工智能定义。有人认为,老版《星际迷航》里“Datas上校”这个东西叫人工智能;有人认为《机器公敌》里机器人应该叫人工智能;有人认为电影异形里的“大卫”,这么个东西叫人工智能。近一点的,有人认为谷歌开发的下围棋的系统“AlphaGo”,很吊,这玩意是人工智能;谷歌大脑能通过自己看视频,自动识别出猫,这就人工智能了;还有公司,我们通过“人工智能”干了XXXX。。。。。。因此,可以看出,这个词大的没边,因此,真追究起来,谁要说这个词,除装逼外,你就当他什么都没说就行了。
当前,“大数据”这个词,也跟“人工智能”这个词一样,大的没边,虚无飘渺的没边,谁要是说这个词而不说具体的东西,你也就当他什么都没说就好了。
强烈推荐阅读下列文章
一篇文章告诉你优酷背后的大数据秘密!【大数据开发实战技术】戳我阅读
最全最新的大数据系统交流路径!!戳我阅读
回过头来,我们再看“人工智能”这个词。究竟什么是人工智能?计算机的神级人物图灵给出了“图灵测试”,定义了人工智能——图灵测试(The Turing test)由艾伦·麦席森·图灵发明,指测试者与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试者随意提问,进行多次测试后,如果有超过30%的测试者不能确定出被测试者是人还是机器,那么这台机器就通过了测试,并被认为具有人类智能。(摘自百度百科)
上面,图灵神人说神话,凡人听不懂。针对“人工智能”,用人话讲,如果,某个东西,具有了“学习”、“分类”、“预测”能力,我们就认为这个东西是智能的。比如,我们说人。我们说诸葛亮,料事如神(预测能力强)、神机妙算(“分类”强)。。。因此,诸葛亮很智能。
其实,现实中很多问题,都可以转化为分类问题和回归问题,如何即“准”又“稳”的把事物分类,是我们追求。比如,我们根据一系列指标,把一个妹子分类为“漂亮”、“不漂亮”;把某件事根据一系列指标,分为“可以干”、“不可以干”;把某个人,分为“人品好,可以交”、“人渣,不可交”;这类就是二分类问题。也有多分类问题,比如,把一篇文章,分类到“财经新闻”、“娱乐八卦”、“武侠小说”、“黄色小说”。。。。等等多个类目下的一类中。
因此,为了给编个有“智能”的软件,赋予它分类能力呢。简单,用编程语言语言里的判断语句都能行:
If XXX :
OOOO
elif XXXXX :
oooooo
else:
OOOOO
各位看官也许会笑,这TMD算哪门子的智能。但是,在现实中,就这样用编程语言的特性,编出来的软件,在很多不懂计算机父辈们眼中,就很智能,就能把他们镇住。。。。。
当然,这么low的方案,计算机的神级人物们,是不屑的。毕竟,现实太复杂,对这个复杂的现实建模,对复杂的事物分类,岂能是几个判断语句所能够描述的。所以,大神们,搞出来很多算法策略来搞这件事。这下算法,主流的也就那么多,比如说:决策树算法、随机森林算法、逻辑回归、SVM、朴素贝叶斯、K最近邻算法、K均值算法、Adaboost 算法、神经网络算法、马尔可夫算法,还有最近火的“深度学习”算法、增强对抗网络算法。。。等等。这些算都叫“机器学习”算法。
讲到这里,各位看官,应该对我们经常讲的“人工智能”、“机器学习”、“深度学习”,这些虚无缥缈的词大概是什么意思,有个感官的认识了。
好了,现在我们讨论“人工智能”、“机器学习”、“深度学习”等等这些词时,具体就讨论这些算法就行了,那些虚无缥缈的概念,留给装逼的人、想要吸引投资的人去说吧。
从总体理论方向来说,来说,这些算法,大体上可分为两类,“神经网络”算法和“深度学习”算法,算作一类,其它的算法作为另一类。
但是,不管怎么分类,这些算法要想正常的工作,对事物的分类能够达到实用的水平,两个条件是不可或缺的,那就是“数据”、“计算力”。计算力很好理解,这些算法,都比较复杂,没有强大的CPU、内存等硬件支撑,这些算法,要么不能运行,要么猴年马月也运行不完,给不出结果。如果你训练模型,利用这些算法编好程序后,扔给计算机,它花了半年才计算完,给你打印出结果。你心中,也一定是一万个“草泥马”飘过。。。。。对于数据的要求,这是因为,这些算法的背后的数学原理,大部分都跟概率论有关。各位看官,如果兴趣,可百度“VC维”理论,针对“深度学习”的可学习性的理论解释,人类现在也没有研究透,只知道这玩意挺管用,在很多方面效果挺好,科技前沿,给出的解释是用“泛函空间概率论”来解释。但不管怎么说,就是概率论,就是瞎猜。瞎猜嘛,当然是依据越多,猜的的越准,猜的越稳。也就是数据越多,这些算法就会猜的越准,猜的越稳。好了,现在“大数据”,就可以搀和进来了。没有数据,或者数据很少、数据纬度较少,不够详细,这些算法“巧妇”,也会无米下锅,做不出可口的饭菜的。
有了所谓的“大数据”和云计算,我们就可以方便的命令这些算法“巧妇”们给我们做饭了。从‘数据’这个“米”的角度说,我们可以HDFS存储更多的米,更丰富的食材;从‘大数据组件’这个锅碗瓢盆的‘工具’角度来说,我们有了spark等组件(利用深度学习算法,比较强大的组件是TensorFlow),有了更强大的计算工具,我们可以利用这些组件调用这些高大上的分类算法,再加上所谓的“大数据”、“深度学习”、“机器学习”,就可以做出更好吃的饭了。从系统架构上来说,猜嘛。猜对、猜错都是很正常的,可能这么猜不对,换个参数、换个算法 重新猜一下,就猜对了。因此,也就有了“数据挖坑一身功,全靠调参”的说法。这就要求,我们的系统,有更好灵活性,方便我们对针对这些算法“休妻再娶”。
。。。。。。。。。。
有了上面大体的介绍,针对“大数据”、“人工智能”、“深度学习”、“机器学习”等具体行业应用,我再简单说两句。
以电商行业为例,有一个概念叫“用户画像”,它是很多系统的基础,比如推荐系统、精准广告系统、大数据风控系统的等等。
用户画像,是什么呢。说到底,就是对用户的分类数据。比如说,ID 000001110011,性别:女,性格描述:萌妹子,性格特点描述,资产状况描述,信用状况描述,喜欢的颜色,钟爱的品牌,大姨妈的日期,上周的购物。。。。。。。。有了这些信息,我们就可以针对这个用户,进行精准的广告营销、精准的购物推荐、个性化的服务。。。。。。
那么问题来了。现实中,这位妹子注册信息时,性别栏里,可能填的是“男”,年龄栏里填了“5”或者“150”。你怎么知道这个妹子,可能喜欢相宜本草的面膜,她又没明确告诉你。。。。
没办法了,只能猜。如果,我们有了关于这位妹子的各类“大数据”,再结合上面的各种算法,就可以猜了。如果这个ID的用户,上购物网站时,经常浏览的是“胸罩”、“卫生巾”等女性用品,我们的算法(机器学习、深度学习等)把他猜成“女性”,是可以理解的。当然,如果是位暖男,为他女朋友、老婆买这些东西,也是可以理解的。如果我们再增加一个纬度的“大数据”,这个ID用户,最近经常看韩剧,那么他是女性可能性,就又提高了。再增加一个纬度的“大数据”,这个ID在某个评论里说“最近刚生完宝宝,听老公说XXXX,我觉的XXXX”。。。。这里,针对这个ID的画像,把他的性别改为“女”,是可以的,是有99.99%的把握的。但也无法排除0.01%的变态。。。。。
这个例子中,就把“大数据”、“机器学习”等等热门的概念都搞一块了。。。
实际工作的过程中,情况和限制,也就更多更复杂了。针对各类企业、每个企业,我想都在某些时刻,有去猜(也就是去分类)某些事情的需求。此时,找猜的“米”时,一看,之前很多数据没保存,无米下锅。没有人才,没多少人会利用这些牛逼的“算法+数据”去猜。更多是没有数据意识,针对马云口中“DT时代”,没有感官认识,不明白具体是什么意思。。。。。。
在具体落地的解决方案过程中,数据收集、存储、计算工具等等方面,现在技术发展的还是可以的。再具体“怎么猜”(是利用if elif else与语句猜,是利用线性模型猜,还是利用“深度学习”猜)的过程中,那就要具体情况具体分析了:
总共才两三中情况,看一眼就知道怎么回事,提炼出规则,编程成固定规则就行了,上深度学习,纯属脑子有病;
但像BAT这种大公司,有很多牛叉的研究员,整天研究如何利用尽可能对的数据(“大数据”),比较牛逼的算法策略(比如“深度学习”等),尽可能多猜的更准、更稳。哪怕猜准确率提高1%,那么可能多销售几个亿的商品。。。。。
目前,语音识别、机器翻译。等等,本质上,也是“猜”嘛。英语中某个句话猜成中文的意思,有30%准确率,用上深度学习后,猜对的可能性提高到了45%。。。。。某段录音,根据记录的音波,之前猜对概率是85%,积累的数据多了,用的算法牛逼了,参数调的好点了,猜对概率95%了,这就是进步啊。等到,你说依据话,计算机猜你的意思,猜对的概率是99%了,我想那时,你百度什么东西,就不用输关键词了,对这电脑说就行了。。。。
但无论怎么样,即便是BAT、谷歌等大公司,前沿研究除外,能为资本家带来直接利润的机器学习算法,目前还是比较简单的机器学习算法为主,比如一些线性模型类的算法(我记得我第一次学线性回归时,在初中数学里的内容),所以,这些算法的原理也是比较简单的。上世界90年代各方面就研究的很透了,只不过那时候,人类积累的数据少(数据就在那里,每天都在产成,只不过,那是没有性价比高的记录手段)、计算机的计算能力不足。。。。。。至于更高大上一些的算法,比如深度学习等,主要用来对系统里的某一些环节改造,增加猜对的概率。严格意义说,跟所谓的“大数据”,没多少直接关系。即便是没有“深度学习”,用其他的算法,要想达到实用效果,所需要的数据量也不一定少。
回望,很多概念,“火”与不“火”的历程也是有规律可循的。07、08、09年时,与“云”有关的很火,什么“公有云”、“私有云”、“混合云”,12、13、14年时,“大数据”很火;现在,16、17年,“机器学习”、“人工智能”很火。有了“云”架构,我们有了灵活手段的去调度硬件资源,所以要利用搞点事情啊,再加上谷歌的工程师发表了著名的三篇论文,全世界的工程师开发了相关软件;因此,后来的“大数据”火了,这时的“火”,更多是建立“数据仓库”等存储等阶段,针对数据利用、处理,也是普通简单算法范围,如统计一下数据,出一些Top榜什么的。。。。后来,有了积累了多数据、更多资源了,我们有什么理由不把跟牛逼的策略、算法搬出来,对数据挖的更深、利用的更好呢。。。。从中可以看出,这些概念火起来,是计算力的进步,是人类收集、存储、加工、处理、利用信息能力的进步。。。。
————————————————————————————————————————
首先声明,本人现在杭州一家互联网公司做大数据平台架构师和数据分析师。因此,以下的回答,可能带有自己的视野局限,敬请各位看官理性地指教,讨论。
根据我个人的行业经验来看。现在很多人,对大数据的理解都有些偏了。目前,对大数据的主流看法就是"深度学习","人工智能"等很火,很高大上的东西,都需要大量的数据,所以大数据会怎样、怎样。。。。
其实,大数据的背后,是人类处理信息(也就是数据,大家不要认为大数据,这个概念中的"数据",是12345等阿拉伯数字组成的东西,凡是能存电脑里的东西,都是数据)的IT系统的一次革命性升级。这次技术的升级,是继数据库系统后,人类处理数据手段和技能的提升。下面,我以一个例子,来说明我们信息处理手段的提升。
张三是个创业者,每晚到夜市摆摊。由于摊子很小,每天回家后,找一只笔,一个香烟盒子纸,就能把账算了、把货盘了,这时,凭借着一只铅笔,一张破纸,就能把该处理的数据信息处理了。后来,摊子稍微大了一点,张三到门口小超市花几块钱买了个计算器,每天在计算器"为零"的帮助下,再加上一只笔、一张纸把信息处理了。再后来,张三开了个小超市,他处理信息的能力也增强了,用上了Excel、word等软件来处理信息。后来,张三开开了个大超市,其信息处理工具也鸟枪换炮了,用上了进销存管理系统、财务管理系统、人事管理系统。。。。这些系统,在数据存储方面,用数据库,如mysql。在业务处理方面,招几个程序员,用php、python或java,写具体的业务处理逻辑(也就是当年张三在纸上写写画画的处理过程)。这一阶段的IT处理段位,是目前大多数中小企业所在的段位。可以看出,这个段位的IT系统和处理能力有以下不足:
1、只能处理结构化数据,对大量非结构化数据(文字、语音、视频等),处理能力严重不足。
2、能处理的数据量还是太小,比如,用张破纸,你处理10条数据没问题,给你个计算器,你处理100条数据没压力。用Excel,你处理10万条无压力。给你个mysql,你在千万条数据的级别范围内增删改查无压力。但是,当你要面对的数据是100亿条级别时,你的数据库、存储、业务处理代码等,就有可能分分钟闹毛病给你看。 注意:利用各种中间件构建分布式关系型数据库集群,是能应付的。此处,各位看官领会我说的什么意思就好,先不要纠结具体技术解决方案。
3、处理的手段单一,只能跑程序员编好的程序,比较死板。只能按着代码逻辑跑,一点都不"智能"。
4、从技术上讲,灵活性还是不足。你的进销存、财务、人事等系统。程序员编完,能用了,也就完了。没有重要问题和需求变更,也不会去频繁升级、重构和迭代更新。从这方面讲,也会造成企业在想要XX数据时,发现没有。想要XX功能时,发现要实现的成本太大。或者,在你的威严下,你手下的程序员辞职了,你满心委屈"我不就是想要个这么小、这么简单的功能么。这小子居然花了那么长时间弄,还TMD辞职了,90后,真是一代不如一代。。。。"。所以,这些,到最后,大多都不了了之。。。
5、从具体的实际流程上看,流程太长、太慢。比如说,您是集团公司的老总,有一天突发奇想,想到了一个项目,想"看看相关数据"。此时,你的秘书帮你去搞数据了,北京分公司的数据,很快上来了,上海分公司的数据,秘书打了好几遍电话,才要来。山东分公司的说,我们这边忙着陪客户吃饭喝酒了,具体数据没收集呢,您稍等,我帮您问问、查一下。浙江分公司的,数据报上来了,刚放你办公桌上,你刚翻了一下,他们打电话说,数据报错了、漏报了,您稍等,我们组织人力物力,重新帮你核查。。。此时,时间上,少说也一个月过去了,还不一定保证数据都正确。数据收集上来,您也不用"分析"了。市场风云变幻,黄花菜都凉了。。。
.......
鉴于此,大数据处理系统来了。有了hadoop、spark、storm、hbase、 Elasticsearch、zookeeper等等大数据工具搭建起来的数据处理集群,张三终于炮换导弹了。
1、有了hdfs,张三可以把以前觉得没太大价值的数据保存起来。未来的事,谁知道呢,数据总是要的,说不定以后用的到呢。如果阿里巴巴没有保存、整理用户的交易数据等,花呗、借呗等业务,开展起来,简直就是做梦。巧妇难为无米之炊。
2、有了spark等编程框架,你的业务处理流程,也更加灵活和牛逼了。你可以用python、java,scala等编写一些脚本似的数据分析程序,尽情地挖掘出有价值的东西。这一个个的job,写完后,扔给调度系统,定时,每天晚上让集群帮你跑出来就好了。挺灵活的。
3、调用一些开发库,你可以玩一些机器学习等高大上的东西。出去吹牛逼也有料了。
4、建立统一的数据处理中心,再加上互联网的力量,终于可以在可接受的时间范围内获得你想要的数据了,而且数据还能详细,方方面面的数据都有,最后还附有机器人"小优"的"智能"建议和温馨提示。
5、借助比如storm等实时处理框架,很多结果可以秒级回馈。性能遇到瓶颈了,大不了加机器。反正一切都是分布式的。
.......
我记得13、14年时,大数据最火的时候。在一次电视节目中,李彦宏面对杨澜,大谈大数据,并举例"谷歌利用大数据预测流感。。。。"等等balabala的一大通,全是忽悠套路,没一点干货!!我想大多数人,听到这些东西,一般都不care,说不准还暗暗的骂一句"草,这些关我鸟事"。。。
最近,谈起大数据,很多人都往"人工智能"等高大上的东西上。我想大多数人,特别是中小企业,也不会关心。那是BAT等大公司的事,我们公司小、数据少,业务也简单。"分析",也是电脑不如人脑。因此,大多人,也是觉得,大数据或许是未来,但是,对我来说,似乎也没多大用处。如果,此人当时心情不好,还多半认为"大数据",纯粹是瞎忽悠。
回到本次话题,针对"大数据能火多久",这个问题,这就要看大数据的本质了。在我看来,我们业内目前讨论"大数据",应该更倾向于看它背后的技术对当前企业IT系统的革新。就如同目前大多数企业以关系型数据库为中心的IT系统一样,现在,我们处理信息的手段中,又添加了新的成员。现在,如果你向老大建议,我们不要以关系型数据库为核心的各类"进销存"、财务等系统了,全体回退到以Excel、word来处理信息,我相信,他会分分钟扇死你。我相信,20年后,你向老板建议,我们放弃各类以大数据处理集群为核心的精准营销系统、智能客服系统、用户智能分析系统等等,大家集体回退到以纯关系型数据库为核心的时代;我相信,他也一定会分分钟扇死你。
当前,我们对大数据的理解,越来越清晰和接地气。阿里巴巴已经把他们的大数据系统,改名为了"maxComputer"。从名字不难看出,大数据就是大电脑,这意味着更大的信息处理能力、更高的灵活性。。。
大数据能火多久,如同穿越到上世纪80年代,去问个人电脑能火多久一样。现在,我们都不会认为"个人电脑"很"火"。因为,它已经成为了人类工具箱里一件强大的工具,提高了人类的生产力。我相信,"大数据",也会成为我们的工具箱里的这么一样工具的。
目前,看知乎里的答案。很多人讨论起大数据,很多人的看法,还是照搬教科书里的内容。其实,对真正大数据圈而言,大数据已经落地了。下了凡的七仙女,虽然是神仙,但也成为了农家媳妇,没太大讨论的必要了。大数据从几年前很火,到现在,从PPT上下凡到数据中心,也就没多大的讨论必要了。用就行了,有啥好瞎bb的。。。。。。