22

终极算法-读书笔记(200912)

 3 years ago
source link: http://blog.sina.com.cn/s/blog_493a84550102z93v.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

这本书籍的全名《终极算法-机器学习和人工智能如何重塑世界》,最近读完这本书,整体感受书籍的含金量相当高,而且本书整体的易读性很好,,没有想像的那么多枯燥的理论和公式,通过浅显的方式把复杂的道理讲解清楚。

因此今天对本书的核心内容做一些梳理和整理归纳。

机器学习算法综述

首先在序里面就谈到了机器学习算法和传统计算机算法不同,它从数据中做推断,它们自己会去弄明白做事的方法。简单来说,原来的计算机算法往往是我们已经知道了算法,然后把特定的问题域匹配到具体的算法上,然后让机器去计算出结果;而现在的机器学习算法是人不知道算法,只知道大量的数据(包括输入和输出),而需要机器从这些数据的学习和训练中推导出算法,这就是最大的不同点。即:

  • 传统算法: 算法和公式已知,计算机基于已于的算法公式进行计算
  • 机器算法: 历史数据已知,计算机根据数据自己训练和推导算法,并持续迭代

机器学习算法在重塑整个世界,包括科学,技术,政治,经济,战争的方方面面。

机器学习算法的基础是数据,这个数据包括了数据的输入,也包括了最终的输出结果,而学习算法要做的就是 从大量的输入和输出中找出最恰当的算法公式 ,因此数据量越大越多,往往算法最终的准确度就越高。

在序里面提到了一个关键,即心理学家丹诺曼提出的概念模型,代指为了有效利用某项技术而需要粗略掌握的知识,而不需要深入到这个知识内部的具体原理。注意这个和我在前面讲学习方法和模式的时候就谈到过,刚开始要不求甚解,而这个不求甚解需要掌握的就是这个概念模型。

机器学习的五大学派,后面的第3章到第7章就是围绕这五大学派详细展开描述。

  • 符号学派:将学习看作逆向演绎,并从哲学,心理学,逻辑学中寻求洞见。
  • 联结学派:对大脑进行逆向分析,灵感来源于神经科学和物理学。
  • 进化学派:通过计算机模拟进化,利用遗传学和进化生物学知识。
  • 贝叶斯学派:学习本质是一种概念推理,其理论根基在统计学。
  • 类推学派:通过相似性判断的外推来进行学习,并受心理学和数学最优化影响。

机器学习的革命

注意书里面有一段关键的内容来解释传统算法和学习算法的区别。

传统的算法是你将数据输入到计算机,计算机本身是利用算法来进行计算和处理,最终输出你需要的结果;而机器学习算法刚好是颠倒的,即你输入到计算机中的是输入数据和输出数据,而计算机最终输出给你的是有价值的算法。这就是两者最大的区别。

这个算法需要不断的学习和训练,因此数据量和样本数越多,算法就越准确。注意为什么最终会得出这个算法,这个算法存在的逻辑是如何的?计算机也搞不清楚,本身也不需要搞清楚,计算机只知道这个最终输出给你的算法是最匹配已有历史输入和输出数据的。

在机器学习中, 知识往往是以统计模型的形式存在,而技能则是以程序的形式存在。

这句话有点难以理解,我们可以把这个简化描述下,即:

if(知识点X1,知识点X2,...,知识点XN) Then or You Should do(知识点XY)

人的思考和经验积累也一样,即不是单纯的积累知识点,而是应该积累上面这种经验模式或者算法模式。这和我上篇文章谈的知识和经验中的一些观点又是相同的。

比如用上面类似神经网络的一个构图来解释,即当你工作到一定时间后,比如8年,10年后你会发现真正新产生的知识点越来越少,但是虽然新的知识点越来越少,但是你的工作经验却完全可能越来越多,对于两个人的竞争而言,在工作的后期已经不是知识点数目的竞争,而是知识点能够串接为有价值的方法论和模式(经验)的竞争。

