🎁学会PyTorch和Scikit-Learn,就可以掌握机器学习嘛?🎁

💯随着人工智能技术的飞速发展,机器学习已经成为当今最热门的话题之一。而在这股热潮中,Python语言因其强大的库支持和灵活的编程风格,成为了机器学习领域的佼佼者。今天,我们要为大家介绍一本基于PyTorch和Scikit-Learn的机器学习经典著作——《Python机器学习:基于PyTorch和Scikit-Learn》。相信这本书将会引领你走进机器学习的世界,开启智能时代的新篇章。

👌一、本书概述

《Python机器学习:基于PyTorch和Scikit-Learn》是一本全面介绍Python机器学习的书籍,涵盖了从基础知识到高级应用的所有方面。本书主要基于PyTorch和Scikit-Learn两大流行机器学习库,通过大量的案例和实践,帮助读者深入了解机器学习的原理和应用。PyTorch是一个深度学习框架,提供了强大的张量和自动微分功能,适用于构建、训练和优化神经网络等深度学习模型。而Scikit-Learn是一个全面的机器学习库,涵盖了从数据预处理到模型评估的广泛工具,适用于传统的机器学习任务。

😍二、内容详解

1️⃣ PyTorch和Scikit-Learn介绍

本书首先对PyTorch和Scikit-Learn进行了详细的介绍,包括它们的安装、使用方法和常用模块等。通过这些介绍,读者可以快速上手这两个库,为后续的机器学习实践打下基础。

2️⃣ 机器学习基础

本书接着介绍了机器学习的基础知识,包括线性回归、逻辑回归、决策树、随机森林、支持向量机(SVM)等经典算法。此外,还介绍了如何评估模型性能、处理过拟合等问题,为读者构建了一个完整的机器学习知识体系。

3️⃣ 深度学习

本书深度学习部分详细介绍了神经网络的原理和应用,包括全连接神经网络、卷积神经网络(CNN)、循环神经网络(RNN)等。同时,还介绍了如何使用PyTorch实现神经网络模型,以及如何优化模型性能等。

4️⃣ 实践项目

本书通过多个实践项目,让读者亲身体验机器学习的魅力。这些项目包括:手写数字识别、图像分类、文本分类、推荐系统等。通过这些项目,读者可以巩固所学知识,提高实战能力。

💖三、总结与评价

🏃‍♀️《Python机器学习:基于PyTorch和Scikit-Learn》是一本非常优秀的机器学习书籍,具有以下优点:首先,本书内容全面,涵盖了从基础知识到高级应用的各个方面;其次,本书案例丰富,实践性强,让读者更容易理解和掌握机器学习的原理和应用;最后,本书结合了PyTorch和Scikit-Learn两大流行库,为读者提供了更多的选择和灵活性。

💪无论是初学者还是有一定经验的开发者,都可以从这本书中获得很多有价值的信息和启示。如果你想了解更多关于Python机器学习的知识,那么这本书一定不容错过。

👆请点击上面《Python机器学习:基于PyTorch和Scikit-Learn》了解更多详情!☝️

书籍信息

书名:Python机器学习:基于PyTorch和Scikit-Learn
作者:美/塞巴斯蒂安·拉施卡美]刘玉溪(海登)美]瓦希德·米尔贾利利著
评分:
出版日期:2023-06-01
出版社:机械工业出版社
ISBN:9787111726814
页数:620
定价:

Python机器学习:基于PyTorch和Scikit-Learn

内容简介

适读人群 :机器学习入门新手,以及计划跟踪机器学习进展的研发人员

本书是一本在PyTorch环境下学习机器学习和深度学习的综合指南,可以作为初学者的入门教程,也可以作为读者开发机器学习项目时的参考书。
本书讲解清晰、示例生动,深入介绍了机器学习方法的基础知识,不仅提供了构建机器学习模型的说明,而且提供了构建机器学习模型和解决实际问题的基本准则。
本书添加了基于PyTorch的深度学习内容,介绍了新版Scikit-Learn。本书涵盖了多种用于文本和图像分类的机器学习与深度学习方法,介绍了用于生成新数据的生成对抗网络(GAN)和用于训练智能体的强化学习。后,本书还介绍了深度学习的新动态,包括图神经网络和用于自然语言处理(NLP)的大型transformer。
无论是机器学习入门新手,还是计划跟踪机器学习进展的研发人员,都可以将本书作为使用Python进行机器学习的不二之选。

