当前位置:
首页 > 互联网+ > 人工智能 > 卷积神经网络的Python实现pdf/doc/txt格式电子书下载

卷积神经网络的Python实现pdf/doc/txt格式电子书下载

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

卷积神经网络的Python实现pdf/doc/txt格式电子书下载

书名:卷积神经网络的Python实现pdf/doc/txt格式电子书下载

推荐语:解析深度学习卷积神经网络入门书基于NumPy的Python语言实现卷积神经网络直白的方法讲解机器学习

作者:单建华著

出版社:人民邮电出版社

出版时间:2019-01-01

书籍编号:30459453

ISBN:9787115497567

正文语种:中文

字数:192506

版次:

所属分类:互联网+-人工智能

全书内容:

卷积神经网络的Python实现pdf/doc/txt格式电子书下载






前言


近几年,深度学习在学术界和工业界掀起革命,Python语言作为机器学习的首选语言也异军突起。然而,大多数Python语言的教材侧重语法,很少有项目实战,深度学习方面的教材侧重理论,特别是针对卷积神经网络,很少涉及源码解读和实现。因此我试图通过本书,使读者掌握Python语言并深入理解卷积神经网络,并能用Python语言实现卷积神经网络结构。


为了使尽可能多的读者对卷积神经网络有所了解,本书假定读者不具备任何机器学习知识。同时,我尽量少地使用数学知识,只要掌握向量、矩阵及矩阵乘法的定义,就能理解本书中除了优化之外的所有章节;优化问题涉及的数学知识有导数、偏导数、泰勒展开式和链式法则。学习Python语言需要掌握一些基本知识,如list结构、for循环、函数、类和NumPy模块。因此,本书适合具有一定Python基础的大学二年级以上的理工科本科生和研究生,具有类似知识基础的工程技术人员和科研人员,以及对卷积神经网络有一定了解,想进一步理解的人士阅读。


全书共10章,分为3个部分:第一部分(第1章~第4章)介绍了机器学习的基本概念、线性模型、神经网络和卷积神经网络模型,采用一条主线贯穿这3种模型,层层递进,降低了学习难度;第二部分(第5章和第6章)介绍了基于梯度下降法的优化方法和梯度反向传播算法,详细地给出了各种模块的反向传播代码,读者掌握了这些方法后,如果遇到新的模块,就能独立实现其反向传播代码;第三部分(第7章~第10章)介绍了训练网络前的准备工作、神经网络实战、卷积神经网络的应用及其发展,特别详细地给出了数据归一化、梯度检测、批量归一化(BN)及各种经典的卷积神经网络结构,如VGGNet、GoogLeNet、ResNet、SENet和轻量网络MobileNetV2。除第1章外,每个关键知识点都给出了基于NumPy的代码实现,特别是第8章和第9章这两章,给出了完整的神经网络和卷积神经网络代码实现,方便读者训练网络和查阅代码。


如果你只是想了解卷积神经网络的原理,可只看第一部分和第10章。如果你只是想更好地利用TensorFlow等框架来训练网络结构,可不用看第6章,通过学习第5章就能正确选择合适的优化算法。如果你想不借助TensorFlow等框架实现各种网络结构,则需学习所有章节,特别是第二部分。


本书中的代码1的一个突出优点是接近伪代码,几乎不言自明,十分容易读懂。如果读者没有Python基础,不看代码也能掌握卷积神经网络的知识。当然,强烈建议读者手工输入代码,泛读或精读代码,注意其实现细节。这能加深对卷积神经网络的理解,同时也是一个极好的Python语言项目实战训练。