用上面这个图就可以很好的解释这个问题,两个图里面圆圈代表知识点,在两个图里面的数目是一样的,但是左边的图可以看到可能只形成了6种做事情的经验模式,而对于右边虽然知识点数目一样,但是通过反复的实践积累,形成了6*6种新的经验或模式。

常人是形成N种经验模式,而对于善于实践,思考和总结的人可能则形成N*N种经验模式,也就是说个人的经验能力一定是这种多知识点串联匹配并解决问题的能力,而不是单知识点简单匹配的能力。也就是我们说的: 同样的知识点经过大量的反复实践,可以形成指数级的经验模式库。

在公司发展壮大后,往往会经历三个阶段:

工业革命是手工业自动化,而机器学习使自动化本身自动化。:

  1. 所有事情都人工完成。
  2. 所有事情或大部分事情通过计算机自动完成。(但是思考并形成算法是人做的)
  3. 部分思考被机器替代。(即机器本身通过学习自己产生算法,而替代人的思考)

对于机器学习算法本身,其方法本身和人类的思考方法也是类似的,即产生假设,验证,放弃或完善,反复的修正和迭代。

那么人形成算法的过程和机器最大的区别在哪里的?

  1. 人往往是期望通过最少的现场归纳出普适的定律或法则,形成解释世界的精确模型。
  2. 机器则是通过大量数据,自我训练和学习得出最终算法,这种算法逻辑不需解释。

但是在人的算法过程中,并不是所有的现象都是线性的,都可以用模型精确描述,包括后面人类遇到的NP难题等,往往并没有一个精确模型或最优解。而机器学习则打开了这个全新的非线性模型世界。

终极算法

发明一种通用的算法可以归结为发现宇宙最深层次的规律,所有现象都遵循该规律,然后找出计算的有效方法来将其和数据结合起来。

注:这有点道德经里面一生二,二生三,三生万物的味道。

本书的一个重要假设是: 所有知识,无论是过去,现在还是未来的,都有可能通过单个通用学习算法来从数据中获得,我们将该算法称为终极算法。

机器学习算法的首要任务是区别可以预测的事与不可预测的事。但是终极算法的目标则是学习一切能够认知的东西。在机器学习中,复杂性存在于数据中,而终极算法要做的就是消化这种复杂性。

终极算法就是等式U(X)=0

这个公式要表达的是某未知数X(可能很复杂)的某函数U(可能很复杂)等于0。每个等式都可以简化为这种形式:

例如, F=ma等于F-ma=0,如果你把F-ma当作F的一个函数U,则U(F)=0。

最后再来说明下对五大学派的阐述:

  • 符号学派:所有的信息都可以简化为操作符号
  • 联结学派:学习就是大脑要做的事情,因为我们要做的就是对大脑逆向演绎
  • 进化学派:所有形式的学习都源于自然选择
  • 贝叶斯学派:所有掌握的知识都有不确定性,学习知识过程也是一种不确定性推理
  • 类推学派:学习的关键是认识到不同场景中的相似性,并由这种相似性推导出其他相似性

五大学派

这是终极算法这本书的第二部分读书笔记,主要是记录书里面谈的五大学派,即符号学派,联结学派,进化学派,贝叶斯学派和类推学派。

这部分的内容有些地方可读写并不是太好,包括对于每一个学派你读完后实际上很难真正抓住里面的核心内容,包括对某类算法的核心逻辑和演进过程也较晦涩。比如对于里面联结学派的神经网络,贝叶斯算法和隐式马尔科夫链,相信你读吴军博士的《数学之美》往往更加容易理解。

符号学派

我们顺着书里面章节的内容可以看到的是逻辑推理,基于假设并验证,规则和分类集,归纳和逆向演绎,分而治之和决策树模型,方差和偏差这些关键字。

你可以了解到的是符号学派 强调逻辑和推理,也强调了基于先提出假设并进行归纳和验证 。在章节最后我们看到有一个关键总结即所有和智力相关的工作都可以理解为对符号的操纵, 符号主义是通往终极算法的最短路径。