书籍目录

第1章 赋予计算机从数据中学习的能力1

 1.1 将数据转化为知识的智能系统1

 1.2 三种机器学习类型2

1.2.1 用于预测未来的监督学习2

1.2.2 解决交互问题的强化学习4

1.2.3 发现数据中隐藏规律的无监督学习 5

 1.3 基本术语与符号6

1.3.1 本书中使用的符号和约定6

1.3.2 机器学习术语8

 1.4 构建机器学习系统的路线图8

1.4.1 数据预处理——让数据可用8

1.4.2 训练和选择预测模型9

1.4.3 使用未见过的数据对模型进行评估10

 1.5 使用Python实现机器学习算法10

1.5.1 从Python Package Index中安装Python和其他软件包10

1.5.2 使用Anaconda Python

软件包管理器11

1.5.3 科学计算、数据科学和机器学习软件包12

 1.6 本章小结13

第2章 训练简单的机器学习分类算法14

 2.1 人工神经元——机器学习早期历史一瞥14

2.1.1 人工神经元的定义15

2.1.2 感知机学习规则16

 2.2 使用Python实现感知机学习算法19

2.2.1 面向对象的感知机API19

2.2.2 使用鸢尾花数据集训练感知机22

 2.3 自适应线性神经元与算法收敛27

2.3.1 使用梯度下降法最小化损失函数28

2.3.2 在Python中实现Adaline30

2.3.3 通过特征缩放改进梯度下降34

2.3.4 大规模机器学习与随机梯度下降36

 2.4 本章小结41

XIV

第3章 ScikitLearn机器学习分类算法之旅42

 3.1 分类算法的选择42

 3.2 学习ScikitLearn的第一步——训练感知机43

 3.3 用逻辑回归算法建模分类概率48

3.3.1 逻辑回归与条件概率48

3.3.2 用逻辑损失函数更新模型权重51

3.3.3 从Adaline的代码实现到逻辑回归的代码实现53

3.3.4 用ScikitLearn训练逻辑回归模型56

3.3.5 使用正则化避免模型过拟合59

 3.4 基于最大分类间隔的支持向量机62

3.4.1 理解最大分类间隔62

3.4.2 使用松弛变量解决非线性可分问题62

3.4.3 ScikitLearn中另外一种实现64

 3.5 使用核支持向量机求解非线性问题64

3.5.1 处理线性不可分数据的核方法64

3.5.2 使用核方法在高维空间中寻找分离超平面66

 3.6 决策树学习69

3.6.1 最大化信息增益70

3.6.2 构建决策树73

3.6.3 多棵决策树组成随机森林76

 3.7 基于惰性学习策略的k近邻算法78

 3.8 本章小结81

第4章 构建良好的训练数据集——数据预处理83

 4.1 处理缺失值83

4.1.1 识别表格数据中的缺失值83

4.1.2 删除含有缺失值的样本或特征85

4.1.3 填补缺失值85

4.1.4 ScikitLearn的估计器86

 4.2 处理类别数据87

4.2.1 用pandas实现类别数据编码88

4.2.2 映射有序特征88

4.2.3 类别标签编码89

4.2.4 标称特征的独热编码90

 4.3 将数据集划分为训练数据集和测试数据集93

 4.4 使特征具有相同的尺度95

 4.5 选择有意义的特征97

4.5.1 用L1和L2正则化对模型复杂度进行惩罚98

4.5.2 L2正则化的几何解释98

4.5.3 L1正则化与稀疏解99

4.5.4 序贯特征选择算法102

 4.6 用随机森林评估特征重要性107

 4.7 本章小结109

