1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 干货丨深度解析机器学习五大流派中主算法精髓

干货丨深度解析机器学习五大流派中主算法精髓

时间:2024-04-12 10:56:11

相关推荐

干货丨深度解析机器学习五大流派中主算法精髓

Pedro Domingos是华盛顿大学计算机科学与工程学教授,也是国际机器学习协会的联合创始人之一。本文是Pedro Domingos在Google所作的机器学习演讲内容整理。

让我们首先从一个简单的问题开始,知识到底是从哪里来的?以前已知的三个来源有:

1. 进化——来自于你的DNA

2. 经验——来自于你的神经

3.文化——这些知识来自于与他人交流,读书学习等

我们日常生活中几乎每件事都是来自于这三个方面的知识,最近出现了第四个来源,那就是计算机。现在有越来越多的知识是来自于计算机(这些知识也是被计算机发现的)。

计算机来源的出现对于前三个来说是非常大的改变,进化天然就存在于地球上。经验是将我们与动物以及虫类分类开的原因,文化则是使得我们之所以为人的根本。

这四种中每一种与前者的差别都是数量级的差异,后者也能发现更多的知识。计算机比之前三种要快几个数量级,且能与其他几种实现共存。

Yann Lecun——Facebook AI研究组主任

未来世界上大多数知识都将被机器提取,且将留存在机器中。

所以,机器学习不但对于计算机科学家来说是一个大的改变,对于普通人来说也是他们需要理解的一件事。

那么计算机到底是如何发现新的知识的呢?

1. 填补现有知识的空白

和科学家工作的方式很像,观察——做出假设——通过理论来进行解释——成功(或失败,尝试新的)等

2.大脑仿真

世界上最伟大的学习机器就是人的大脑,因此让我们对它进行逆向工程。

3.模拟进化过程

进化过程,从某种角度来说甚至比人类的大脑更伟大(因为它造就了你的大脑,你的躯体,还有其他地球上的一切生命),所以来说这个过程值得好好弄清楚并且使用计算机来进行运算。

4.系统地减少不确定性

你学到的知识不一定正确,当从数据中获得什么东西时,你对它却不能完全确定。所以使用概率来量化这个不确定性,当你看到更多的证据时,不同的假设的概率能够进一步完善。还可以使用贝叶斯理论来进行这个工作。

5.注意新旧知识之间的相似性

通过类比来进行推理,在心理学上有证据说人类经常这样做。当你面临一个情境时,你在以往的经验中寻找相似的情境,然后将这两者连接起来。

机器学习五大流派(主要算法)

符号主义——逻辑学、哲学——逆向演绎

相信填补现有知识的空白的

联结主义——神经科学——反向传播

希望从大脑运行方式得到启发

进化主义——进化生物学——遗传编码

遗传算法

贝叶斯派——统计学——概率推理

行为类推主义——心理学——机器内核(支持向量机)

符号主义代表人物:

Tom Mitchell、Steve Muggleton、Ross Quinlan

逆向演绎

Tom Mitchell、Steve Muggleton、Ross Quinlan等认为学习是一个逆向演绎的过程,推理是从通用规则推导至特定事实,归纳刚好相反,从特定事实总结出通用准则。我们可以由减法和加法的相反关系来推倒出推理的原理。

逆向演理示例:

苏格拉底是人类+人类是凡人= 苏格拉底是凡人

(但是计算机现在还不能理解自然语言)

找出图中的生物学家

其实是那台机器,图中的机器是一名完整的、自动的生物学家,它也是从分子生物学中的DNA、蛋白质、RNA开始学习的。使用逆向演绎来进行假设,设计实验来测试这些假设是否成立(在没有人类的帮助下)。然后它给出结果,提炼假设(或者提出新的假设)。

联结主义代表人物有:

Geoff Hinton、Yann Lecun、Yoshua Bengio

单一神经元

