Python神经网络项目实战
上QQ阅读APP看书,第一时间看更新

前言

机器学习和人工智能(AI)在日常生活中已经变得随处可见了。不论我们在哪儿,不论我们做什么,从某种程度上讲,都会时不时地和人工智能发生关系。而这些AI技术正是由神经网络和深度学习所驱动的。得益于神经网络技术,AI系统现在已经可以在某些领域具有和人类相当的能力了。

本书帮助读者从头构建了6个神经网络项目。通过这些项目,你可以构建一些生活中时常可见的AI系统,包括人脸识别、情感分析以及医疗诊断。在每个项目中,本书首先会提出问题,随后介绍解决该问题需要用到的神经网络架构,同时给出选择该神经网络模型的原因,然后使用Python语言从头实现该系统。

当你读完本书的时候,你已经可以很好地掌握不同的神经网络架构,并通过Python语言实现相关的前沿AI项目,此举可以迅速增强你的机器学习技术能力。

这本书非常适合数据科学家、机器学习工程师以及渴望通过Python创建实际神经网络项目的深度学习爱好者阅读。读者需要具备Python和机器学习的基础知识以便完成本书的练习。

本书共有8章,具体如下。

第1章,机器学习和神经网络导论,包括了机器学习和神经网络的基础知识。第1章的目标是帮助你加强对机器学习和神经网络的理解。为了达到这一目标,本章会使用Python从头构建神经网络而不使用任何机器学习库。

第2章,基于多层感知器预测糖尿病,本章开始介绍第一个神经网络项目。使用一个基础的神经网络(多层感知机)来构建分类器,然后利用它对患者是否有患糖尿病的风险做出预测。

第3章,基于深度前馈网络预测出租车费用,本章将深度前馈神经网络应用到回归问题中。具体来讲,我们会利用神经网络来预测纽约市的出租车费用。

第4章,是猫还是狗——使用卷积神经网络进行图像分类,本章使用卷积神经网络(CNN)来解决图像分类问题,即使用CNN判断图像中是否有猫或狗。

第 5 章,使用自动编码器进行图像降噪,本章利用自动编码器来实现图像降噪。办公文档的图片中包含了咖啡渍或其他污渍,可以使用自动编码器来移除图像中的污渍从而将文件还原。

第 6 章,使用长短期记忆网络进行情感分析,本章使用长短期记忆网络(Long Short-Term Memory,LSTM)对网上的影评进行情感分析和分类。本章会创建一个可以辨别英文文本中所包含的情感的LSTM网络。

第 7 章,基于神经网络实现人脸识别系统,本章利用孪生神经网络(siamese neural network)来构建一个人脸识别系统,该系统可以利用便携式计算机的摄像头识别出我们的脸。

第8章,未来是什么样的。本章总结了本书介绍的知识,同时会展望未来,看看机器学习和人工智能在未来几年会发展到什么程度。

你要熟悉基本的Python编程技能才能最大限度地利用本书。不过,本书也会一步一步地向你介绍各个项目并且尽可能地向你讲解相关代码。

对于计算机硬件,你需要一台计算机,最低配置为8GB内存和15GB硬盘(存放数据集)。训练深度神经网络需要强大的计算资源,如果你有一个专用的GPU设备,将能极大地提高其训练速度。不过,没有GPU也是完全可以运行代码的(比如说用一台便携式计算机)。运行特定代码时如果你没有GPU会花费很长时间,此时我们会给出相应的提示,这一点会贯穿全书。

在每一章开始的地方,我们会提示你本章所需的必要的Python库。为了简化搭建开发环境的过程,我们准备了一个environment.yml文件和代码一起提供给你。environment.yml文件可以帮助你快速创建虚拟环境,其中包含特定的Python版本以及所需的库。通过这种方法,你可以确保你的代码在一个设计好的、标准的虚拟环境中执行。详细的指导会在第1章中提供,你可以在1.2节中找到,此外在每个章节的开始处也会有相应介绍。

你可以从Packt官方网站下载示例代码文件。如果你在其他地方购买本书,你可以访问Packt官网并注册,网站会将文件直接通过邮件发送给你。

可以按照以下步骤下载代码文件。

(1)使用邮箱和密码登录。

(2)单击页面顶部的支持(SUPPORT)标签。

(3)单击代码下载及勘误表(Code Downloads & Errata)。

(4)在搜索(Search)框里输入书名。

(5)选择你想要下载代码文件的图书。

(6)从你付款的地方选择下拉菜单。

(7)单击代码下载(Code Download)。

下载文件后,请确保使用最新版本的软件来解压或提取这些文件夹:

Windows上的WinRAR/7-Zip;

Mac上的Zipeg/iZip/UnRarX;

Linux上的7-Zip/PeaZip。

本书的代码包托管在异步社区(www.epubit.com)对应的图书页面以及GitHub上。

我们还提供了一个压缩文件,其中包含本书使用的截图或图表的彩色图像。这些彩色图像可以帮助你更好地了解输出的变化。你可以从异步社区下载该文件。