第5章 通过降维方法压缩数据110

 5.1 无监督降维的主成分分析方法110

5.1.1 主成分分析的主要步骤110

5.1.2 提取主成分的步骤112

5.1.3 总方差和被解释的方差114

5.1.4 特征变换115

5.1.5 用ScikitLearn实现主成分分析118

5.1.6 评估特征的贡献120

 5.2 监督数据压缩的线性判别分析方法122

5.2.1 主成分分析与线性判别分析122

5.2.2 线性判别分析基本原理123

5.2.3 计算散布矩阵124

5.2.4 为新特征子空间选择线性判别式126

5.2.5 将样本投影到新的特征空间128

5.2.6 用ScikitLearn实现线性判别分析128

 5.3 非线性降维和可视化130

5.3.1 非线性降维的不足130

5.3.2 使用tSNE可视化数据131

 5.4 本章小结135

XV

第6章 模型评估和超参数调优的最佳实践136

 6.1 使用pipeline方法简化工作流程136

6.1.1 加载威斯康星乳腺癌数据集136

6.1.2 在pipeline中集成转换器和估计器138

 6.2 使用k折交叉验证评估模型性能140

6.2.1 holdout交叉验证140

6.2.2 k折交叉验证140

 6.3 用学习曲线和验证曲线调试算法144

6.3.1 使用学习曲线解决偏差和方差问题144

6.3.2 使用验证曲线解决过拟合和欠拟合问题146

 6.4 通过网格搜索微调机器学习模型148

6.4.1 通过网格搜索调整超参数148

6.4.2 通过随机搜索更广泛地探索超参数的配置149

6.4.3 连续减半超参数的搜索算法151

6.4.4 嵌套交叉验证153

 6.5 模型性能评估指标154

6.5.1 混淆矩阵155

6.5.2 精确率和召回率156

6.5.3 绘制ROC曲线158

6.5.4 多分类器评价指标160

6.5.5 处理类别不均衡问题161

 6.6 本章小结163

XVI

第7章 组合不同模型的集成学习164

 7.1 集成学习164

 7.2 通过绝对多数投票组合分类器167

7.2.1 实现一个简单的基于绝对多数投票的集成分类器167

7.2.2 使用绝对多数投票原则进行预测171

7.2.3 评估和调整集成分类器173

 7.3 bagging——基于bootstrap样本构建集成分类器179

7.3.1 bagging简介179

7.3.2 使用bagging对葡萄酒数据集中的样本进行分类180

 7.4 通过自适应boosting提高弱学习器的性能184

7.4.1 boosting的工作原理184

7.4.2 用ScikitLearn实现AdaBoost188

 7.5 梯度boosting——基于损失梯度训练集成分类器191

7.5.1 比较AdaBoost与梯度boosting191

7.5.2 通用的梯度boosting算法概述191

7.5.3 解释用于分类的梯度boosting算法193

7.5.4 用梯度boosting分类的例子194

7.5.5 使用XGBoost196

 7.6 本章小结197

第8章 用机器学习进行情感分析198

 8.1 对IMDb影评数据进行文本处理198

8.1.1 获取影评数据集199

8.1.2 将影评数据集预处理成更易使用的格式199

 8.2 词袋模型201

8.2.1 将单词转换为特征向量201

8.2.2 通过词频-逆文档频率评估单词的相关性203

8.2.3 文本数据清洗204

8.2.4 将文档处理成token206

 8.3 训练用于文档分类的逻辑回归模型208

 8.4 处理更大的数据——在线算法和核外学习方法210

 8.5 用潜在狄利克雷分配实现主题建模213

8.5.1 使用LDA分解文本

文档214

8.5.2 用ScikitLearn实现LDA214

 8.6 本章小结217

第9章 预测连续目标变量的回归分析218

 9.1 线性回归简介218

9.1.1 简单线性回归218

9.1.2 多元线性回归219

 9.2 探索艾姆斯住房数据集220

9.2.1 将艾姆斯住房数据集加载到DataFrame中220