神经元是一种非常有趣的细胞,看起来像树一样。神经元是具有长突触(轴突)的细胞,它由细胞体和细胞突起构成。在长的轴突上套有一层鞘,组成神经纤维,它的末端的细小分支叫做神经末梢。细胞突起是由细胞体延伸出来的细长部分,又可分为树突和轴突。每个神经元可以有一或多个树突,可以接受刺激并将兴奋传入细胞体。每个神经元只有一个轴突,可以把兴奋从胞体传送到另一个神经元或其他组织,如肌肉或腺体。神经元之间是互相连接的,这样形成了一个大的神经网络。人类所学会的知识几乎都存在神经元之间的突触中,整个学习过程基本上是出现在一个神经元帮助另一个神经元发射信号的过程。

人工神经元模型

人工神经元的工作过程:将输入加权组合,

例如:每个输入都是像素,每个都进行加权组合,当其超过阈值时会得到输出为1的结果,否则得到的就是0的结果。

再如输入是猫,当所有的加权组合起来超过了阈值,神经元就能识别出来:这是只猫。

反向传播

问题一:你如何训练这些神经元的网络?

神经网络拥有一大堆神经元,需要通过一层一层计算才能得到输出。

问题二:如果运算中出现错误了怎么办?如何在整个大型、紊乱的神经网络中进行调整,来得出正确的答案?

当出现错误,神经元本应该发射信号时,实际上却不会。出现问题的神经元可能是整个网络中的任一一个,但是想要找出它来却十分困难。这就是反向传播能解决的问题,当人们在20世纪60年代设想出神经网络时,他们并没有想到这个反向传播的方法,它最终是在19世纪80年代由David Rumelhart等人提出的。

反向传播的基本理念是十分直观的,举例来说,理想输出应该是1,但是实际输出确是0.2,需要将其增大。

问题三:怎样调整权重才能让其增大?

通过后续的神经元向前序神经元进行反馈,一层一层向后直到得到的值接近真实值,这就是反向传播算法(也是深度学习的核心所在)。

近期以来深度学习被用于各种领域中,证券市场预测、搜索、广告、视频识别、语义识别等。不过对于大众来说,最有名的应该是Google推出的能识别猫的神经网络——在当时,它是有史以来最大型的神经网络(可能超过10亿参数)。

进化主义代表人物:John Holland、John Koza、Hop Lipson

进化理论认为反向传播只是在模型中调整权重而已,而没有整个弄明白大脑的真正来源是什么。所以要搞清楚整个进化过程是如何进行的,然后在计算机上模拟同样的过程。

遗传算法是如何工作的?

遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的,而一个种群则由经过基因(gene)编码的一定数目的个体(individual)组成。每个个体实际上是染色体(chromosome)带有特征的实体。染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现(即基因型)是某种基因组合,它决定了个体的形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。因此,在一开始需要实现从表现型到基因型的映射即编码工作。不同的人是通过他们的基因进行区分的,但是与人类不同,计算机的构成单元只是比特符(0和1)。遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。它是由美国的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代有关智能计算中的关键技术。

遗传操作是模拟生物基因遗传的做法。在遗传算法中,通过编码组成初始群体后,遗传操作的任务就是对群体的个体按照它们对环境适应度(适应度评估)施加一定的操作,从而实现优胜劣汰的进化过程。

遗传编码

由于仿照基因编码的工作很复杂,我们往往进行简化,如二进制编码,初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代(generation)演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度(fitness)大小选择(selection)个体,并借助于自然遗传学的遗传算子(genetic operators)进行组合交叉(crossover)和变异(mutation),产生出代表新的解集的种群。这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码(decoding),可以作为问题近似最优解。

当下,遗传算法专家已经不满足于在电脑上进行模拟了,他们将自己的技术也带到了真实世界中——机器人技术。他们最开始用的是普通的机器人模式,当他们训练到足够好时,通过3D打印技术将整个机器人打印出来,打印出来的机器人真的能够进行爬行走动等动作。(hod lipson实验室)虽然这些机器人现在还不够好,但是相比它们刚起步的时候,已经发展的相当迅速了。