接着我们可以在百度百科找到关于符号主义的总结,感觉更加容易理解,即:

符号主义(Symbolism)是一种基于逻辑推理的智能模拟方法,又称为逻辑主义(Logicism)、心理学派(Psychlogism)或计算机学派(Computerism),其原理主要为物理符号系统(即符号操作系统)假设和有限合理性原理,长期以来,一直在人工智能中处于主导地位,其代表人物是纽威尔、肖、西蒙和尼尔森。

该学派认为: 人类认知和思维的基本单元是符号,而认知过程就是在符号表示上的一种运算。

它认为人是一个物理符号系统,计算机也是一个物理符号系统,因此,我们就能够 用计算机来模拟人的智能行为 ,即用计算机的符号操作来模拟人的认知过程。

这种方法的实质就是模拟人的左脑抽象逻辑思维,通过研究人类认知系统的功能机理,用某种符号来描述人类的认知过程,并把这种符号输入到能处理符号的计算机中,就可以模拟人类的认知过程,从而实现人工智能。可以把符号主义的思想简单的归结为“ 认知即计算 ”。

从符号主义的观点来看,知识是信息的一种形式,是构成智能的基础,知识表示、知识推理、知识运用是人工智能的核心, 知识可用符号表示,认知就是符号的处理过程,推理就是采用启发式知识及启发式搜索对问题求解的过程,而推理过程又可以用某种形式化的语言来描述 ,因而有可能建立起基于知识的人类智能和机器智能的同一理论体系 。

而上面黑色加粗部分才是符号学派的核心内容。我们抓住这个核心基本就对符号主义有了完整的理解,即 从知识到符号,从认知到符号计算,从问题求解到符号的逻辑推理。对于早期的牛顿定理,各种物理学公式,通过符号对自然现象的精确表达,从结果到原因的逻辑分析都可以算做是符号学派的例子。

联结学派

联结主义相信知识是存储在神经元之间的联结关系中。在这里我的里是知识点仍然是存储在神经元中,而认知能力则是存储在各个神经元之间的单一或复杂的联结关系中。这和我前面谈到的知识和经验中一些观点匹配的,即 一个人真正的认知或经验能力强,一定是充分启发了自我神经元间的联结关系。

  • 符号学派:符号和概念一一对应,并且是按照次序的。
  • 联结学派:神经元和概念是分散式的,并且认知过程可能是并行进行的。

正是由于这个原因,计算机晶体管的数量已经赶上了人类大脑神经元的数量,但是在连接数量上,人类的大脑轻易获胜。特别是在图像或语音识别上,人类大脑的并行处理过程相当复杂。

那是否能够抽象一个类似人类大脑神经元和神经元间连接的模型出来?

基于这个思路在1943年提出了神经元模型,即最早的感知器,而在感知器上需要解决的关键问题就是连接线和连接线的权值问题。从单层的感知器到多层和多步骤的感知,就形成了神经网络模型的基础。而对于神经网络模型,在前面博客文章中也谈到过是深度学习算法的一个基础模型,其核心内容就是分了多少层? 以及模拟神经元之间连线的权重。

吴恩达是人工智能和机器学习领域的权威学者,也提到人类智能可以最终归结为单个算法。从其负责的叠加自动编码器深度学习算法项目,再到以玻尔兹曼机器为基础的卷积神经网络,神经网络模型和相应的深度学习算法在图像识别,语音识别,新药研制,自动驾驶等方面都取得了不小的成功。

联结再简单点来说就是仍然基于大量的历史训练数据,在已知输入和输出的情况下,构建复杂的神经网络模型,并计算最恰当的网络连接和联结权重的过程。

进化学派-自然的学习算法

人类可以进化,那么我们可以假设到对于机器本身也可以自我进化和学习,而这种学习过程即进化学派里面谈到的遗传算法,遗传算法的 关键是适应度函数 ,给出一个特定程序和某个设定的目标,适应度函数会给程序打分,反映它与目标的契合度。

遗传算法的过程就是 不断的持续迭代,当达到某个理想的适应度就结束。