9.2.2 可视化数据集的重要特征222

9.2.3 使用相关矩阵查看相关性223

 9.3 最小二乘线性回归模型的实现225

9.3.1 用梯度下降法求解回归参数225

9.3.2 用ScikitLearn估计回归模型的系数229

 9.4 使用RANSAC拟合稳健回归模型231

 9.5 评估线性回归模型的性能233

 9.6 使用正则化方法进行回归237

 9.7 将线性回归模型转化为曲线——多项式回归238

9.7.1 使用ScikitLearn添加多项式项239

9.7.2 建模艾姆斯住房数据集中的非线性关系240

 9.8 使用随机森林处理非线性关系243

9.8.1 决策树回归243

9.8.2 随机森林回归245

 9.9 本章小结247

XVII

第10章 处理无标签数据的聚类分析248

 10.1 使用k均值算法对样本分组248

10.1.1 用ScikitLearn实现k均值聚类248

10.1.2 k均值++——更聪明的簇初始化方法252

10.1.3 硬聚类与软聚类253

10.1.4 用肘方法求解最优簇的数量255

10.1.5 通过轮廓图量化聚类质量255

 10.2 把簇组织成层次树260

10.2.1 自底向上的聚类260

10.2.2 在距离矩阵上进行分层聚类262

10.2.3 热度图与树状图结合265

10.2.4 通过ScikitLearn进行凝聚聚类266

 10.3 通过DBSCAN定位高密度区域267

 10.4 本章小结272

XVIII

第11章 从零开始实现多层人工神经网络273

 11.1 用人工神经网络建立复杂函数模型273

11.1.1 单层神经网络274

11.1.2 多层神经网络结构275

11.1.3 利用前向传播激活神经网络277

 11.2 识别手写数字279

11.2.1 获取并准备MNIST数据集279

11.2.2 实现多层感知机282

11.2.3 神经网络训练代码287

11.2.4 评估神经网络的性能291

 11.3 训练人工神经网络295

11.3.1 损失函数的计算295

11.3.2 理解反向传播296

11.3.3 通过反向传播训练神经网络297

 11.4 关于神经网络的收敛性300

 11.5 关于神经网络实现的最后几句话300

 11.6 本章小结301

第12章 用PyTorch并行训练神经网络302

 12.1 PyTorch和模型的训练性能302

12.1.1 性能挑战302

12.1.2 什么是PyTorch303

12.1.3 如何学习PyTorch304

 12.2 学习PyTorch的第一步304

12.2.1 安装PyTorch305

12.2.2 在PyTorch中创建张量306

12.2.3 对张量形状和数据类型进行操作307

12.2.4 张量数学运算307

12.2.5 拆分、堆叠和连接张量309

 12.3 在PyTorch中构建输入pipeline310

12.3.1 使用已有张量创建PyTorch DataLoader311

12.3.2 将两个张量组合成一个联合数据集311

12.3.3 乱序、批处理和重复313

12.3.4 用存储在本地硬盘的文件创建数据集314

12.3.5 从torchvision.datasets库中获取数据集318

 12.4 在PyTorch中构建神经网络模型321

12.4.1 PyTorch神经网络模块322

12.4.2 构建线性回归模型322

12.4.3 使用torch.nn和torch.optim模块训练模型325

12.4.4 构建多层感知机对鸢尾花数据集分类326

12.4.5 在测试数据集上评估训练好的模型329

12.4.6 保存和重新加载训练好的模型329

 12.5 为多层神经网络选择激活函数330

12.5.1 回顾逻辑函数331

12.5.2 使用softmax函数估计多分类中的类别概率332

12.5.3 使用双曲正切函数拓宽输出范围333

12.5.4 整流线性单元335

 12.6 本章小结337

第13章 深入探讨PyTorch的工作原理338

 13.1 PyTorch的主要功能338

 13.2 PyTorch的计算图339

13.2.1 理解计算图339

13.2.2 在PyTorch中创建计算图339

 13.3 用于存储和更新模型参数的PyTorch张量340

 13.4 通过自动微分计算梯度342