贝叶斯派代表人物:David Heckerman Judea pearl Micheal Jordan

贝叶斯一直以来都是小众领域,其中Judea pearl是图灵奖获得者。

贝叶斯理论

贝叶斯定理是概率论中的一个定理,它跟随机变量的条件概率以及边缘概率分布有关。在有些关于概率的解说中,贝叶斯定理能够告知我们如何利用新证据修改已有的看法。

其中P(A|B)是在B发生的情况下A发生的可能性。

在贝叶斯定理中,每个名词都有约定俗成的名称:

P(A|B)是已知B发生后A的条件概率,也由于得自B的取值而被称作A的后验概率。

P(B|A)是已知A发生后B的条件概率,也由于得自A的取值而被称作B的后验概率。

P(A)是A的先验概率或(或边缘概率)。之所以称为"先验"是因为它不考虑任何B方面的因素。

P(B)是B的先验概率或边缘概率。

后验概率 = (相似度*先验概率)/标准化常量

也就是说,后验概率与先验概率和相似度的乘积成正比。

另外,比例P(B|A)/P(B)也有时被称作标准相似度(standardised likelihood),贝叶斯定理可表述为:

后验概率 = 标准相似度*先验概率

贝叶斯学习机制已经被应用于许多领域。例如,自动驾驶车辆的“大脑”中就配有贝叶斯学习机制。因而,在某种程度上,贝叶斯定理在帮助驾驶车辆或者帮助车辆学习如何驾驶方面起到重大作用。

贝叶斯学习机制应用——垃圾邮件过滤器

不过,大概人人都熟悉的一项贝叶斯学习机制应用为垃圾邮件过滤器。首个垃圾邮件过滤器是由David Heckerman及其同事共同设计的。他们仅仅运用一个非常建议的贝叶斯学习机,即初级(naive)贝叶斯分类器。下面是该分类器的工作原理:其基于的假设为——一封邮件是垃圾邮件或一封邮件不是垃圾邮件,当然这种假设是在我们检测邮件内容之前提出的。其中蕴含的先验概率为:当你判断一封邮件为垃圾邮件的先验概率为90%,99%,99.999%时,你的假设即为正确的。证明这一假设正确与否的证据在于邮件的真实内容。例如,当邮件内容含有“万艾可”一词,这封邮件将在极大程度上被判定为垃圾邮件;当邮件内容含有大写全拼“FREE”一词,这封邮件将在极大程度上被判定为垃圾邮件;当“FREE”一词后面出现四个感叹号,这封邮件将在极大程度上被判定为垃圾邮件。当邮件署名出现你最好朋友的名字,这将降低这封邮件被判定为垃圾邮件的概率。因而,初级贝叶斯分类器就包含了这些“证据”。在一天结束时,该分类器将计算出一封邮件为垃圾邮件或非垃圾邮件的概率,基于计算得出的概率,分类器决定是否将该邮件过滤掉或将其发送给用户。垃圾邮件过滤器使我们能够有效管理自己的邮箱。

当下,各种不同的算法被应用于垃圾邮件过滤器。但是,贝叶斯学习机制是首个应用于垃圾过滤的算法,并在其他众多垃圾邮件过滤过滤器中得到应用。

行为类比推理法

最后,正如我提到的,行为类比主义者所持的基本观点为:我们所做的一切,所学习的一切,都是通过类比法推理得出的。所谓的类比推理法,即观察我们需要作出决定的新情景和我们已经熟悉的情景之间的相似度。早期行为类比主义的先驱之一为Peter Hart。他证实了,有些事物是与最佳临近算法相连的,这种算法是首个基于相似度的算法,稍后将对此详细讲解。Vladimir Vapnik发明了支持向量机,内核机,成为当时运用最广,最成功的基于相似度学习机。这些都是最原始的类比推理形式。人们,例如Douglas Hofstadter,也致力于研究许多复杂高端的学习机。Douglas Hofstadter不仅是著名的量化研究科学家和计算机科学家,也是“哥德尔,埃舍尔,巴赫”一书的作者。其最著名的书有500页,书中的观点是一切智能都只是类比。他强烈主张类比是主算法。