对于遗传算法本身,我们仍然参考百度百科的定义解释的更加清楚,即:

遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。

遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的,而一个种群则由经过基因(gene)编码的一定数目的个体(individual)组成。每个个体实际上是染色体(chromosome)带有特征的实体。染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现(即基因型)是某种基因组合,它决定了个体的形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。

因此,在一开始需要实现从表现型到基因型的映射即编码工作。由于仿照基因编码的工作很复杂,我们往往进行简化,如二进制编码,初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代(generation)演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度(fitness)大小选择(selection)个体,并借助于自然遗传学的遗传算子(genetic operators)进行组合交叉(crossover)和变异(mutation),产生出代表新的解集的种群。

这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码(decoding),可以作为问题近似最优解。

遗传算法也是计算机科学人工智能领域中用于解决最优化的一种搜索启发式算法 ,是进化算法的一种。这种启发式通常用来生成有用的解决方案来优化和搜索问题。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择以及杂交等。遗传算法在适应度函数选择不当的情况下有可能收敛于局部最优 ,而不能达到全局最优。

该书的P175页提到了先天和后天的概念,这部分也是相当重要的内容,即演化新论注重结构,而联结学派注重权重,但是任何好的学习算法一定包括了结构学习和权值学习两部分的内容。进化是寻求好的结构,而神经网络学习则填满这个结构,这样的结合才是终极算法最简单的一步。

从神经网络到深度学习

在这里先补充下对原来深度学习内容的一个整理。

深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。

深度学习的概念由Hinton等人于2006年提出。基于深度置信网络(DBN)提出非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,随后提出多层自动编码器深层结构。此外Lecun等人提出的卷积神经网络是第一个真正多层结构学习算法,它利用空间相对关系减少参数数目以提高训练性能。

人工神经网络本质是有向图

人工神经网络 ( Artifical Neural Network),标志着另外一种自下而上的思路。神经网络没有一个严格的正式定义。它的基本特点,是试图模仿大脑的神经元之间传递,处理信息的模式。

人工神经网络描述本质是一种特殊的有向图。这个有向图包括了一个或多个输入X,中间多个隐含层S,一个输出的结果Y。其中有向图的节点即是神经元,而连接弧即是神经。

这种流向图的一个特别属性是深度(depth):从一个输入到一个输出的最长路径的长度。

对于神经网络的有向图还具备如下特点:

  1. 所有的节点都分层,每层节点通过弧连接指向下一层节点,但是同层没有弧连接。
  2. 每条弧连接上都有权重值,根据权重值和上一个节点值就很容易计算出当前节点值。
  3. 各层之间不能跨层进行连接。
  4. 最终的神经元函数只能对输入变量线性组合结果进行一次非线性变换。

核心算法

人工神经网络在设计的时候有两个重点, 一个是它的结构,即网络分几层,每层分几个节点;第二个就是非线性函数f(.)的设计,常用的函数是指数函数。

神经网络的计算模型,依靠大量的数据来训练,在进行训练前首先要定义成本函数,而成本函数简单来说就是通过机器学习得出的结果和实际结果间的差距,或者说训练值本身的靠谱程度。

而学习和训练的算法即是根据成本函数的结果, 自学, 纠错, 最快地找到神经元之间最优化的加权值。神经网络算法的核心就是:计算、连接、评估、纠错、疯狂培训。

对于学习的过程可以看到由于有多个S隐含层,因此隐含层越多,整个学习的复杂度和成本越大,整个学习过程也是一层一层逐步进行学习。

神经网络训练

整个神经网络的训练分为 有监督的训练和无监督的训练。

有监督的训练: 即准备训练的数据样本的x输入,同时本身有y输出,我们需要的是将深度学习完成后的y1和我们期望的y进行差距比对,来最终确定训练结果中选择哪个权重系数最合适。简单来说,就是有了训练数据,定义了一个成本函数C,然后按照梯度下降法找到让成本达到最小值的那组参数。

