序:趁着未中“知识诅咒”之前,说人话
最近阅读了一些关于大数据和人工智能的书,从一脸懵逼到渐入佳境这个过程还是很有趣的。
每次进入一个新领域,在大量泛读的阶段常常心情不好,因为你会发现有太多拗口的术语、奇怪的概念,把你绕得晕头转向。其实,大部分作者并不是有意的,他们只是不知道自己说的不是人话。这个现象叫“知识诅咒”,一种知识,就像是一条大河,对于已经渡过河的人来说,回头看,会感觉并不难,因为他已经把它们消化并封装成了一个个的“概念”了,他和同样站在河对岸的人轻松的用“概念”对话,长此以往,就很难明白还没有渡过河的人的感受。
这一次,我在趁着自己未中“诅咒”之前,把我的学习过程用“人话”总结总结,画一张知识地图,为后来者铺一条路。
主要参考书籍:《智能时代》、《大数据时代》、《决战大数据》、《大数据之路》、《Hadoop海量数据处理》、《企业经营数据分析》、《数据驱动》、《AI基础网课》、《机器学习》(PS:全是畅销书,吃了快餐真是sorry了…)
认知1:什么是大数据?数据、信息和知识
你可能觉得数据就是一堆数字,或是必须要由数字构成,其实不是,数据的范畴要比这个大得多。数据可以理解成“对客观事实观察所记录下来的证据”,人的日常行为、事物的状态变化都会留下某种证据,这就是“数据”,它的形式可能是文字、符号、声音、图像等等。有了数据之后,再经过系统性地整理,就变成了“信息”,信息再经过更简洁抽象的加工,就变成了“知识”。在这里,数据是具有物理性质的,而信息和知识是逻辑性、概念性的。
举个例子,比如通过测量星球之间的相对位置和时间,就得到了数据,通过数据得到星球的运动轨迹,就是信息,通过信息总结出开普勒三定律,就是知识。人类就是不断通过使用知识改变世界的,在这里面,数据就是一切知识的基础。
那现在为什么要在数据前加一个“大”字呢?这源于现在我们收集到的数据有三个特点:
1. 体量大:拿谷歌拍摄街景的汽车来说,一辆汽车每天生产的数据就是1TB。
2. 多维度:一个实体可以在N个维度上被观察,比如一个人,性格、爱好、工作、家庭等等每个维度上都有可收集的数据。
3. 完备性:数据越全面就越有用。比如汽车导航,有地图、交规、拥堵信息等一系列数据,数据越完备对你的出行就越有价值。
收集到这么多数据有什么用呢?总的来说有三种用途:
1. 追溯:分析历史,找到问题发生的原则,可以用来追溯责任、追溯成就、追溯过程。
2. 监控:在记录数据的基础上进行分析,形成一定的过程指标和结果指标,用来管理事物发展过程。
3. 洞察:通过数据来理解事物,为什么会发生?有什么规律?从而挖掘商机或对未来进行预测。
认知2:大数据的思维方式,相关性和因果性
我们经常会看到在视频网站上有零食的广告,在女装的网站上有男装的广告,在咖啡评论网站上有信用卡的广告,为什么会有这种搭配呢?这就是大数据分析后所找到的“相关性”,相关性是指,两件事同时发生,但未必有因果关系。
举个例子,有一项研究表明:喝咖啡的人也长寿。这是因果性,还是相关性呢?喝咖啡的人,和长寿的人高度重叠,但也许他们长寿的原因,是喜欢喝咖啡的人相对有钱、有时间,也注重健康。坚持运动,也许才是他们长寿的真正原因。这就是相关性。
因果性必须证明,相关性只需发现。
关于这一点,全球最著名的案例,可能就是啤酒和尿片的故事了。传说沃尔玛研究数据时,发现啤酒和尿片的销量高度相关。啤酒卖得好,尿片也卖得好,反之亦然。沃尔玛发现这个“相关性”后,就把啤酒和尿片放在了一起,果然销量双双增长。后来,人们试图证明他们之间有”因果性“。比如有人说,这是因为老公在回家路上买尿片,顺便拿了两瓶啤酒。你觉得这个“因果性”成立吗?成不成立都不重要了,因为只要有“相关性”,客单价就已经通过连带销售,被提升了。
认知3:人工智能和大数据的关系
一说起人工智能,最直观的想法就是机器能模仿人脑思考。欧洲哲学的基础叫“逻辑学”,它通过人的语言来研究人的思维方式,最终总结出了一套人的思维规律,被称为“形式逻辑”(简称逻辑)。所以,人工智能问题就可以翻译成:如何让机器运用“形式逻辑”来计算?
1956年召开的达特茅斯会议宣告了人工智能的诞生。在襁褓期,各位奠基者们,包括约翰·麦卡锡、赫伯特·西蒙、马文·明斯基等未来的图灵奖得主,他们的愿景就是让“具备抽象思考能力的程序解释合成的物质如何能够拥有人类的心智”,说白了就是,机器应该像人一样运用“形式逻辑”,能够学习、理解、判断、推理。
这类研究方法通常被叫做“鸟飞派”,就是开始设计飞机的人都觉得如果人类想要飞,就得像鸟一样扇动翅膀,结果大家都知道,飞机起飞的原理是空气动力学而不是仿生学。人工智能的研究也陷入到了这个困境中,其中最核心的难题就是让机器运用“形式逻辑”这个思路可能压根就是走不通的,1900年,哥德尔提出了著名的“不完备性定理”从数学角度也给出了否定的答案,这对人工智能可谓是致命的一击。其实,即使不展开定理,用我们的常识来推想也能大致明白,机器像人类一样对知识进行有逻辑的组织和表达存在着天然的困难,根据“张三捡起足球”和“张三在运动场上”这两个命题推断出“足球在运动场上”对机器来说就已经不可想象,更不用说其他复杂、抽象的概念。
虽然在理论研究上没进展,但是自从有了大数据和规模运算能力之后,就对人工智能有了更具体的应用上的诉求:如何用机器对数据进行识别、提取和分析?对应到的技术就是人工智能中的一个分支叫“机器学习”,即从数据中习得学习算法,进而解决实际的应用问题。
认知4:机器学习是怎么工作的
美国华盛顿大学的佩德罗·多明戈斯(Pedro Domingos)对机器学习给出了这样一个定义,机器学习是由三个部分组成,分别是表示、评价、优化。下面围绕这三点解释一下:
1.表示:建立问题与数据的抽象模型
首先是“问题抽象”,即对要解决的真实世界的问题进行抽象化处理,转换成一道逻辑题或者数学题。比如,判断一个短信是不是垃圾短信,结果无外乎两种——“是”或“不是”,那么在算法上看就是一个二分类问题,输出就可以定义成0或1。
接下来就是“数据抽象”,即把对物理世界上的事物用数据来刻画。还是垃圾短信的例子,判断一个客观存在的“短信”是否是垃圾短信,需要哪些特征呢?可能包含了有发件人、某些特殊关键字、短信长度、用户主动反馈的信息等等,把这些数据记录下来就能完成判断。
这个阶段,想要输出模型,很重要的一点就是对问题、现实情况的理解,然后才是算法的选择,而机器,它只能在你完成这些步骤之后才有机会参与进来,做一些具体任务的执行。
2.评价:设定目标函数评价模型性能
设计好模型之后,我们如何评价这个模型的好坏呢?这个时候就需要设定一个目标函数,简而言之,就是用什么指标作为结果,可以清晰的评估出来计算的准确度。回到垃圾短信的例子,我们就可以定义“错误率”这个指标来评价,错误率越低,模型越准确。
通常来说,在分类问题中,“错误率”是个常用的指标,或者说是常用的目标函数。在回归问题中,常用的则是“最小均方误差”。
3.优化:求解目标函数在模型下的最优解
有了目标函数以后,我们要求解这个目标函数在模型之下的一个最优解,这个模型能够获取到的最小错误率,或者最小均方误差是多少呢?结合实际问题的需求,我们要定义一个特定值作为目标,比如每次识别要在1秒内完成,错误率<1%,这样我们再逐步的调整算法来达到目标。
4.小结
总而言之,如果按照最早的人工智能的设定,机器执行的是纯粹的逻辑推理,可以用来模拟“思考”,证明各类问题,是具有一般性、普遍性的。而现在,用机器学习实现的人工智能,则是在给定一些数据的情况之下来做出一定的判断或推理,是问题驱动的,每个过程都是具有一定的特殊性。在这里面,对问题的抽象、对事实的观察、对目标的设定、对算法的选择等等一系列比较困难的事情,还是需要由人来完成。
学习地图
下面终于到重点了,我根据近期学到的东西,列了一张简单的学习地图,做了一个分类,同时把一些听上去怪怪的概念也塞了进去。这个领域很有趣,从科学的角度看,它似乎并没有很“硬”很“新”的知识,从应用的角度看,它又似乎比其他学科更难、涉猎更广一些,不过总体看,它还是一个偏应用类的学科。
总体有四章,希望读后能获得一个全局的、广度上的认识,同时我也把对应的参考书摆了进去,方便深入理解。
- 底层:基础理论
- 中层:大数据技术
- 中层:人工智能技术
- 顶层:一次问题的解决过程
一.底层:基础理论
1.线性代数(linear algebra)
今天的人工智能技术归根到底都建立在数学模型之上,而这些数学模型又都离不开线性代数的理论框架。它的核心思想是,万事万物都可以被抽象成某些特征的组合,并在由预置规则定义的框架之下以静态和动态的方式加以观察。简而言之,它就是一种用虚拟数字世界表示真实物理世界的工具。
相关概念:空间;维度;特征、特征值、特征向量;集合(set);标量(scalar);向量(Vertor);矩阵(matrix);张量(tensor)
参考书籍:《线性代数及其应用》
2.概率论(probability theory)
概率论代表了一种看待世界的方式,它的核心是对随机事件发生的可能性进行规范的数学描述。这里面又分为两种观察角度,第一种叫“频率学派”,他们假设某个事件出现的概率是客观存在且不会改变的,只是作为观察者的我们无从知晓,因此根据事件发生的频率来计算概率;另一种叫“贝叶斯学派”,他们则假设某个事件出现的概率本身是一个变量,会随着观察而发生变化,因此应该随着观察者的每次观察的结果来修正概率值,以确保观察者对概率的主观认识更加接近客观实际。
频率学派使用的概率估计法叫“最大似然估计法”;而贝叶斯学派则使用“最大后验概率法”。
从理论的角度来说,频率学派和贝叶斯学派各有千秋,都发挥着不可替代的作用。但具体到人工智能领域,基于贝叶斯定理的各种方法与人类的认知机制吻合度更高,在机器学习等领域中也扮演着更加重要的角色。
相关概念:大数定律;随机变量(random variable);离散型随机变量(discrete random variable);连续型随机变量(continuous random variable);离散分布(两点分布、二项分布、泊松分布);连续分布(均匀分布、指数分布、正态分布);数学期望(expected value);方差(variance);协方差(covariance)
参考书籍:《概率论基础教程》、《概率论沉思录》
3.数理统计(mathematical statistics)
在现实中,我们很难获得一个事物的全部数据,大部分情况是某一部分数据或某一个时间段的数据,如何用局部的数据来分析整体的规律呢?这就要用到数理统计了。数理统计的能力是通过观察或实验得到的数据(样本),对研究对象的客观规律做出合理的估计和判断。
用买彩票打个比方,概率论解决的是根据已知的摇奖规律判断一注号码中奖的可能性,数理统计解决的则是根据之前多次中奖或不中奖的号码记录以一定的精确性推测摇奖的规律,虽然这种尝试往往无功而返。
相关概念:中心极限定理;样本(sample);总体(population);参数估计(estimation theory);假设检验(hypothesis test);置信区间(confidence interval)
参考书籍:《统计学习方法》、《数理统计学教程》、《统计推断》
4.最优化理论(optimization)
最优化理论研究的问题是判定给定目标函数的最大值(最小值)是否存在,并找到令目标函数取到最大值(最小值)的数值。如果把给定的目标函数看成连绵的山脉,最优化的过程就是判断顶峰的位置并找到到达顶峰路径的过程。
理想情况下,最优化算法的目标是找到全局最小值。但找到全局最优解意味着在全局范围内执行搜索。还是以山峰做例子,全局最小值对应着山脉中最高的顶峰,找到这个顶峰最好的办法是站在更高的位置上,将所有的山峰尽收眼底,再在其中找到最高的一座。
可遗憾的是,目前实用的最优化算法都不具备这样的上帝视角。它们都是站在山脚下,一步一个脚印地寻找着附近的高峰,比如最常用的“梯度下降法”实际就是在山脚下找到一个看上去最陡的坡爬上去,但受视野的限制,找到的峰值很可能只是方圆十里之内的顶峰而已。
此外下,相对于传统的基于数学理论的最优化方法,还有一类收到仿生学影响而诞生的方法,叫“启发式算法”。启发式算法显得返璞归真,它核心思想就是大自然中 " 优胜劣汰 " 的生存法则,并在算法的实现中添加了选择和突变等经验因素。
事实上,搜索越多并不意味着智能越高,智能高的表现恰恰是能够善用启发式策略,不用经过大量搜索也能解决问题。启发式算法的实例包括模拟生物进化规律的遗传算法、模拟统计物理中固体结晶过程的模拟退火算法、模拟低等动物产生集群智能的蚁群算法等等。今天炙手可热的神经网络实际上也是一类启发式算法,它模拟的则是大脑中神经元竞争和协作的机制。
相关概念:目标函数(objective function);全局最小值(global minimum);局部极小值(local minimum);无约束优化(unconstrained optimization);约束优化(constrained optimization);线性规划(linear programming);梯度下降法(gradient descent);牛顿法(Newton's method);置信域方法(trust region);启发式算法(heuristics);遗传算法(genetic algorithm);退火算法(simulated annealing);蚁群算法(ant colony optimization)
参考书籍:《凸优化》
5.信息论
不知你发现没有,生活中一直隐含了这样一个规律:有效信息的数量会影响事物的不确定性程度。比如考试前,你准备的越充分,对知识理解的越深刻、越多,得高分的概率就越大。因此反过来,我们就可以用不确定性、用概率来度量信息。信息论就是用这样的思路为“信息”这一定性的概念提供了一种定量的分析方法。
在这里面,“熵”很重要,它本是在热力学中的概念,描述的是一个系统内在的混乱、无序的程度。后来被克劳迪·香农引用到信息论中,提出了“信息熵”,它可以用来描述一个系统的不确定性,在世界的不确定性和信息的可测量性之间搭建起一座桥梁。
信息论建立在概率的基础上,在机器学习中,常被用来解决分类特征的选择和判断不同概率分布之间的差异。
相关概念:熵;信息熵;条件熵;信息增益;Kullback-Leibler散度;最大熵原理
参考书籍:《信息论基础》
我的科普文章:人类解决问题的基本原理
二.中层:大数据技术(BigData)
数据库又是一套自成一家的知识体系,因为我自己在这里已经有了一些积累,所以反而担心写的不好,我尽量用大白话说清楚。
1.数据系统
为了进行大数据的获取、存储、操作和分析而构建的系统,总体来说有两类:
-
OLTP(On-Line Transaction Processing):也被成为“实时系统”,常用于作为和用户直接打交道的软件的底层数据库,接收到数据后可以快速、实时的处理。
-
OLAP(Online Analytical Processing):为了收集数据做分析而建立的系统,通常都是在面向用户的软件之外单独建设,定时从人家的数据系统中读取数据,进行汇总和分析。
2.数据建模
(1)建模方法论:Inmon和Kimball是两种主流的数据仓库方法论,分别由Bill Inmon和Ralph Kimbal提出,在实际数据仓库建设中,业界往往会相互借鉴使用两种开发模式。
-
Immon data model:先建立一个大仓库,汇总所有的数据,然后在建立为各个部门服务的小仓库,用来做数据分析。其难度在于这个大仓库要符合数据三范式(3NF),简单说就是你必须对通盘的理解业务,而且确保其不会太大的变化,否则这个大仓库就会不停的被调整。对应的建模方法叫“实体关系模型”(ER model)
-
Kimball data model:在各个部门已有的数据仓库基础上抽取解决当前问题所需的数据,建立数据库。它特点是循序渐进,见招拆招,对应的建模方法叫“维度模型”。
总得来说,如果业务确定,可以用ER模型系统的、全面的刻画,比如Teradata公司基于对金融的理解和抽象发布了FSLDM模型。相反,如果业务快速变化,ER模型的应变成本就会很高,此时,就要选择维度模型,聚焦要分析的某一个事件的动作或者事物的状态,进行刻画。
(2)建模过程:不论什么方法,数据建模的过程都具有一定的通用性,就是把真实世界的具有N个维度的立体事物或动作,翻译成在二维的数据表,建模有四个步骤:
-
业务建模:根据对业务的理解,分解、转化问题。
-
领域建模:也叫概念模型,对业务中涉及的概念和关系进行抽象。
-
逻辑建模:用对应的建模方法论把领域模型翻译成“实体和关系”或“动作和维度”。
-
物理建模:把逻辑模型转化为数据库能操作的物理数据表。
3.数据存储和计算
这章侧重实现,以Hadoop来讲可能更容易理解。Hadoop是一个由Apache基金会所开发的分布式系统基础架构,它为大数据而生,非常适合海量数据的处理。Hadoop的构造本身就蕴含着人们处理复杂问题的普遍思想,下面拆解出来看看。
-
HDFS:分布式文件系统,处于最底层,负责存储所有数据。它的理论源于google的一篇论文《The Google File System》,理念是以流式数据访问模式存储超大文件。
-
HBase:基于HDFS的列式分布式存储数据库,擅长实时的读写超大规模数据集。
-
MapReduce:分布式计算模型,也是根据Google的论文实现,它的核心思想是分而治之,把复杂任务拆解为N个小任务,分配给海量的机器去并行计算,最后再汇总计算结果。
整个的数据处理过程是这样的:
-
数据的抽取:把业务软件中的数据库的数据定期导入到HDFS中,可以每次全量导入也可以增量导入。
-
数据转换:业务数据现在已经在HDFS中了,在这一步要做的就是按照计算的要求把数据组织好,这个过程也叫“数据清洗”。
整个过程简称为数据的ETL(Extract-Transfoloa-Load),即将业务系统的数据经过抽取、转换之后加载到数据仓库的过程。接下来,就可以做数据分析了。
4.数据分析
在这个环节,可以根据实际要解决的问题类型,选择对应的分析方法,可以是人工分析、用简单程序实现也可以选择人工智能算法。抛开技术实现,从方法论上总结一下,人类的所有的分析方法好像就四大类:
-
对比:最基本的方法之一,就是比大小。可以横向比、纵向比、多维度比。
-
分类:也是人类的基本能力,理解事物的本质,把一个大类里的事物拆分,找到把相似的元素打一个标签,放到一起。比如对客户的分类,可以分大客户、中客户、小客户,和对比一样,它的难度在于事物的多面性,到底应该按什么维度分类呢?构成要素、属性还是行为。
-
聚类:分类的反向,找到看似不相关的事物的相似性,放到一起。比如找到上千个有个性的客户的共同需求,聚在一起,批量的满足他们。分类和聚类其实本质是一样的,只不过出发点不同,分类是从整体出发进行细分,聚类则是从每个事物的特点出发进行聚合,但是其结果都是一个个的类别。
-
找逻辑关系:找到事物之间的因果关系或相关关系,这里常用的数学方法就是线性回归和逻辑回归。此外,分解事物的结构,找到结构之间的关系也可以放到这里。
这里不得不提一下“预测”,从数据分析的角度理解,预测是期望在历史数据中找到规律去判断未来的形式,当然,这很难,甚至可能就没规律。比如很多人喜欢研究历史,说要“以史为鉴”,实际情况是,历史的记载很可能只是把某些单点的、偶然的事件连起来形成的故事,“存在着某种规律”也许只是人美好的愿望。所以预测到底算不算一个方法,我不太能拿的准。而从机器学习的角度看,“预测”又有其他的含义,比如根据100个人脸数据学习经验后,判断101个人,不过我自己感觉叫“识别”更准确一些。
最后,从数学、统计学角度还有很多方法,偏技术实现层面,此处就不一一列举了。
参考书籍:《大数据之路》、《Hadoop海量数据处理》《企业经营数据分析》、《深入浅出数据分析》
三.中层:人工智能技术(Artificial Intelligence)
1.机器学习(machine learning)
机器学习其实就是简化版的人类学习,它的过程是,先让计算机基于已有数据构建概率统计模型,再运用模型对新数据进行预测与分析。
它所定义的“预测”,更像是“识别”,比如一个简单的场景,从认识的1万个人中学习亚洲人和欧美人的特征,然后判断新来的人是亚洲人还是欧美人。
根据输入输出数据类型,预测问题可分为三类:
-
分类问题,输出变量为有限个离散变量,当个数为 2 时即为最简单的二分类问题。将连续取值的输入映射为离散取值的输出,常用算法是“朴素贝叶斯方法”和“逻辑回归”;还有另外一种思路叫“决策树算法”,它采用树形结构,使用层层推理来实现最终的分类;此外,**“支持向量机”也是一种二分类算法,通过在高维空间中构造超平面实现对样本的分类。
-
回归问题:输入变量和输出变量均为连续变量;常用的算法有“线性回归”,按分析的属性数量,可分为单变量和多变量,按惩罚项不同则可以分为岭回归和LASSO 回归)。
-
标注问题:输入变量和输出变量均为变量序列。
根据输入数据(称为训练数据)是否已经被明确的分类(称为打标签),又对应三种学习过程:
- 监督学习:基于已知类别的训练数据进行学习。
- 无监督学习:基于未知类别的训练数据进行学习。
- 半监督学习:同时使用已知类别和未知类别的训练数据进行学习。
受学习方式的影响,目前效果较好的学习算法执行的都是监督学习的任务。包括号称自学成才、完全脱离了对棋谱依赖的 AlphaGo Zero。
不过有一种场景,只能使用无监督学习,就是对用户进行分组与归类时需要用到的聚类分析,它的能力是学习没有分类标记的训练样本,以揭示数据的内在性质和规律。分类和聚类的区别也正在于此,分类是先确定类别再划分数据;聚类则是先划分数据再确定类别根据形成聚类方式的不同。聚类算法可以分为层次聚类、原型聚类、分布聚类、密度聚类等几类。
最后,再总结一下机器学习中提升预测性能的思路,叫做“集成学习”,使用多个个体学习器来获得比每个单独学习器更好的预测性能。其中一个典型的并行化学习方法叫“随机森林方法”,正所谓“独木不成林”,随机森林的能力就是对多个决策树模型进行集成。
此外这里面还有很多艰深、晦涩的概念,此处不一一列举,细节和公式可在“西瓜书”中找到。
2.深度学习(deep learning)
(1)人工神经网络(Artificial Neural Networks)
了解深度学习之前必须掌握的概念就是人工神经网络。
当下,人工智能主流的研究方法叫连接主义,这个学派并不认为人工智能源于逻辑,也不认为智能的关键在于思维方式。这一学派把智能建立在神经生理学和认知科学的基础上,强调智能活动是将大量简单的单元通过复杂方式相互连接后并行运行的结果。基于以上的思路,通过人工构建神经网络的方式来模拟人类智能,这就是“人工神经网络”。
例如,我们可以把一幅图像切分成图像块,输入到神经网络的第一层。在第一层的每一个神经元都把数据传递到第二层。第二层的神经元也是完成类似的工作,把数据传递到第三层,以此类推,直到最后一层,然后生成结果。
神经网络的特点是它的结果是调制、训练出来的,时不时还是很容易出错的。它最需要的,就是训练,需要成百上千甚至几百万张图像来训练,直到神经元的输入的权值都被调制得十分精确。
(2)深度学习
深度学习的概念源于人工神经网络的研究,它受启于视觉神经系统的感受方式,利用多个隐藏层模拟视觉过程。第一个隐藏层学习到“边缘”的特征,第二个隐藏层学习到的是由“边缘”组成的“形状”的特征,第三个隐藏层学习到的是由“形状”组成的“图案”的特征,最后的隐藏层学习到的是由“图案”组成的“目标”的特征。当然,这样的识别思想不仅适用于视觉信息的处理,对其他类型的信息同样适用。
虽然关于认知的理论早已成熟,但真正推动深度学习走到聚光灯下的还是工程上的两大进步,也就是数据的井喷和计算力的飙升。在目前的算法水平上,要提取出复杂的深层特征,必须要以大量训练样本为基础。简单的数据集只会让深度学习“消化不良”,因而大数据和深度学习的搭配称得上天作之合。
另一方面,多个隐藏层的使用引入了大量隐藏神经元,这使得深度神经网络的参数将以指数形式增加,给网络的训练带来沉重的计算负荷。而基于向量和矩阵计算的图形处理单元(graphical processing unit, GPU)完美解决了这一问题,其庞大的处理吞吐量能够使深度神经网络的训练显著提速,因而也成了深度学习的标配硬件。如果说深度学习是一台探矿机,大数据就是那座有待挖掘的金矿,计算能力的进展则为这台探矿机提供了源源不断的动力。
尽管取得了很多成果,但关于深度学习技术的争论正显出愈演愈烈的趋势,研究者批判深度学习的一个焦点在于其缺乏坚实的理论基础。在机器学习和浅层神经网络中,绝大部分最优解的最优性都是可以证明的。但在深度学习中,很多结果都是经验性而非理论性的,隐隐透出一丝看天吃饭的无力感。
常见的深度学习模型:
- 深度前馈网络(Deep Feedforward Network)
- 卷积神经网(Convolutional neural network)
- 循环神经网络(Recurrent Neural Network)
- 生成式对抗网络
- 长短记忆网络
参考书:《机器学习》(也叫西瓜书)、《深度学习》、《信息论、推理与学习算法》
四.顶层:一次问题的解决过程
- 问题分析与识别:todo
- 数据的采集和预处理:todo
- 数据的存储:todo
- 数据的分析和挖掘:todo
- 数据的可视化:todo
总结
这篇学习总结还在迭代更新中,为我自己,也为你们。当然,这里面还有海量的东西我没搞明白,主要是时间不够,资质也有限,不过隐约中我能感觉到,在里面最难的似乎还是机器无法替代的部分,比如对实际问题的定义和理解,对现实事物的观察和刻画,对空间、时间、准确率等各类指标平衡性的选择,对我自己而言,出一道有解的好题可能要比具体解一道题要困难一点,不会解题我可以去请教,总有聪明的人会,但是能不能消化足够的真实信息,能不能把事情想清楚,能不能问出一个好问题,能不能把题目出出来,似乎就只能靠自己了。
网友评论