13.4.1 计算损失函数关于可微变量的梯度342

13.4.2 自动微分343

13.4.3 对抗样本344

 13.5 使用torch.nn模块简化常见结构344

13.5.1 使用nn.Sequential实现模型344

13.5.2 选择损失函数345

13.5.3 解决XOR分类问题346

13.5.4 使用nn.Module灵活构建模型350

13.5.5 使用PyTorch编写自定义层352

 13.6 项目1:预测汽车的燃油效率356

13.6.1 使用特征列357

13.6.2 训练DNN回归模型360

 13.7 项目2:分类MNIST手写数字362

XIX

 13.8 高级PyTorch API:PyTorch Lightning简介364

13.8.1 构建PyTorch Lightning模型365

13.8.2 为Lightning 设置数据加载器367

13.8.3 使用PyTorch Lightning Trainer类训练模型369

13.8.4 使用TensorBoard评估模型370

 13.9 本章小结373

第14章 使用深度卷积神经网络对图像进行分类374

 14.1 卷积神经网络的组成模块374

14.1.1 了解卷积神经网络和层次特征375

14.1.2 离散卷积376

14.1.3 下采样层383

XX

 14.2 构建卷积神经网络385

14.2.1 处理多个输入通道385

14.2.2 使用L2范数和dropout对神经网络正则化388

14.2.3 分类任务的损失函数390

 14.3 使用PyTorch实现深度卷积神经网络392

14.3.1 多层卷积神经网络结构392

14.3.2 数据加载和预处理393

14.3.3 使用torch.nn模块实现卷积神经网络394

 14.4 使用卷积神经网络对人脸图像进行微笑分类400

14.4.1 加载CelebA数据集400

14.4.2 图像转换和数据增广401

14.4.3 训练卷积神经网络微笑分类器407

 14.5 本章小结413

第15章 用循环神经网络对序列数据建模415

 15.1 序列数据415

15.1.1 序列数据建模415

15.1.2 序列数据与时间序列数据416

15.1.3 序列数据的表示416

15.1.4 序列建模方法417

 15.2 用于序列数据建模的循环神经网络418

15.2.1 循环神经网络的循环机制418

15.2.2 循环神经网络激活值计算419

15.2.3 隐藏层循环与输出层循环421

15.2.4 远距离学习面临的问题424

15.2.5 长短期记忆网络425

 15.3 在PyTorch中实现循环神经网络426

15.3.1 项目1:基于IMDb影评进行情感分析427

15.3.2 项目2:在PyTorch中实现字符级语言建模437

 15.4 本章小结448

第16章 transformer:利用注意力机制改善自然语言处理效果449

 16.1 带有注意力机制的循环神经网络449

 16.2 自注意力机制453

 16.3 注意力是唯一需要的:最初的transformer460

 16.4 利用未标注的数据构建大型语言模型467

 16.5 用PyTorch微调BERT模型478

 16.6 本章小结489

XXI

第17章 用于合成新数据的生成对抗网络491

 17.1 生成对抗网络491

 17.2 从零开始实现生成对抗网络497

 17.3 用卷积GAN和Wasserstein GAN提高生成图像的质量510

 17.4 其他生成对抗网络应用529

 17.5 本章小结530

XXII

第18章 用于捕获图数据关系的图神经网络531

 18.1 图数据简介531

 18.2 理解图卷积534

 18.3 用PyTorch从零开始实现图神经网络540

 18.4 其他图神经网络层和最新的进展554

 18.5 本章小结559

第19章 在复杂环境中做决策的强化学习560

 19.1 从经验中学习概述560

 19.2 强化学习的理论基础563

 19.3 强化学习算法569

 19.4 实现第一个强化学习算法575

 19.5 深度Q学习概览588

 19.6 本章小结及本书总结595

版权声明:
作者:admin
链接:https://manboo.net/108.html
来源:学习笔记
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
QQ群
< <上一篇
下一篇>>
文章目录
关闭
目 录