无监督的训练, 则是只有输入数据X,而没有对应的输出数据Y,这样上面的成本函数就无法定义。因此我们就需要定义一个新的成本函数,该成本函数能够在不知道正确的输出结果值的前提下,确定训练出来的模型究竟是好还是坏。

深度学习当前主要应用在计算机视觉,语音识别,自然语言处理等领域。

贝叶斯学派

对于贝叶斯学派来说,学习只是另外一种形式的概率推理。你需要做的仅仅是运用 贝叶斯定理 ,把假设当作可能的原因,把数据当作观察到的效果。

对于贝叶斯理论和隐式马尔科夫链的描述个人认为仍然没有《数学之美》这本书描述的浅显易懂。因此这本书内容也可以参考《数学之美》和网上的参考资料进一步学习。对于贝叶斯学派有一个重点,就是将我原来的精确模型转变为了基于统计学思维的概率模型,其次是给出了一种从结果反推原因的一种可能。

基于统计学的思维真正当前深度学习和人工智能中的一个关键点 ,包括大数据相关技术的发展,都为基于大量数据训练和统计分析思路,来逆向推导模型成为了可能。而对于贝叶斯公式重点就是条件概率,贝叶斯理论的应用场景很多,如在互联网领域中的语义和词法分析,知识聚类,互联网垃圾邮件的过滤等,都可以基于贝叶斯理论为基础,进行条件概率的反向推倒。

逻辑和概率,一对不幸的组合: 贝叶斯学派和符号学派一致认为,先验假设不可避免,但对他们认可的先验知识的种类却存在分歧(P224页),显然我们既需要逻辑,也需要概率。将联结学派和进化学派结合起来相对简单,只要改善网络结构,利用反向传播来掌握参数。但是将逻辑和概念统一起来却困难的多。多数专家认为将逻辑和概率相统一是不可能的,寻求一个终极算法的前景并不乐观。

对贝叶斯公式补充说明

首先我们看下百度百科关于贝叶斯公式的基础定义:

贝叶斯定理由英国数学家贝叶斯 ( Thomas Bayes 1702-1761 ) 发展,用来描述两个条件概率之间的关系,比如 P(A|B) 和 P(B|A)。按照乘法法则,可以立刻导出:

P(A∩B) = P(A)*P(B|A)=P(B)*P(A|B)。

如上公式也可变形为: P(B|A) = P(A|B)*P(B) / P(A)。

那么对于上述公司的理解即是 当我们知道B发生的时候A成立的概率的时候,是可以反推A发生的时候B成立的概率的,但是前提是还需要知道两个先验概率,即P(B)和P(A)。

看个例子进行说明如下:

一座别墅在过去的 20 年里一共发生过 2 次被盗,别墅的主人有一条狗,狗平均每周晚上叫 3 次,在盗贼入侵时狗叫的概率被估计为 0.9,问题是:在狗叫的时候发生入侵的概率是多少?

那结算的时,我们假设 A 事件为狗在晚上叫,B 为盗贼入侵,则以天为单位统计:

P(A) = 3/7,P(B) = 2/(20*365) = 2/7300,P(A|B) = 0.9

按照公式很容易得出结果:P(B|A) = 0.9*(2/7300) / (3/7) = 0.00058

即要知道P(B|A)首先要有两个独立的先验概率,即狗叫的概率和歹徒入侵的概率。

我们再来看一个场景:

若某人已患禽流感,那么指标A检验结果为阳性的概率为90%。那如果我们要分析张三检验结果为阳性,究竟患禽流感的概率有多大呢?即需要计算P(B|A),B为禽流感的概率。

要计算这个,首先我们要知道P(B)的值,如果根据历史数据禽流感的患病率为1/1000。知道了这个后我们还需要知道P(A)的值是多少,即检查结果为阳性的概率是多少?

那么P(A)如何结算的,可以看到阳性概率我们可以转换计算,即阳性的检查概率应该等于患病的人检查未阳性的概率+未患病的人检查未阳性的概率。

即P(A)=P(A|B)*P(B)+P(A|-B)*P(-B)