1 本书代码可以从图灵社区(http://www.ituring.com.cn/book/2661)本书主页免费注册下载。


卷积神经网络发展极为迅速,各种新网络结构层出不穷,理论也在一步一步发展,本书只是对卷积神经网络最基本、最核心的概念,以及最重要的网络结构进行介绍。我自认才疏学浅,略知皮毛,更兼精力有限,书中错谬之处在所难免,若蒙读者不吝告知,将不胜感激。


我的邮箱是shanjianhua.vip@qq.com,如有疑问,欢迎垂询。


最后要感谢我的家人,特别感谢我的爱人佘慧莉女士,感谢她一直以来对我的理解和支持。当然,也要感谢使本书顺利出版的编辑王军花和武芮欣两位女士。


单建华


2018年5月于马鞍山

第一部分 模型篇


第1章 机器学习简介


第2章 线性分类器


第3章 神经网络


第4章 卷积神经网络的结构

第1章 机器学习简介


1.1 引言


我们以生活中常见的挑选西瓜为例。到了夏天,大家喜欢吃西瓜,希望买到好西瓜。怎么挑到好西瓜呢?我们会根据西瓜的一些属性特点(如根蒂、敲声、触感和纹理等)进行挑选,一般认为根蒂凹陷、敲声浑响、触感硬滑和纹理清晰的西瓜是好瓜。这些挑选西瓜的经验是人类掌握的知识,是在无数次挑选西瓜后总结出来的。


具体怎么掌握挑选西瓜的知识呢?假设开始时,我们对西瓜没有任何了解,西瓜的好坏只能随机猜测。为了提高判断的准确率,一般来说会这么做:拿到一个西瓜,切开,亲口品尝,确定西瓜的好坏,然后记录这个西瓜相关的属性特点。这时由于掌握的知识十分有限,所以必须记录大量的属性,以确保没有遗漏重要的相关属性。随着品尝西瓜数量的增加,逐渐能总结、归纳出一些挑选西瓜的知识。总结出知识的可靠性也随着西瓜数量的增加而提高,但是提高速度会越来越慢,最后有可能趋于饱和,即品尝再多的西瓜,也不能产生新的属性特点。


机器学习的目的就是让计算机像人类一样,能区分西瓜的好坏。那么如何让计算机学习这些知识,就是机器学习的核心内容。


1.2 基本术语


机器学习的过程与人类学习的过程十分类似,必须有大量的西瓜数据,这些数据构成训练数据集。机器从这些训练数据集中学习,这个过程类似人类的归纳推理,从而获得隐藏在数据背后的模型,然后利用这个模型对不在训练集中的新西瓜进行预测,根据预测的准确率来评判模型的优劣。一般来说,训练数据集越大,机器学习到的模型的预测性能就越好。


机器学习的本质是计算机通过数据来拟合隐藏在数据背后的模型。注意是拟合模型,不是推导模型。物理学家的研究目的是推导出确定模型,如建立自由落体公式,机器学习专家研究的目的是用数据来拟合模型,如根据自由落体不同时刻下落距离的一系列数据,建立拟合模型来预测任意时刻的下落距离。所以如果一个问题已经存在确定模型,就不需再用机器学习。


怎么确定机器真正学习到了挑选西瓜的知识呢?这只能提供一些不在训练集中出现过的新西瓜,让机器根据它们的根蒂、敲声、触感和纹理等属性来判断好坏,判断的准确率越高,就说明机器掌握挑西瓜的知识越好。


我们把每个西瓜数据称为一个样本,每个样本数据包括两部分:一部分是西瓜属性数据,也称为特征属性,如根蒂、敲声、触感和纹理等;另一部分是西瓜好坏的标签,表示为卷积神经网络的Python实现pdf/doc/txt格式电子书下载,其中卷积神经网络的Python实现pdf/doc/txt格式电子书下载是属性数据取值,如根蒂 = 蜷曲、敲声 = 清脆、触感 = 硬滑、纹理 = 模糊等,卷积神经网络的Python实现pdf/doc/txt格式电子书下载是标签,表示西瓜的好坏。标签取值为离散值,是分类问题:如果离散值只取两个,则是二分类问题,如本例中西瓜标签取“好”和“坏”两个值;如果离散值取多个,则是多分类问题,如0到9的数字识别是10分类问题,而二分类问题是多分类问题的基础。标签取值为连续值,是回归问题。如果不仅要判断西瓜好坏,还要进一步判断西瓜好坏的程度(0表示最坏,1表示最好,0.35表示较坏,0.75表示较好等),就是回归问题。


机器学习得到的模型,本质上是得到从特征属性卷积神经网络的Python实现pdf/doc/txt格式电子书下载到标签卷积神经网络的Python实现pdf/doc/txt格式电子书下载映射卷积神经网络的Python实现pdf/doc/txt格式电子书下载卷积神经网络的Python实现pdf/doc/txt格式电子书下载,其中卷积神经网络的Python实现pdf/doc/txt格式电子书下载是模型参数。在神经网络模型中,卷积神经网络的Python实现pdf/doc/txt格式电子书下载是所有权重参数,有的映射不包含参数卷积神经网络的Python实现pdf/doc/txt格式电子书下载,如最近邻和朴素贝叶斯。对于二分类问题,通常令卷积神经网络的Python实现pdf/doc/txt格式电子书下载;对于多分类问题,则卷积神经网络的Python实现pdf/doc/txt格式电子书下载;对于回归问题,卷积神经网络的Python实现pdf/doc/txt格式电子书下载,其中卷积神经网络的Python实现pdf/doc/txt格式电子书下载是实数集。本书中映射和模型两个词同义,有时混用,请读者注意。


如何评价模型好坏呢?可以让模型预测新样本,得到预测标签卷积神经网络的Python实现pdf/doc/txt格式电子书下载卷积神经网络的Python实现pdf/doc/txt格式电子书下载。本书中,如果标签上有帽子上标,则表示预测标签,无上标则表示真实标签。预测标签与真实标签进行比较,以评判预测效果,进而评价模型的好坏。注意评价模型好坏时,必须使用新样本,即没有在训练集中出现过的样本,这样才能真实评价模型的性能,模型预测新样本的能力称为泛化性能。评价一个模型泛化性能时采用的样本集称为测试集


如果采用训练样本进行预测,则机器学习算法可以采用偷懒的办法来达到极高的准确率,甚至100%。因为算法只要死记硬背所有的训练样本,预测时使用查询方法,准确率即可达到100%,但实际上算法没有进行任何有意义的学习。这和学生学习类似,老师为了评估学生的学习效果,需要组织考试,如果把答案提前告诉学生,则学生只需死记硬背,就能考100分,但这完全不能真实反映学生的学习能力,只有考试题目学生从来没有做过,才能较为真实地评估学生学习的效果。那是不是只要试卷上的题目是学生没有做过的,就是好试卷?显然不是,题目必须是专家精心设计的,能涵盖大部分知识点、难易适中。测试集和训练集好比试卷,必须精心设计,尽量覆盖样本分布空间。


1.3 重要概念


为了使读者深入理解机器学习,这里需要补充说明几个重要概念。读者应该反复研读,并结合后面的知识与实际项目进行理解。


相关属性和无关属性


西瓜的属性有很多,我们为什么选择根蒂、敲声、触感和纹理进行判断,不选大小、外形等属性进行判断呢?这是因为根蒂、敲声、触感和纹理属性与西瓜好坏密切相关,是相关属性,大小、外形等属性与西瓜好坏无关,是无关属性。无关属性对于判断西瓜好坏不能提供任何有价值的信息,所以不需要这些无关属性。


那么,怎么知道属性是相关属性还是无关属性呢?这是在无数次挑选西瓜时总结出来的知识,属于领域知识。在一个具体的机器学习任务中,必须充分利用领域知识,挑选出相关属性,剔除无关属性。如果没有领域知识,则只能采用大量属性,这会极大地增加机器学习的难度并且降低机器学习的效果。


有效学习


模型对新样本的泛化性能必须大于随机猜测,才能说明模型进行了有效学习。对于二分类问题,如果准确率是50%,则说明机器没有进行任何学习,只有大于50%,才能说明机器进行了学习。一般来说,准确率不可能达到100%,只能接近,因为现实世界中的样本无穷无尽,特征取值也各不相同,很难完全掌握,总会存在误判。


大家可能会设想,随着掌握的领域知识不断增长,总有一天能完全准确判断西瓜好坏,准确率达到100%,完美地建立起西瓜好坏的模型。如果真有这么一天,判断西瓜好坏就不应该是机器学习研究的领域,因为我们已经有了判断西瓜好坏的确定模型,直接根据模型就能判断,没有必要采用机器学习了。是否存在一个确定模型能准确判断西瓜好坏,这是一个终极难题,既不能肯定,也不能否定。


从数据中学习


机器仅能从数据中获得分类的能力,根据指令一步一步地对样本进行分类,人类不能显式编程告诉它。举个数据排序的例子,人类开发了很多排序算法,如冒泡、快排等,如果把这些排序算法进行显式编程,计算机获得了排序能力,而且准确率100%,但这不是机器学习。如果只是提供给计算机很多无序和有序的数据对,计算机仅根据这些数据对进行学习,获得了排序能力,则是机器学习,但准确率一般达不到100%。学习到的排序知识存储在模型参数卷积神经网络的Python实现pdf/doc/txt格式电子书下载中。


映射


对于不同的机器学习方法,映射卷积神经网络的Python实现pdf/doc/txt格式电子书下载的函数形式是不同的,如线性模型、SVM和神经网络的映射卷积神经网络的Python实现pdf/doc/txt格式电子书下载是不同的。在同一机器学习方法中,映射卷积神经网络的Python实现pdf/doc/txt格式电子书下载的函数形式是相同的,不同的只是参数卷积神经网络的Python实现pdf/doc/txt格式电子书下载。本书后面会详细介绍线性模型和神经网络模型,对于SVM模型,读者可查阅相关的资料。


机器学习中的优化难题


如何获得最优参数卷积神经网络的Python实现pdf/doc/txt格式电子书下载,使模型卷积神经网络的Python实现pdf/doc/txt格式电子书下载的泛化性能最好?这是数学中的参数优化问题。读者如果对高中数学和高等数学印象深刻的话,应该做过很多求函数极值的题目,机器学习中的参数优化问题和数学求极值题目没有本质差别,只是难度更大。根据连续函数的极值定理,连续函数的极值条件是偏导数为0。以上知识点,读者如果不熟悉,强烈建议读者学习。机器学习中求最优参数完全是数学中的参数优化问题吗?如果这样认为,就错了,下面将通过3点来解释求最优参数不仅仅是数学参数优化问题。


第一,模型卷积神经网络的Python实现pdf/doc/txt格式电子书下载的泛化性能跟训练数据集密切相关,针对不同的训练集,其泛化性能的差别可能很大。因此,建立高质量的训练集是机器学习的重要任务,占整个工作量的60%以上。如何建立高质量的训练集呢?还是以西瓜任务为例。首先,训练集应该尽可能包含各种各样的西瓜(如品种、产地、栽培土壤和施肥浇水等),这就是所谓的见多识广。其次,应该尽可能多地提取与任务相关的属性。这样的训练集很容易训练出效果好的模型,即使使用的机器学习算法很普通。建立高质量的训练集需要大量的人力、物力和领域知识,一般的研究者很难建立高质量的训练集,而没有好的训练集,就难以开发好的机器学习算法。为了使广大研究者能专心进行机器学习算法研究,机器学习界有许多著名的公开数据集。读者学习机器学习算法时,最好使用这些数据集。最后强调,不同的学习算法必须在同一个测试集进行比较,才能区分优劣。


第二,模型的函数形式虽然是统一规范的,但不同的机器学习方法采用不同的函数形式,如神经网络和支持向

....

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

本站仅展示书籍部分内容
如有任何咨询

请加微信10090337咨询

再显示