读书频道 > 网站 > 网页设计 > 机器学习算法原理与编程实践
前言
15-11-26    下载编辑
收藏    我要投稿   
本书从结构上阐明了研究机器学习理论和算法的方法。最重要的不是数学,也不是这些算法本身,而是思想的发展过程,这与之前所有的书籍都有所不同。全书分为三条主线:第一条主线:从第一代神经网络(线性分类器)立即去当当网订购

动机

2011年1月14日,史上最强的人机对抗在美国纽约约克镇高地拉开序幕。《Jeopardy!》是美国具有25年历史的众所皆知的电视问答节目秀。每次三名参赛者相互角逐,在竞赛中需要迅速理解屏幕提出的各类智力问题,并做出回答。问题涉及到非常广泛的领域,就像一套世界知识的百科全书,超过个人所能掌握的知识容量的极限。而这次,一名特殊的参赛者名列其中,它就是IBM公司的计算机参赛者Watson,挑战两位人类选手Ken和Brad。经过激烈的角逐,Watson同时击败了两位人类选手,赢得一百万美元奖金而一举成名。这一具有历史意义的比赛被《Jeopardy! 》的哥伦比亚广播公司连续在2011年2月14日到16日三天晚上进行了重播。也成为了计算机发展史上一个重要的时刻。IBM评论为:

“在《Jeopardy!》比赛中计算机打败人类选手是开放领域问答系统的一个里程碑!”。

事实上,这次比赛有力的证明了,在广泛的知识和智能领域,机器有能力全面超越人类。开放领域问答软件的一个重要核心就是机器学习。从很多方面来看,这才仅仅是个开始。近年来计算机行业取得的最重要成就或多或少地都与机器学习领域的技术突破密切相关。2010年前后,多伦多大学的Geoffrey Hinton的深度学习 (Deep Learning)算法,突破了产生抽象概念的技术瓶颈,被评价为:

“借助于DeepLearning 算法,人类终于找到了如何处理 ‘抽象概念’这个亘古难题的方法。”

该算法与衍生的卷积神经网络(CNN—有监督)和深度置信网络(DNN—无监督)在计算机视觉、语音识别和部分自然语言处理领域获得巨大的成功,其与另一个并行处理架构Map Reduce并称为 “大数据”技术的基石。

2012年11月,微软在天津的一次活动上公开演示了一个全自动的同声传译系统,讲演者用英文演讲,后台的计算机一气呵成自动完成语音识别、英中机器翻译和中文语音合成,效果非常流畅。据报道,后面支撑的关键技术就是DNN,或者深度学习(DL,DeepLearning)。

人与动物最本质的区别之一就是人类具有高度发达的智能。千百年来,人类从未停止过对智慧本身的研究与探索。上世纪五十年代,图灵就在论文《机器能思考吗》中,提出了一个著名测试,后世称为图灵测试:

“即假如一台机器通过特殊的方式与人沟通,若有一定比例的人(超过30%)无法在特定时间内(5分钟)分辨出于自己交谈的是人还是机器,则可认为该机器具有’思考’的能力。”

这里的思考能力就是指智能。而对于计算机领域而言,它是个多么奢侈而艰难的字眼。以IBM Watson为例,它由90台IBM服务器、360个计算机芯片驱动组成,是个有10台冰箱那么大的计算机系统。它拥有15TB内存、2880个处理器、每秒可进行80万亿次运算。系统配置的处理器是Power 7系列处理器,这是当前RISC(精简指令集计算机)架构中最强的处理器。它采用45nm工艺打造,拥有8个核心、32个线程,主频最高可达4.1GHz,仅其二级缓存就达到32MB。

在大数据领域,据Google称,其知识图谱的信息来自许多来源,包括CIA的世界概况,Freebase和维基百科。其功能与Ask.com和Wolfram Alpha等问题问答系统相似。截至2012年,其语义网络包含超过570亿个对象,超过18亿个介绍,用来理解搜索关键词含义的,不同对象之间的链接关系更是不可计数。2012年11月4日,知识图谱新增了7种语言:西班牙语、法语、德语、葡萄牙语、日语、俄罗斯语及意大利语。

经过半个多世纪,在各个领域的商业机构和科研机构共同努力下,几经沉浮,终于渐渐意识到,高度并行的计算(硬件)能力和大规模数据的学习(算法)能力是“思考”的基础。让机器像人类一样思考的目标已经不远了!

本书特色

本书最大特色就是理论讲解深入浅出,通俗易懂,入门门槛不高,理论与实践并重。降低学习门槛是我们主要的努力方向。对于中国读者,特别是广大的工程技术人员,无论是在职还是学生,进入机器学习领域不外乎两条路:

第一条路是从开源代码学习,辅助一些书籍资料。大多数软件设计人员都做过几年源码解析工作,源码解析这条路是比较辛苦的,但一旦掌握,就会形成一种条件反射。程序员宁可读源码也不愿意读数学公式,这是普遍现象。我认为随着机器学习一步步走向工程实践,这部分人在读者群中应占绝大部分。