上面的公式可以转换为P(B|A) = P(A|B)*P(B) / P(A)=P(A|B)*P(B) / P(A|B)*P(B)+P(A|-B)*P(-B)

  • P(A|-B)解释起来就是,如果某人没有患禽流感,但是检查结果为阳性的概率。
  • P(A|B)-若某人已患禽流感,那么指标A检验结果为阳性的概率为90%
  • P(A|-B)-若某人未患禽流感,那么指标A检验结果为阳性的概率为9%
  • P(B)-禽流感的整体患病率为0.1%

知道了这几个数据,我们同样可以计算得出当检查结果为阳性时候的患病概率。即贝叶斯公式最大的功劳是解决了两个条件概率之间的关系和互求问题。

对于中间的公式转换我们也说清楚了,当要计算反向的条件概率的时候,你可以去找两个独立的先验概率,即A发生的概率和B发生的概率。也可以只找一个先验概率,将另外一个概率转换为非B情况下的条件概率。

贝叶斯理论的应用场景很多,如在互联网领域中的语义和词法分析,知识聚类,互联网垃圾邮件的过滤等,都可以基于贝叶斯理论为基础,进行条件概率的反向推倒。

类推学派-像什么就是什么

类比是推动许多历史上最伟大科学进步的动力。在这部分讲了两个算法, 一个是最相邻算法,一个是支持向量机 ,对于这两个算法简单解释如下:

何谓K近邻算法,即K-NearestNeighbor algorithm,简称KNN算法, K个最近的邻居,当K=1时,算法便成了最近邻算法,即寻找最近的那个邻居。也即是给定一个训练数据集,对新的输入实例(或者说是给定的数据集),在训练数据集中找到与该实例(数据集)最邻近的K个实例,这K个实例的多数属于某个类,就把该输入实例分类到这个类中。

对于最相邻算法可以看到我们现在进行大数据分析中的聚合分析的时候经常采用。

在机器学习领域, 支持向量机SVM(Support Vector Machine)是一个有监督的学习模型 ,通常用来进行模式识别、分类以及回归分析。Vapnik等人在多年研究统计学习理论基础上对线性分类器提出了另一种设计最佳准则。其原理也从线性可分说起,然后扩展到线性不可分的情况。甚至扩展到使用非线性函数中去,这种分类器被称为支持向量机(Support Vector Machine,简称SVM)。支持向量机的提出有很深的理论背景。

支持向量机方法是在后来提出的一种新方法。

SVM的主要思想可以概括为两点:⑴它是针对线性可分情况进行分析,对于线性不可分的情况,通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,从而 使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能。

对五大学派的进一步说明

符号学派的核心,即所有的知识都可以用抽象的符号来表达 ,而我们认知的过程即是对各种符号的加减乘除。从这个意义上来说传统的数理化都可以理解为符号学派,即我们对世界现象的观察都最终抽象为符号,同时由各种符号在组成一个个精确的模型,而这就是归纳和逆向演绎的过程。

当然,有了前人的总结和归纳,后人往往只需要进行演绎和应用即可,即当我们拿到输入后只需要经过这种模型计算最终就得到我们期望的输出。

符号学派是精确模型,认为世间现象是可以精确描述的,希望通过精确模型来解释。 而我们认知的过程往往又是希望通过最少的现象进行总结和归纳得出一个可以演绎所有现象的模型。那这里面就会有一个关键的问题,即:

由于所有现象没办法穷举,导致我们最终得出的模型本身是错误的 ,一个方法或定理只要有一个现象用以证谬,那就不会在成立,即使现在成立也很可能是我们没有找到证谬的现象。

那这里面就有一个观点,即:

从观察现象-》进行归纳-》提出假设,然后还需要对假设进行验证 ,只有经过进一步被实验或其它演绎推理论证成立的假设才可能形成真正的科学模型指导后续实践。

符号学派的另外一个重点就是if.. Then结构 ,即如果输入满足什么条件,那么我们就可以应用什么模型来解决我们面对的问题,我们将这些规则和模型输入到计算机中,那么计算机就可以基于预设的这些内容进行计算和学习,或者连学习都谈不上,只是计算机有了类似人一样的知识库和知识匹配模式。