最佳邻近算法

内核机

理解类比推理法的实例,最佳邻近算法及内核机

下面是一个用于理解这一观点的一个谜题。假设给出两个国家,由于所给出的是积极的例子和消极的例子,我赋予它们富有想象力的名字“Posistan”和“Negaland”。在图中,我将不给出两个国家的边界线,只给出两个国家的主要城市的位置。Posistan的主要城市用加号标出,Positiveville为首都,Negaland的主要城市也用同样的方式标出。所给出的问题是:倘若我给出主要的城市,你能告诉我边界线的位置吗?当然,你并不能给出确定的答案,因为这些城市并不能决定边界线的位置。但是,这也是机器学习的问题所在。我们得学会概括。

最佳邻近算法能够为这一问题提供简单的答案。即如果地图上的一点临近某一个积极地城市或任何一个消极城市,那么我们可以假定这一个点位于Posistan。该假设将产生如下效果,即将地图划分为这个城市的邻近城市,如此一来,Posistan将成为这些积极城市邻近区域的联合国家。一个城市的邻近城市由那些离其最近的点构成。因而,便可得到一条锯齿状的边界线。尽管最佳邻近算法是如此简单,但是在学习阶段,这种算法甚至于不能起到任何作用,这一点是令人惊奇的。这个问题中所涉及的一些推理过程不是理想化的,其中之一便是,所得出得这条边界线可能不是最正确的,因为真正的边界线可能更为平滑。第二,倘若你仔细观察这幅地图,你可能舍弃一些城市,但是这一举动不会对最终结果产生太大影响。倘若舍弃这个城市,它将并入其他两个城市,最终的边界线不会发生变化。唯一需要保留的是那些界定边界线的城市,即所谓的“支持向量”,通常,这些向量存在于超空间内。因此,通常情况下,可以舍弃大量的城市,而不会对最终结果产生任何影响。不过,在大数据集中,舍弃大量数据将对最终输出值产生影响。支持向量机,或简称为内核机,将解决这一问题。存在一种学习程序,能够舍弃对界定边界线来讲没有必要的例子,保留必要的例子,如此一来,能够得到一条平滑的边界线。在确定边界线的过程中,支持向量机将使得边界线与其最邻近的城市之间的距离达到最大。这边是支持向量机的工作原理。

推荐系统

在深度学习盛行之前,支持向量机可能是应用最强健地学习算法。人们从20世纪50年代便开始运用这种基于类比的学习算法,因此这种学习算法基本上适用于地球上的一切事物。我们都体验过这种学习算法的应用实例,尽管可能没有意识到应用到了基于类比的学习算法。这便是推荐系统。例如,我想弄清楚推荐给你什么类型的电影比较合适,当然民俗电影已经有的历史了,也是一种非常简单的电影形式。我将不用电影的类别进行推荐,因为人们的兴趣复杂多变,这在很大程度上将是一个难题。我将采用一种“协同过滤”方法,即找到一些品味兴趣与你相似的五个人,这意味着你和他们一样给某部电影五个星,给另一部电影一个星。倘若他们对一部你没有看过的电影五颗星,我便可以通过类比推理法假定,你也会喜欢那部电影,这样我便可以向你推荐这部电影。这种运用类比推理的“协同过滤”方法取得了极好的成效。事实上,Netflix四分之三的业务得益于这种推荐系统。亚马逊也运用了这种推荐系统,这种系统为其业务的发展带来了三分之一的成效。这些时间以来,人们运用各种学习算法来实现这一推荐系统,但是最佳邻近算法是最早应用于研究这一系统的学习算法,也是最优的算法之一。

文章来源:雷锋网

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。