zoukankan      html  css  js  c++  java
  • 《数学之美((第二版)》(六)

    二十六、维特比和他的维特比算法

               维特比算法是现代数字通信中最经常使用的算法,同一时候也是非常多自然语言处理採用的解码算法。

           首先谈了维特比算法。 他和雅各布共同创办了高通公司,提出了CDMA标准。

    维特比算法是针对篱笆网络的有向图最短路径提出的。是一个特殊但应用最广的动态规划算法,凡是使用隐含马尔可夫模型描写叙述的问题都能够用它来解码。之后便具体介绍了维特比算法。指出它的复杂度是O(N·D^2),当中N是网格长度,D是网格宽度。

           之后又介绍了CDMA技术—3G移动通信的基础。对CDMA(码分多址)技术发明和普及贡献最大的两个人是拉玛尔和维特比。

    在CDMA曾经,移动通信使用过两种技术:频分多址(FDMA)和时分多址(TDMA)。扩频传输是在一个较宽的扩展频带上进行的,它由三点优点:抗干扰能力极强、信号非常难被截获、利用带宽更充分。

    二十七、上帝的算法:期望最大化算法

           首先谈到了文本的自收敛分类。前面介绍的利用事先设定好的类别对新的文本进行分类的问题须要有事先设定好的类别和文本中心。而自底向上将文本两两比較进行聚类的方法计算时间较长。

    自收敛的分类是随机地挑出一些类别的中心,然后来优化这些中心。使它们和真实的聚类中心尽可能的一致。

    详细过程是:

           1)随机挑选K(类别数)个点。作为起始的中心c1(0),....,ck(0)。

           2)计算全部点到这些聚类中心的距离。将这些点归到近期的一类中。

           3)又一次计算每一类的中心。

           4)反复上述过程,直到每次新的中心和旧的中心之间的偏移很小,即过程收敛。

           最后是延伸阅读:期望最大化和收敛的必定性。在一般性的问题中,假设有许多的观測数据(点),类似上面的方法,让计算机不断迭代来学习一个模型。首先,依据现有的模型。计算各个观測数据输入到模型的计算结果,这个过程称为期望值计算过程,或E过程。接下来。又一次计算模型參数,以最大化期望值,这个过程称为最大化的过程,或M过程。这一类算法都称为EM算法。假设优化的目标函数时一个凸函数。那么一定能保证得到全局最优解。

    二十八、逻辑回归和搜索广告

           首先谈了搜索广告的发展

    经历了三个阶段:第一阶段是竞价排名广告。第二个阶段是综合出价和点击率(Click Through Rate。CTR)等因素决定广告的投放,关键技术就是预測用户可能点击候选广告的概率,或称为点击率预估;第三阶段是进一步的全局优化。

    预估点击率最好的办法是依据以往的经验值来预測。可是这样的方法存在非常多不足。于是后来工业界普遍採用了逻辑回归模型(Logistic Regression 或 Logistic Model)。

           然后就谈到了逻辑回归模型。它是指将一个事件出现的概率逐渐适应到一条逻辑曲线上(S型曲线,開始变化快。逐渐减慢。最后饱和),变量范围是无穷而值域在[0,1]之间。一个简单的逻辑回归函数形式是:f(z) = 1 / (1+e^-z)。之后以一个简单的样例来解释了逻辑回归模型,这里面有两点技巧:一是与广告点击相关的信息,二是參数值的训练。

    逻辑回归模型是一种将影响概率的不同因素结合在一起的指数模型,和非常多指数模型的训练方法相似,可採用GIS和IIS来实现。

    二十九、各个击破算法和Google云计算的基础

           云计算的关键之中的一个是怎样把一个非常大的计算问题。自己主动分解到很多计算能力不是非常强大的计算机上共同完毕。Google给出了一个叫MapReduce的程序。其根本原理就是分治算法(Divide-and-Conquer),本书中称为“各个击破”法。

           首先谈了分治算法的原理

    即将一个复杂的问题分成若干个简单的子问题进行解决,然后对子问题的结果进行合并。得到原有问题的解。

           然后谈了从分治算法到MapReduce。先以一个大矩阵相乘的样例进行了解释,引出了MapReduce的根本原理。将一个大任务拆分成小的子任务,而且完毕子任务的计算,这个过程叫做Map。将中间结果合并成终于结果。这个过程叫Reduce。怎样保证各个server负载均衡。怎样合并返回值就是MapReduce在project上所做的事情。

    三十、Google大脑和人工神经网络

           首先谈了人工神经网络。它是一个特殊的有向图,特殊性在于:

           1)全部节点都是分层的。每一层节点能够通过有向弧指向上一层节点,可是同一层节点之间没有弧相连接,并且每个节点不能越过一层连接到上上层的节点上。

           2)每一条弧上有一个值,依据这些值能够用一个很easy的公式算出它们所指节点的值。

           最以下一层叫输入层,最上面一层叫输出层,中间的叫中间层,因为对外不可见所以也叫隐含层。接下来用一个语音识别的样例进行了介绍。人工神经网络的基本原理是:来自输入节点的数值(x1,...,xn)依照它们输出的弧的权重(w1,...,wn)。依据公式G=w0+x1·w1+...+xn·wn进行线性加权得到G,然后再做一次(仅仅能做一次)函数变换f(G)赋给第二层的节点Y;第二层的节点照此将数值向后面传递。直到最后一层即输出层。

    在模式分类时。一个模式的特征值从输入层開始一层层向后传递,最后在输出层哪个节点的数值最大,输入的模式就被分在了哪一类。

           在人工神经网络中,须要设计的部分仅仅有两个:一个是它的结构。即网络分几层、每层几个节点、节点间怎样连接等;还有一个是非线性函数f(·)的设计,经常使用的函数时指数函数。

    假设把不同输出节点上得到的值看成是一种概率分布,那么便等价于一个概率模型了。

           然后谈了训练人工神经网络

    分为有监督的训练和无监督的训练两种。

    对于有监督的训练。依据训练数据要找到一组參数w,使得模型给出的输出值和训练数据中设计好的输出值尽可能一致。能够引入成本函数将其转化成一个最优化问题,解决方法最经常使用的是梯度下降法。

    对于无监督的训练。须要定义一种新的成本函数,要使分完类后同一类样本应该相互比較靠近,不同类的样本尽可能远离,之后能够再用梯度下降法进行训练了。

           还谈到了人工神经网络与贝叶斯网络的关系

    同样之处是:

           1)都是有向图,都遵循马尔可夫如果(每个节点的取值仅仅取决于前一级的节点)。

           2)训练方法相似。

           3)对于非常多模式分类问题,效果上相似。

           4)训练计算量都特别大。

           不同之处是:

           1)人工神经网络在结构上是全然标准化的。而贝叶斯网络更灵活。

           2)人工神经网络仅仅能先进行线性变换再进行非线性变换,所以实现起来比較easy。而贝叶斯网络无限制。更加复杂。

           3)人工神经网络输出相对独立,非常难处理一个序列,所以经常使用于预计一个概率模型的參数,不用作解码器;而贝叶斯网络更easy考虑前后相关性,所以能够解码一个输入的序列。

            最后是延伸阅读:“Google大脑”。早期人工神经网络受限。由于假设规模小干不了事情,假设规模大计算量又跟不上。

    2010年后云计算的兴起使得训练人工神经网络的方法必须改变。Google大脑的创新之处就是利用了云计算的并行处理技术。Google大脑採用人工神经网络的原因是:

            1)理论上能够画出各种形状的模式分类边界,有非常好的通用性。

            2)算法很稳定。没怎么变过。

            3)easy并行实现。

            Google大脑并行训练人工神经网络的參数,在降低计算量方面做了两个改进:一是採用随机梯度下降法。仅仅随机抽取少量的数据来计算成本函数。大大降低计算量;二是採用L-BFGS方法,降低训练的迭代次数。对于其存储问题,输入端的训练数据存储在输入端的server本地。每一个server的模型參数由还有一组server单独存储。

    三十一、大数据的威力:谈谈数据的重要性

           首先谈了数据的重要性

    举了三个样例说明数据不仅在科学研究中,并且在生活的方方面面都非常重要。

           然后谈了数据的统计和信息技术。介绍了切比雪夫不等式。说明了在信息处理中。凡是涉及到概率问题,都须要许多的数据支持。除了要求数据量必须足够多,统计还要求採样的数据具有代表性。接着就以预測美国总统大选的样例来说明了这一点。如今数据已经成为决定搜索引擎好坏的第一要素,算法倒在其次了。在搜索用到的诸多数据中,最重要的有两类,即网页本身的数据和用户点击的数据,所以在搜索行业形成了一种马太效应。可是后进入搜索市场的公司也在採取其它方法来高速获得数据:一是收购流量,二是通过搜索条、浏览器甚至是输入法来手机用户的点击行为。于是搜索质量的竞争就转换成了浏览器或者其它client软件市场占有率的竞争。之后用Google机器翻译系统的高速发展来说明了用数据驱动的统计模型的翻译系统更好,用语音识别的样例说明了该领域的明显提高得益于大量的数据。

           最后谈到了为什么须要大数据

    大数据不仅须要数据量大。更重要的是它的多维度和完备性。然后用了好多基因和疾病的样例来说明大数据对医疗行业的重要性。

    最后作者做了一个总结:

           1)仅仅有当一些随机事件的组合一同出现了非常多次以后,才干得到有意义的统计规律。

           2)大数据的採集过程是一个自然的过程。有利于消除主观性的偏差。

           3)仅仅有多维度的大数据才干发现新的规律。

           4)大数据能够解决IT行业之外的一些难题。

    附录、计算复杂度

           假设一个问题存在一个多项式复杂度的算法,这个问题称为P问题(Polynomial),这类问题被觉得是计算机能够“有效”解决的。假设一个算法的计算量比N的多项式函数还高,尽管理论上有足够的时间能够计算,但实际是做不到的,这些称为非多项式(Non-polynomial)问题。

    在非多项式问题中。有一类问题即非确定的多项式(Nondeterministic Polynomial。简称NP)问题受到了极大关注。对于计算复杂度至少是NP-Complete甚至更大的问题,称为NP-Hard问题。

           至此,这本书便完结了。

    总的来看,这是一本科普性质的大众书籍,里面将一些前沿性的高深技术用非常通俗的语言做了解说,不管是普通读者还是技术大牛,都能从这本书里受益匪浅。我个人认为这本书写的非常好,以后也会常常翻阅回想。

  • 相关阅读:
    文本溢出
    不需要原稿,直接在jpg文件中修改文字
    Photoshop的常用技巧
    canvas拼接背景图和qrcode生成的二维码,实现二维码分享功能。
    OC从文件或者URL获取字符串,以及写入文件
    OC学习将C语言字符串转换为OC字符串
    OC字符串NSString常用操作系列01
    三目运算符-----IOS开发学习记录第10天之C语言学习
    逗号表达式-----IOS开发学习记录第6天之C语言学习
    IOS开发学习记录第5天之C语言学习
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6922608.html
Copyright © 2011-2022 走看看