那么在这种情况下就会变成 算法和模型是已知的,匹配规则是已知的,计算机要做的就是等待输入,通过匹配规则选择最恰当的算法来解决问题。

符号学派核心逻辑是归纳和演绎推理,表达方式是通过符号的形式化表达。

从符号学派到联结学派和进化学派

这个理解清楚后再来看联结学派和进化学派,对于这两个学派其实有很多的相似,但是都体现了学习的概念,即计算机的自我学习能力。而任何学习最基本的要求就是需要有训练集和测试集,同时需要有一个基本的模型框架结构,通过学习只是对模块框架里面的参数进行调整。

而这两个学派的内容可以看到基本都满足上面的关键特征, 即一开始我们并不知道精确模型究竟是如何的,而是需要通过学习和训练才能得出精确模型。

对于联结学派中的神经网络,其核心支撑基础是 模拟大脑的神经元和神经网络模型 ,认为神经元存储的仅仅是离散的知识点,而神经元之间的联结往往才是最重要的,这和符号学派里面强调的单一符号是离散知识点,而通过符号形成的最终认知模型才是最重要的。

对于遗传学派中的遗传算法,则是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通 过模拟自然进化过程搜索最优解的方法。遗传算法的关键是适应度函数 ,因此遗传算法持续迭代就是不断的逼近到我们期望的达到目标的适应度。

对于遗传算法可以进一步总结为不断提升适应度的过程,而首先则需要通过编码后形成一个初始化的种群,通过适应函数去考核每个基因的生存能力,然后选择交叉变异去实现进化,搜索出种群的近似最优解。

其关键步骤即:

初始化种群-》适应选择-》交叉变异-》适应度选择-》持续迭代。

对于神经网络一定需要大量的训练数据进行训练,而对于遗传算法类似启发式持续迭代搜索最优解的过程,神经网络有大的框架和模型结构,而遗传算法即使最终得出最优解往往也并没有实际从逻辑上去解释的模型结构。

对于贝叶斯学派我更愿意理解为 大数据环境下的统计学思维学派 ,这个学派的产生具有重点颠覆性的意义,即从精确到概率,从确定到不确定,从小范围抽样到全集,从输入+模型=》输出变化到输入+输出=》模型,从原因到结果发展到能够从结果逆向分析原因。所有这些内容都在贝叶斯学派完成。

对于这部分内容和演讲过程在吴军博士的《智能时代》这本书解释的相当清楚,即:

机械思维(传统的符号学派)完全建立在确定性的基础上,而信息论则完全相反,建立在不确定性(假设)基础上,要消息不确定性就必须引入信息。

于是我们的思维逻辑发生进一步变化,即从机械思维到大数据思维的转变。

复杂时间很难找到确定性和因果关系-》因此用不确定性眼光看待世界-》把智能问题转化为消除不确定性的问题-》找到消除相应不确定性的信息(或者说大量具有相关性的数据可以帮助我们消除这种不确定性)。

这里面有一个关键,即 我们通过输入-》算法-》输出,这个算法并不是可以精确表达的,或者你都不清楚究竟这个算法是什么,也不能用符号精确描述,但是这个算法却从统计学思维上最终给了你最有价值的输出。

我们不断在找寻终极算法,但是面对世界的复杂性,越是采用符号学派的思路越难真正找到一个可以解释所有现象的精确模型,而面对这种复杂和不确定性,在有了大量历史数据积累的情况下,真正该有的思路即用大数据思维看待这种不确定性,去寻找能够消除这种不确定性的最优算法,而这个算法本身又是计算机有了人工智能后不断的自我学习,训练和进化而来的。

对吴军《智能时代》相关内容整理

前面谈到的吴军老师的《智能时代》,对里面和算法和学习相关内容整理:

我们认识世界的方式是如何的?