为了最大程度的降低学习的难度,首先,在内容上,我们以大量的文字描述来说明重要的定理和公式,尽可能在数学推导过程中增加充分的文字解释,消除初学者的理解障碍。其次,我将源码、公式和文字解释对照起来。使初学者在阅读源码和文字解释的同时,也能够轻松理解算法的数学原理。使他们认识到数学分析并不遥远,理解起来并不困难。第三,使用矢量编程的设计方式,这种方式的优势可以部分将数学公式直接映射到代码上,代码简介,思路清晰,学习效率很高。三管齐下,使初学者能多角度加深算法概念的理解,在实践应用中做到举一反三。

第二条路是从数学入手,前面列举的第一本书和第三本书就是这样的情况。一般针对研究所或科研院校的研究人员。他们喜欢那种有一定的理论高度,看明白了拿来就可以讲课,或写论文用的书籍。这部分读者的特点比较重理论,缺点是实践能力不强。在我与一些同事合作中,深刻感觉到他们对现代软件编程知识的渴求(矢量编程、大规模并发技术,C++11-14等等)。本书可以通过丰富的算法代码弥补他们在此方面的不足。

最后,本书由本土作者编写。我翻译过几本国外的专业论文和书籍,也看过不少的本土经典。如果内容差异不大,从效率和接受程度上,看本土书籍要快很多,时间成本对任何一个人都是重要的;本土书籍的另一个优势是作者与大多数的读者都有相似的背景知识结构,因而没有文化差异性,思路上很好理解,容易被读者接受。本书内容多取材于实践,目标明确,针对性强,对读者而言效率高。

本书内容及体系结构

本书的特点之一,是从结构上阐明了研究机器学习理论和算法的方法。最重要的不是数学,也不是这些算法本身,而是思想的发展过程,这与之前所有的书籍都有所不同。全书分为几条主线:第一条主线:从第一代神经网络(线性分类器)、第二代神经网络(非线性)及其在预测领域的应用,到支持向量机,最后是深度学习。

从第五章开始我们深入讲解了感知器网络以及Logisitic网络的算法以及相关的理论基础。接着第六章,我们详细介绍了三种典型的神经网络:BP网络、SOM网络、玻尔兹曼机网络。这两章的内容主要集中在第二代神经网络的模型上。

第八章我们从统计学习理论开始,深入探讨了支持向量机的模型,并给出了文本分类的实例。支持向量机的出现结束了浅层机器学习算法的大多数问题,是人工智能走向了一个新阶段。

第九章和第十章我们详细介绍了认知分层理论,并探讨了人类神经系统的两大重要机制:迭代和分层。由此引入了深度神经网络框架(深度学习)。并以Theano框架为中心介绍了GPU运算的模型。深度学习框架中算法很多,我们介绍了多层感知器和卷积神经网络两个算法,作为读者入门的基础。

第二条主线是贝叶斯理论,从朴素贝叶斯算法到贝叶斯网,最后是隐马尔科夫模型,这部分属于智能推理的范畴。

在第二章我们详细介绍了朴素贝叶斯算法在文本分类中的应用,由于文本处理的大多数算法都是以贝叶斯网为基础的,而朴素贝叶斯是其中最简单的算法,所以以此开篇。

在第十一章,我们从随机过程开始,层层深入,相继介绍了马尔可夫链,贝叶斯网络、最后是隐马尔科夫模型。最后,给出了隐马尔科夫模型的重要应用,自然语言处理的词性标注模块,并给出详细的代码讲解和结巴分词和词性标注应用。

最后一条主线是矩阵降维,奇异值分解(svd)和PCA算法,构成第三条主线,因为算法简单,本书都使用真实案例进行讲解。

在第四章,我们通过一个实例介绍了推荐系统的内容,并分析介绍了协同过滤理论中的两个重要的算法:KMeans和SVD隐语义分析。我们不仅讲解SVD的数学推导,而且给出了手工计算的代码。

第九章,我们讲解了主成分分析(PCA)的基本原理和算法。作为人脸识别系统的一个模块,特征脸的生成和识别的核心算法--PCA算法。并通过实例讲解,隔出了PCA的算法实现和监测评估。

最后,在第三章和第九章,我们介绍了决策时算法的发展历史,以及各个历史时期的代表算法:ID3、C4.5、CART、AdaBoost,并给出基本原理和代码实现。

目前机器学习主要由这几条主线贯穿始终,本书着力于讲解三条主线的理论发展、思想变迁、数学原理。而具体算法就是在其上的一颗颗明珠。读者在看完之后,能够将机器学习各种理论融会贯通,成为一体。

本书编写时,这几章的内容承上启下、前后连贯,对于读者掌握而言,理论和思路都是连续的,容易理解。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站