图书目录

目录

第1章条件语句/1

1.1语句入门1

1.1.1第一个C程序1

1.1.2第一个C++程序2

1.1.3顺序语句3

1.2条件语句if3

1.2.1只有if语句块3

1.2.2增加else语句块5

1.2.3否定分支进一步判断6

1.3非零即为真8

习题9

第2章循环语句/10

2.1while循环10

2.2dowhile循环14

2.3for循环18

2.4循环嵌套21

习题24

第3章语句进阶/26

3.1switch语句26

3.2continue语句29

3.3break语句32

习题36

第4章运算符/37

4.1自增自减运算符37

4.2条件运算符39

4.3逗号运算符41

4.4基本运算符42

4.4.1算术运算符43〖1〗C++程序设计目录〖3〗〖3〗

4.4.2关系运算符44

4.4.3逻辑运算符45

4.4.4位运算符47

4.4.5赋值运算符48

4.5优先级与结合性50

4.6与&的作用52

4.7作用域运算符53

4.8sizeof运算符54

习题55

第5章数据类型/57

5.1数据类型概述57

5.2指针和引用58

5.3ASCII码60

5.4整数64

5.5浮点数68

5.6bool类型70

5.7void类型71

5.8enum枚举73

5.9typedef74

5.10类型转换75

习题80

第6章函数/82

6.1函数声明与函数定义82

6.2形式参数与实际参数85

6.3函数调用的原理87

6.4函数重载88

6.5默认实参91

6.6递归函数93

习题95

第7章函数进阶/97

7.1变量的作用域97

7.1.1程序的内存结构97

7.1.2全局变量98

7.1.3命名空间变量100

7.1.4局部变量101

7.1.5静态局部变量103

7.1.6文字常量区104

7.1.7堆内存105

7.2指针和传地址106

7.3引用和传别名107

7.4内联函数108

7.5分离编译110

习题113

第8章数组/116

8.1一维数组的定义和初始化116

8.2一维数组和指针120

8.3二维数组的定义和初始化122

8.4二维数组和指针126

8.5多维数组129

习题130

第9章排序与查找/132

9.1排序算法132

9.1.1冒泡排序132

9.1.2插入排序134

9.1.3选择排序135

9.2查找算法136

习题139

第10章字符串/141

10.1字符数组141

10.2const修饰字符指针145

10.3字符指针数组146

10.4命令行参数与环境变量147

10.5字符串函数150

习题156

第11章指针进阶/157

11.1动态内存分配157

11.1.1malloc和free157

11.1.2new和delete158

11.2指针数组与指向指针的指针161

11.2.1指针数组161

11.2.2指向指针的指针162

11.2.3指向指针数组的指针163

11.3函数指针166

11.3.1函数指针定义167

11.3.2typedef函数指针类型168

11.3.3函数指针数组169

习题170

第12章结构与联合/172

12.1定义结构172

12.2使用结构变量176

12.3字节对齐178

12.4位域179

12.5结构数组和结构指针数组180

12.6联合181

习题182

第13章面向对象/183

13.1面向对象基础183

13.1.1面向对象的特点183

13.1.2定义和使用类184

13.1.3成员变量与成员函数190

13.2对象的创建与销毁192

13.2.1构造函数192

13.2.2初始化列表194

13.2.3析构函数196

13.2.4拷贝构造函数199

13.2.5浅拷贝与深拷贝201

13.3对象与类的关系204

13.3.1this指针204

13.3.2类的静态成员207

习题208

第14章类与对象的语法/210

14.1对象数组与对象指针数组210

14.2友元函数与友元类212

14.3const关键词修饰对象214

14.4类的分离编译216

习题218

第15章继承/220

15.1基类与派生类220

15.2继承方式223

15.3派生类对象的构造226

15.4多继承228

习题237

第16章多态性/239

16.1静态多态性239

16.2虚函数与多态性240

16.2.1虚函数简介240

16.2.2多态性简介242

16.2.3无多态性的情况244

16.3虚析构函数245

16.4纯虚函数与抽象类247

习题250

第17章模板/252

17.1模板简介252

17.2函数模板254

17.3类模板257

17.4继承类模板262

17.5类模板对象作为函数参数263

习题264

第18章运算符重载/265

18.1如何重载运算符265

18.2运算符重载的规则267

18.3重载流运算符268

18.4重载一元运算符270

18.5重载关系运算符272

18.6重载赋值运算符273

18.7重载下标运算符276

18.8函数对象277

18.9类型转换运算符278

习题280

第19章输入输出/283

19.1C语言文件函数283

19.1.1文件指针283

19.1.2文件函数284

19.1.3C读写文件实例287

19.2C++输入输出流290