这是这本书带来的第二个有价值的点,即我们认识世界的方式一直在转变,人类不断的在采集信息,又将信息转变为知识,再将知识转变为认识和改造世界的方法论。人类文明的过程可以简化为:

获取数据-》分析数据-》建立模型-》预测未知

而在古希腊和古罗马文明时代,这里面有出现两个点:

其一是模型可能是错的或者被复杂化 ,其原因是我们建立模型前由于我们认知局限,导致建立的假设本身就是错的?例如托勒密的天体运行轨道模型,基于地心说+圆形轨道假设建立;

其二是我们的模型是定性的,即我们很难有抽象的数学公式,并定量的去描述一个模型。 而这些形成形成科学体系,要到近代科学家牛顿。

牛顿最直接的贡献,在于他用简单而优美的数学公式破解了自然之谜,其发表的巨著《自然哲学之数学原理》中,用简单公式破解了宇宙万物运行规律,其伟大成就就是宣告了科学时代的来临。

那么在这个阶段最核心的就是机械思维,这种思维的核心包括了三点:

  • 其一是世界变化是有规律可循的
  • 其二是规律本身是有确定性可循的,并且可以用数学公式来精确表达;
  • 其三是这些规律可以用到未知领域指导实践,改造自然。

从这三点核心上也可以看到机械思维在前面几次工业革命上带来的巨大推动作用和价值。

有果必有因,有现象必能找到确定性,有确定性必能用精确模型描述。

但是机械思维发展中出现两个问题,即有些时候我们没有办法做到精确建模,这本身又有两个原因, 其一是对目标Y造成影响的X因子太多,无法穷举和认知全;其二是我们测量系统出现问题,简单来说采集不全和测量不准。 这些都对我们确定性思维造成挑战。

解决该问题本身又有两种思路:

  • 其一是概率和统计
  • 其二是对信息不确定性的量化表达-信息论和信息熵(香农)。

机械思维完全建立在确定性的基础上,而信息论则完全相反,建立在不确定性(假设)基础上,要消息不确定性就必须引入信息。于是我们的思维逻辑发生进一步变化,即从机械思维到大数据思维的转变。

复杂时间很难找到确定性和因果关系-》因此用不确定性眼光看待世界-》把智能问题转化为消除不确定性的问题-》找到消除相应不确定性的信息(或者说大量具有相关性的数据可以帮助我们消除这种不确定性)。

而这些大量的具备相关性的数据,则满足我们普遍定义的大数据3V特征

  • 数据量足够大:足够大才能够消除不确定性
  • 多维度:多维度更加容易分析互信息和相关性
  • 数据完备性:防止原来采用的概率或抽样方法带来的小概率事件影响。

先根据相关性解决问题和改进目标-》在认知水平达到后自然会进一步探索相关背后的因果。

为何大数据变革发生在今天?

为了解决不确定性问题,就需要足够大量的数据,同时保证数据的完备性。而随着存储技术,网络技术,传感网和数据采集技术的发展,我们获取数据和存储数据都更加容易。数据虽然出现指数级增长,但是我们已经有能力和手段进行数据采集,存储,分析挖掘。

数据挖掘里面有个重点又是影响智能革命的 机械学习和人工智能

今天广泛使用的人工神经网络,最大熵模型,逻辑回归等理论早在40年前就已经成熟,但是一直没有受到太大重视,直到2016年Google创造了奇迹的阿尔法狗,其训练算法就是人工神经网络。

机器学习的过程无一例外是一个不断迭代,不断进步的过程 。专业术语就是期望值最大化,只要事先确定一个目标,这些算法就会不断的优化目标,让他越来越接近真实的情况。那机器学习的三个核心要素即:

数据量, 模型复杂度,迭代次数+学习深度层次

借助大数据和并行计算技术,可以看到三个问题都可以很好解决,对于大数据量下我们也可以采用复杂模型进行深度学习并创造奇迹。对于阿尔法狗的胜利即可以看到大量历史数据棋谱的输入,更加复杂的人工神经网络模型,以及通过大规模并行解决解决学习深度和迭代次数问题。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK