新書推薦:
《
中国经济发展的新阶段:机会与选择
》
售價:HK$
99.7
《
DK月季玫瑰百科
》
售價:HK$
210.6
《
为你想要的生活
》
售價:HK$
66.1
《
关键改变:如何实现自我蜕变
》
售價:HK$
77.3
《
超加工人群:为什么有些食物让人一吃就停不下来
》
售價:HK$
99.7
《
历史的教训(浓缩《文明的故事》精华,总结历史教训的独特见解)
》
售價:HK$
62.7
《
不在场证明谜案(超绝CP陷入冤案!日本文坛超新星推理作家——辻堂梦代表作首次引进!)
》
售價:HK$
58.2
《
明式家具三十年经眼录
》
售價:HK$
524.2
|
內容簡介: |
本书与机器学习和深度学习相关,向读者讲述了如何建立一个数据集,并展示了如何使用该数据集训练一个成功的深度学习模型。此后,本书探讨了经典的机器学习算法,为探讨深度学习方法理论奠定基础。本书最后4章探讨了卷积神经网络,从案例研究出发,讲解如何从数据集到评估预测模型的方法。这些章节中的实验使用的都是本领域研究人员熟悉的标准数据集。同时,本书介绍了如何通过当前实践的标准来调整和评估机器学习模型的性能。本书不仅为读者提供扎实的概念基础,还为读者设计自己的项目和解决方案提供了实用的指导,适用于探索机器学习和深度学习领域的新手和业余爱好者。本书也可以帮助读者为探索更高级的方法和算法提供知识储备。
|
目錄:
|
简要目录第1章 开篇 001第2章 使用Python 008第3章 使用NumPy 021第4章 使用数据工作 038第5章 构建数据集 060第6章 经典机器学习 077第7章 经典模型实验 091第8章 神经网络介绍 120第9章 训练神经网络 132第10章 神经网络实验 154第11章 评价模型 174第12章 卷积神经网络介绍 197第13章 基于Keras和MNIST的实验 214第14章 基于CIFAR-10的实验 235第15章 实例研究:音频数据分类 258第16章 走向未来 282详细目录第1章 开篇 0011.1 操作环境 0011.1.1 NumPy 0011.1.2 scikit学习 0011.1.3 基于TensorFlow的Keras 0011.2 安装工具包 0021.3 线性代数基础 0031.3.1 向量 0031.3.2 矩阵 0031.3.3 向量和矩阵相乘 0041.4 统计和概率 0051.4.1 描述性统计 0051.4.2 概率分布 0051.4.3 统计检验 0061.5 图形处理单元 006第2章 使用Python 0082.1 Python解释器 0082.2 语句与空格 0082.3 变量与基本数据结构 0092.3.1 数字表示 0092.3.2 变量 0102.3.3 字符串 0102.3.4 列表 0112.3.5 字典 0132.4 控制结构 0142.4.1 if-elif-else 语句 0142.4.2 for循环 0142.4.3 while循环 0162.4.4 break与continue语句 0162.4.5 with语句 0172.4.6 使用try-except块处理错误 0172.5 函数 0182.6 模块 019第3章 使用NumPy 0213.1 为什么是NumPy 0213.1.1 数组对列表 0213.1.2 测试数组与列表的速度 0223.2 基本数组 0243.2.1 使用np.array定义数组 0243.2.2 用0和1定义数组 0263.3 访问数组中的元素 0273.3.1 数组索引 0273.3.2 数组切片 0283.3.3 省略号 0303.4 算子和广播 0313.5 数组的输入与输出 0333.6 随机数 0353.7 NumPy和图像 036第4章 使用数据工作 0384.1 分类与标签 0384.2 特征与特征向量 0394.2.1 特征的类型 0394.2.2 特征选择与维数灾难 0404.3 优秀数据集的特征 0424.3.1 插值与外推 0424.3.2 父分布 0434.3.3 先验类概率 0444.3.4 混淆 0444.3.5 数据集规模 0454.4 数据准备 0454.4.1 特征缩放 0464.4.2 特征缺失 0494.5 训练、验证和测试数据 0504.5.1 三个子集 0504.5.2 数据集划区 0504.5.3 k折交叉验证 0544.6 看看你的数据 0554.6.1 从数据中寻找问题 0564.6.2 警示案例 058第5章 构建数据集 0605.1 鸢尾花(irises)数据集 0605.2 乳腺癌数据集 0625.3 MNIST数据集 0635.4 CIFAR-10数据集 0655.5 数据增强 0675.5.1 为什么要增强训练数据? 0675.5.2 增强训练数据的方法 0685.5.3 鸢尾花数据集的增强 0695.5.4 CIFAR-10数据集的增强 073第6章 经典机器学习 0776.1 最近质心 0776.2 k-最近邻 0806.3 朴素贝叶斯 0816.4 决策树与随机森林 0846.4.1 递归初步 0856.4.2 构建决策树 0866.4.3 随机森林 0876.5 支持向量机 0886.5.1 边距 0886.5.2 支持向量 0896.5.3 优化 0896.5.4 核 090第7章 经典模型实验 0917.1 鸢尾花数据集实验 0917.1.1 测试经典模型 0917.1.2 实现最近质心分类器 0947.2 乳腺癌数据集实验 0957.2.1 两次初始测试运行 0967.2.2 随机拆分的影响 0987.2.3 加入k折验证 0997.2.4 搜索超参数 1037.3 MNIST数据集实验 1077.3.1 测试经典模型 1077.3.2 分析运行时间 1127.3.3 PCA主元的实验 1137.3.4 扰动我们的数据集 1157.4 经典模型小结 1167.4.1 最近质心 1167.4.2 k-最近邻(k-NN) 1167.4.3 朴素贝叶斯 1167.4.4 决策树 1177.4.5 随机森林 1177.4.6 支持向量机 1177.5 使用经典模型的时机 1187.5.1 处理小数据集 1187.5.2 处理计算要求不高的任务 1187.5.3 可解释的模型 1187.5.4 以向量作为输入的任务 118第8章 神经网络介绍 1208.1 神经网络剖析 1208.1.1 神经元 1218.1.2 激活函数 1228.1.3 网络结构 1248.1.4 输出层 1258.1.5 权重和偏置的表示 1268.2 一个简单神经网络的实现 1278.2.1 建立数据集 1278.2.2 实现神经网络 1288.2.3 训练和测试神经网络 130第9章 训练神经网络 1329.1 高层次的概述 1329.2 梯度下降 1339.2.1 找出最小值 1349.2.2 更新权重 1349.3 随机梯度下降法 1359.3.1 批次和小批次 1359.3.2 凸函数与非凸函数 1379.3.3 终止训练 1389.3.4 更新学习率 1389.3.5 动量 1399.4 反向传播 1399.4.1 反推第一步 1409.4.2 反推第二步 1429.5 损失函数 1449.5.1 绝对损失和均方误差损失 1459.5.2 交叉熵损失 1459.6 权重初始化 1469.7 过拟合与正则化 1479.7.1 理解过拟合 1489.7.2 理解正则化 1499.7.3 L2正则化 1509.7.4 丢弃 151第10章 神经网络实验 15410.1 我们的数据集 15410.2 多层感知机分类器 15410.3 架构和激活函数 15510.3.1 代码 15510.3.2 结果 15810.4 批次大小 16110.5 基础学习率 16410.6 训练集大小 16510.7 L2正则化 16610.8 动量 16810.9 权重初始化 16910.10 特征排序 172第11章 评价模型 17411.1 定义与假设 17411.2 为什么仅有准确性是不够的 17511.3 2×2混淆矩阵 17611.4 从2×2混淆矩阵中导出度量指标 17811.4.1 从2×2表中导出度量指标 17811.4.2 使用我们的指标来解释模型 18011.5 更多高级度量指标 18111.5.1 知情度与标记度 18211.5.2 F1得分 18211.5.3 Cohen系数κ 18211.5.4 马修斯相关系数 18311.5.5 实现我们的指标 18311.6 接收者操作特征曲线 18411.6.1 集成我们的模型 18411.6.2 绘制我们的指标 18611.6.3 探索ROC曲线 18711.6.4 采用ROC分析对比模型 18811.6.5 生成一条ROC曲线 19011.6.6 精确度-召回率曲线 19111.7 处理多个类 19111.7.1 扩展混淆矩阵 19211.7.2 计算加权准确率 19411.7.3 多类马修斯相关系数 195第12章 卷积神经网络介绍 19712.1 为什么是卷积神经网络? 19712.2 卷积 19812.2.1 用核进行扫描 19812.2.2 图像处理中的卷积 20012.3 卷积神经网络的剖析 20012.3.1 不同类型的层 20112.3.2 通过CNN传递数据 20212.4 卷积层 20312.4.1 卷积层如何工作 20312.4.2 使用卷积层 20512.4.3 多卷积层 20712.4.4 初始化卷积层 20712.5 池化层 20812.6 全连接层 20912.7 全卷积层 20912.8 运行情况分析 211第13章 基于Keras和MNIST的实验 21413.1 在Keras中构建CNN 21413.1.1 加载MNIST数据 21413.1.2 建立我们的模型 21613.1.3 训练和评价模型 21713.1.4 绘制误差 21913.2 基础实验 22013.2.1 架构实验 22113.2.2 训练集尺寸、小批次和历时 22313.2.3 优化器 22513.3 全卷积网络 22613.3.1 构建和训练模型 22613.3.2 制作测试图像 22813.3.3 测试模型 22913.4 加扰动的MNIST数字 233第14章 基于CIFAR-10的实验 23514.1 CIFAR-10的复习 23514.2 使用全部CIFAR-10数据集 23614.2.1 构建模型 23614.2.2 分析模型 23914.3 动物还是车辆? 24014.4 二元还是多分类? 24414.5 迁移学习 24714.6 微调模型 25114.6.1 建立数据集 25214.6.2 微调以适应模型 25414.6.3 测试我们的模型 256第15章 实例研究:音频数据分类 25815.1 建立数据集 25815.1.1 增强数据集 25915.1.2 数据预处理 26215.2 音频特征分类 26415.2.1 使用经典模型 26415.2.2 使用传统神经网络 26615.2.3 使用卷积神经网络 26715.3 频谱图 27115.4 频谱图分类 27315.4.1 初始化、正则化、批次归一化 27515.4.2 检查混淆矩阵 27615.5 集成 277第16章 走向未来 28216.1 携手卷积神经网络走向未来 28216.2 强化学习与无监督学习 28316.3 生成对抗式网络 28316.4 循环神经网络 28416.5 在线资源 28416.6 会议 28416.7 推荐书籍 28516.8 再会,谢谢 285
|
內容試閱:
|
当我还在上高中时,就编写了一个井字游戏程序,用户可以在计算机上玩该游戏。当时,我还没有意识到真正的计算机科学家是如何解决这一问题的。我只有自己的想法,那些想法是使用非结构化的苹果电脑版BASIC语言支持的粗略if-then和goto语句来实现许多规则。而当时的这些规则往往有几百行之多。最后,该程序运行良好,直到我发现我的规则未能涵盖所有的动作序列而不能每次都取胜。我确信一定有一种方法可以通过显示示例的方式而不是蛮力代码和规则来教计算机如何做事,这一定是一种使计算机自行学习的方法。作为20世纪80年代后期的一名本科生,我曾经很兴奋地报名参加一个人工智能课程。该课程最终教会了我如何正确编写井字游戏程序,但是没有回答如何让计算机学习,它仍然只是使用一个聪明的算法。顺便说一句,同样的课程使我们确信,虽然人们预计有朝一日计算机会击败世界上最好的国际象棋手(发生在1997年),但计算机不可能在围棋这样的游戏中击败最优秀的棋手。直到2016年3月,AlphaGo深度学习计划做到了这一点。2003年,我在一家科学计算公司担任顾问时,被分配到一个主要开发医疗设备的项目。该项目的目的是通过使用机器学习对冠状动脉的血管内超声图像进行实时分类。这是人工智能的一个子领域,项目要求计算机可以从数据中进行自主学习,并要求我们开发出当时的程序还难以明确实现的模型。这就是我在等的!我模糊地意识到机器学习领域中有一种叫作神经网络的“怪兽”没准可以做一些有趣的事情,但是在当时大多数情况下,机器学习只是一个很小的研究领域,而不是普通计算机科学人员所关注的东西。在项目期间,我对不需要编写大量精确代码就可以训练计算机进行学习的研究方向产生了浓厚的兴趣。即使在项目结束后,我仍然坚持自学相关领域的知识。大约在2010年,我参与了另一个机器学习项目,就当时的参与时机来说,堪称完美。当时的人们才刚刚开始讨论一种称为深度学习的机器学习新方法,而这种方法复兴了以往的神经网络。当时光迈入2012年时,深度学习的研究呈波涛汹涌之势,异军突起。我很幸运能进入在苏格兰爱丁堡举行的ICML 2012会议室,当时Google展示了其深度学习最初的突破性成果,该成果展示了如何对YouTube视频中的猫进行追踪。那时的会议室相当拥挤,多达800人。2020年,我参加的机器学习会议有13000多名与会者。机器学习迅猛发展,这不是一时的风尚。机器学习已经深刻影响了我们的生活,并将继续如此。我们最好了解一些知识,以便了解经常被大肆宣传的演示的本质核心,这很有趣。这就是这本书存在的原因,以帮助您学习机器学习的基础。具体来说,我们将专注于深度学习方法。本书为谁而著?本书为没有机器学习背景但保持好奇心并愿意尝试新鲜事物的读者而著。我尽量将数学推导压缩至最低水平。我的目标是帮助您理解核心概念并建立直觉,以备日后使用。同时,我不想写一本书,只是指导您如何使用现有工具包,却没有深挖任何实质意义上的东西。的确,如果您只关心方法,那么就可以构建有用的模型。但是,如果您不理解其中深层的原因,那只会令您沮丧,更不用说最终通过您自己的贡献来推动这一领域的发展了。就我的假设而言,我假设您对任何语言的计算机编程都比较熟悉。无论您是学生还是职业人员,机器学习的首选语言是Python,因此我们将使用该语言。我还假设您熟悉高中数学,但不熟悉微积分。无论如何,机器学习里都会有一些微积分,但是即使您不熟悉该技术,您也可以理解其中的思想。我还要假设您了解一些统计数据和基本概率。如果您从高中起就忘记了这些主题,请不要担心——您会在第1章中找到相关内容,这些内容为您提供了足够的背景知识以供您参考。您能学到什么?如果您全面阅读本书,则可以了解以下内容:·如何建立良好的训练数据集。这个数据集能让您在“现场”环境下使您的模型获得成功。·如何使用两个领先的机器学习工具包:scikit-learn和Keras。·训练和测试模型后,如何评估模型的性能。·如何使用几个经典的机器学习模型,例如k-最近邻法(k-Nearest Neighbors,k-NN)、随机森林或支持向量机。·神经网络如何工作和训练。·如何使用卷积神经网络开发模型。·如何从一组给定的数据开始,从头建立成功的模型。关于本书这本书与机器学习相关。机器学习与构建模型相关,这些模型接收输入数据并从中得出一些结论。该结论可能是将物体放入特定类别的物体(例如某种狗)中的标签,或者是连续的输出值,例如价格应该对应具有特定设施的房屋。这里的关键是模型可以自己从数据中学习。实际上,该模型是通过示例学习的。您可以将模型视为一个数学函数y=f(x),其中y是输出、类标签或连续值,而x表示未知输入的特征集。
|
|