19.2.1输入输出流类库290

19.2.2操作流的函数292

19.2.3C++读写文件实例294

习题298

第20章异常处理/299

20.1异常的抛出与捕获299

20.2异常规范303

20.2.1声明函数抛出异常303

20.2.2异常捕获的匹配原则304

20.2.3异常安全304

20.3预定义异常304

20.4自定义异常306

20.5异常的优缺点308

习题308

第1部分神经网络与深度学习

第1章人工神经网络/3

1.1起源和发展3

1.2什么是深度学习5

1.3神经网络的表示8

1.4数学基础理论12

1.4.1数据类型12

1.4.2函数基础15

1.4.3线性代数20

1.4.4梯度计算28

1.4.5概率分布30

1.4.6代码示例36

1.5机器学习基础38

1.5.1什么是分类40

1.5.2一个简单的分类器: 朴素贝叶斯45

1.5.3一个简单的神经网络: 逻辑回归47

1.5.4评估分类结果54

1.6表征学习57

1.6.1主成分分析58

1.6.2词袋的表征66

第2章前馈神经网络/69

2.1单层感知器69

2.2三层神经网络75

2.3激活函数80

2.3.1线性函数80

2.3.2逻辑函数81

2.4更新权重87

2.4.1学习规则87

2.4.2反向传播95

2.4.3梯度下降102

2.5代码示例105

2.6修改和扩展107

2.6.1预期泛化误差108

2.6.2正则化的思想113

2.6.3调整超参数119

2.6.4其他的问题123

〖1〗自然语言处理——基于深度学习的理论与案例目录〖3〗〖3〗第3章深度学习网络/126

3.1深度的定义127

3.2卷积神经网络128

3.2.1什么是卷积计算129

3.2.2感受野与卷积层131

3.2.3特征图和池化层136

3.2.4一个卷积网络138

3.2.5用于文本分类141

3.3循环神经网络143

3.3.1不等长序列143

3.3.2循环连接的构成145

3.3.3长短期记忆网络148

3.3.4三种训练方法152

3.3.5一个简单的实现155

3.4深度分布式表征160

3.4.1自编码器160

3.4.2神经语言模型167

第2部分自然语言处理与转换器网络

第4章自然语言处理/179

4.1历史发展179

4.2常见任务183

4.2.1字符和语音识别183

4.2.2形态分析183

4.2.3句法分析185

4.2.4词汇语义186

4.2.5关系语义187

4.2.6话语188

4.2.7高级任务190

4.3未来趋势192

4.4认识转换器195

4.4.1编码器到解码器框架196

4.4.2注意力机制198

4.4.3迁移学习201

4.4.4Hugging Face生态205

4.4.5面对挑战211

第5章转换器网络/212

5.1转换器介绍212

5.2理解编码器215

5.2.1输入嵌入层217

5.2.2位置编码218

5.2.3多头自注意力层221

5.2.4残值连接与层归一化230

5.2.5前馈网络层232

5.3理解解码器233

5.3.1掩码多头注意力层235

5.3.2多头注意力层239

5.3.3线性层和Softmax层242

5.3.4运行流程243

5.4训练转换器244

5.5转换器家族246

5.5.1编码器分支246

5.5.2解码器分支253

5.5.3编码器到解码器分支255

5.6概括258

第3部分自然语言处理案例分析

第6章文本分类案例分析/261

6.1数据集261

6.1.1查看数据262

6.1.2转换到数据框265

6.1.3查看类别分布266

6.1.4查看推文长度266

6.2从文本到标记267

6.2.1字符标记化267

6.2.2词标记化269

6.2.3子词标记化270

6.2.4整个数据集272

6.3训练分类器274

6.3.1特征提取器275

6.3.2微调转换器283

第7章实体识别案例分析/288

7.1数据集288

7.2多语言转换器292

7.3标记化管道294

7.4模型类剖析297

7.4.1模型体和头297

7.4.2创建自定义模型297

7.4.3加载自定义模型299

7.5标记文本301

7.6绩效衡量303

7.7微调XLMR304

7.8错误分析305

第8章文本生成案例分析/310

8.1生成连贯文本310

8.2贪心搜索解码311

8.3集束搜索解码313

8.4抽样方法317

第9章文本摘要案例分析/323

9.1数据集323

9.2文本摘要管道324

9.2.1基线324

9.2.2GPT2325

9.2.3T5325

9.2.4BART326

9.2.5PEGASUS326

9.2.6比较不同327

9.3衡量指标328

9.3.1BLEU 328

9.3.2ROUGE333

第10章问答系统案例分析/336

10.1基于评审的问答系统336

10.1.1数据集337

10.1.2从文本中提取答案340

参考文献/349