Julia机器学习核心编程:人人可用的高性能科学计算
第1章 深入理解JULIA语言的生态系统 1
1.1 Julia为什么与众不同 1
1.2 Julia的应用领域 3
1.2.1 数据可视化和绘图 3
1.2.2 构建、部署或嵌入代码 4
1.2.3 与数据互动 5
1.2.4 可扩展的机器学习 5
1.2.5 丰富的科学计算生态系统 6
1.2.6 并行和异构计算 6
1.3 安装Julia软件 7
查看完整
1.1 Julia为什么与众不同 1
1.2 Julia的应用领域 3
1.2.1 数据可视化和绘图 3
1.2.2 构建、部署或嵌入代码 4
1.2.3 与数据互动 5
1.2.4 可扩展的机器学习 5
1.2.5 丰富的科学计算生态系统 6
1.2.6 并行和异构计算 6
1.3 安装Julia软件 7
查看完整
朱红庆:副教授。中国计算机协会(CCF)会员、现任科技局“实用高新技术创研小组”初创及负责人,技术攻坚组长。主要从事电子信息科学与技术专业的教学与科研工作。2012年指导本科生参加全国电子设计大赛,获得科技创新三等奖。先后主讲 “Java程序设计”“移动开发”等多门本科课程。王锋:中国科学院博士、硕士生导师、副教授。现主要从事电子技术、图像处理和信息融合等领域的研究工作;作为主要研究人员,参与 “十一五”国家科技支撑计划重点项目,主持河南省教育厅科技攻关项目一项(在研),现任河南工业大学信息科学与工程学院电子信息工程系副教授。
本书以学会用好Julia语言进行软件编程为目标。深入浅出地讲解Julia语言的各项技术及实战技能。全书共12章。首先讲解了Julia语言的基本概念、编程模式、变量、数据类型、函数、类型与分派、程序控制结构等Julia语言的基础知识等;接着介绍了Julia的交互性与元编程、数值与科学计算、数据可视化和图像处理、数据库编程、Julia编程的核心内幕等Julia语言的核心运用技能等;在最后通过综合案例详细讲解Julia在游戏开发中和数据量化处理方面的应用。全书不仅融入了作者丰富的工作经验和多年的使用心得,还提供了大量来自工作现场的实例,具有较强的实战性和可操作性。
第1章 深入理解JULIA语言的生态系统 1
1.1 Julia为什么与众不同 1
1.2 Julia的应用领域 3
1.2.1 数据可视化和绘图 3
1.2.2 构建、部署或嵌入代码 4
1.2.3 与数据互动 5
1.2.4 可扩展的机器学习 5
1.2.5 丰富的科学计算生态系统 6
1.2.6 并行和异构计算 6
1.3 安装Julia软件 7
1.3.1 在Ubuntu上安装Julia 8
1.3.2 在Fedora /CentOS/RHEL等Linux发行版上安装Julia 9
1.3.3 在Windows上安装Julia 9
1.3.4 在Mac上安装Julia 12
1.3.5 从源代码构建Julia 12
1.3.6 了解Julia源代码的目录结构 13
1.4 Julia在数据科学中的重要性 13
1.5 使用REPL 15
1.5.1 在Julia中使用帮助 16
1.5.2 REPL中的图表 19
1.6 使用Jupyter Notebook 19
1.7 使用Juno编写Julia 24
1.8 包管理 26
1.8.1 使用Pkg.status()显示包状态 27
1.8.2 使用Pkg.add()添加包 28
1.8.3 安装未注册包 29
1.8.4 使用Pkg.update()更新包 30
1.8.5 METADATA 30
1.8.6 开发包 30
1.8.7 创建一个新的包 30
1.9 多重分派 31
1.10 LLVM和JIT 32
1.11 本章小结 33
第2章 使用JULIA进行快速编程 34
?2.1 重温编程范式 34
2.1.1 命令式编程范式 35
2.1.2 逻辑式编程范式 35
2.1.3 函数式编程范式 36
2.1.4 面向对象的编程范式 37
2.1.5 开始Julia REPL编程 38
2.2 Julia中的变量 39
2.2.1 命名约定 41
2.2.2 整数、位、字节和布尔数据类型 42
2.3 Julia中的浮点数 44
2.4 浮点数的特殊函数 46
2.4.1 浮点数操作 47
2.4.2 任意精度的计算 47
2.4.3 使用系数编写表达式 48
2.5 Julia中的算术和逻辑运算 49
2.5.1 执行算术运算 49
2.5.2 执行按位运算 49
2.5.3 自更新运算符 50
2.5.4 运算符的优先级 51
2.5.5 类型转换(数字) 52
2.6 数组和矩阵 52
2.6.1 Julia中的列表解析式 54
2.6.2 矩阵运算 56
2.6.3 多维数组操作 59
2.6.4 稀疏矩阵 60
2.7 DataFrames 60
2.7.1 DataArray中的NA数据类型 60
2.7.2 表格 63
2.8 本章小结 64
第3章 JULIA函数 65
3.1 创建函数 65
3.2 函数参数 68
3.2.1 值传递和引用传递 69
3.2.2 分享传递 69
3.2.3 return关键字 69
3.3 参数类型 70
3.3.1 没有参数 71
3.3.2 可变参数 71
3.3.3 可选参数 73
3.4 理解函数中变量的作用域 74
3.5 嵌套函数 77
3.6 匿名函数 79
3.7 多重分派 80
3.8 递归 84
3.9 内建函数 85
3.10 本章小结 93
第4章 JULIA数据类型 94
4.1 Julia类型系统 94
4.1.1 静态类型语言与动态类型语言 95
4.1.2 整数类型 97
4.1.3 浮点类型 98
4.1.4 Char类型 98
4.1.5 字符串类型 98
4.1.6 布尔类型 99
4.2 类型转换 99
4.3 用户有定义数据类型和复合类型 105
4.4 内部构造器 107
4.5 模块和接口 110
4.5.1 将文件包含在模块中 112
4.5.2 模块文件路径 113
4.6 模块预编译 114
4.7 多重调度解释 115
4.8 本章小结 118
第5章 JULIA循环结构 119
5.1 分支结构 119
5.1.1 简单条件语句 120
5.1.2 if条件语句 121
5.1.3 循环结构 126
5.1.4 定义范围 130
5.2 异常处理 133
5.2.1 throw() 135
5.2.2 error() 138
5.2.3 try/catch/finally结构 139
5.3 Julia中的tasks 140
5.4 本章小结 142
第6章 JULIA互操作性和元编程 143
6.1 与操作系统交互 143
6.1.1 文件系统操作 144
6.1.2 I/O操作 148
6.1.3 例证 150
6.2 调用C和Python 151
6.2.1 从Julia调用C 151
6.2.2 从Julia调用Python 153
6.3 表达式和宏 155
6.4 元编程 159
6.5 内置宏 161
6.6 类型自省和反射能力 167
6.6.1 类型自省 167
6.6.2 反射能力 168
6.7 本章小结 169
第7章 用JULIA进行数值科学计算 170
7.1 数据处理 170
7.1.1 读取文本文件 173
7.1.2 读取CSV格式文件 176
7.1.3 使用DataFrames 179
7.1.4 NA 180
7.1.5 DataArray 182
7.1.6 DataFrame 183
7.2 线性代数与微分学 184
7.2.1 线性代数 184
7.2.2 微积分 186
7.3 统计 188
7.3.1 简单统计 189
7.3.2 元编程 191
7.3.3 使用DataFrames的基本统计信息 192
7.3.4 使用Pandas 193
7.3.5 高级统计 194
7.4 优化 201
7.4.1 JuMP 201
7.4.2 Convex.jl 203
7.5 本章小结 205
第8章 JULIA数据可视化编程 206
8.1 基本图表 206
8.1.1 条形图 209
8.1.2 饼图 210
8.1.3 散点图 212
8.1.4 直方图 213
8.1.5 3D表面图表 214
8.2 Vega库 216
8.2.1 瀑布图 219
8.2.2 Aster图 220
8.2.3 等值线图 221
8.2.4 面积图 222
8.2.5 箱线图 223
8.2.6 带状图 224
8.2.7 散点图 225
8.2.8 文字云 226
8.3 Gadfly库 227
8.3.1 使用绘图函数和Gadfly进行交互 227
8.3.2 使用Gadfly绘制数据块 230
8.4 本章小结 233
第9章 JULIA数据库编程 234
9.1 如何连接数据库 234
9.2 关系数据库 235
9.2.1 SQLite 236
9.2.2 MySQL 237
9.3 NoSQL数据库 239
9.3.1 MongoDB 240
9.4 REST简介 242
9.4.1 JSON简介 243
9.4.2 Web 框架 247
9.5 本章小结 252
第10章 JULIA的核心编程结构 253
10.1 Julia在后台如何运行 253
10.1.1 Femtolisp 253
10.1.2 Julia核心API 254
10.2 提升性能 254
10.2.1 全局变量 254
10.2.2 输入声明 255
10.2.3 其他性能提升 257
10.3 标准库 258
10.4 理解LLVM和JIT 261
10.5 并行计算 263
10.5.1 注意全局变量 265
10.5.2 并行运行循环 267
10.6 TCP套接字和服务 269
10.7 创建包 271
10.7.1 包命名指南 271
10.7.2 生成包 272
10.8 本章小结 273
第11章 创建WEB图书商务网站 274
11.1 安装Genie 274
11.2 使用Genie快速搭建服务器 275
11.3 创建Genie应用程序项目 279
11.4 Genie的MVC结构 283
11.4.1 使用Controller 283
11.4.2 HTML视图 286
11.4.3 使用布局 288
11.4.4 渲染JSON 290
11.5 使用SearchLight模组访问数据库 293
11.5.1 设置数据库链接 294
11.5.2 使用SearchLight迁移来管理数据库架构 295
11.5.3 创建图书的数据库表 295
11.5.4 编写表迁移 296
11.5.5 运行迁移 297
11.6 定义模型 297
11.6.1 使用模型 299
11.6.2 自动加载数据库配置 299
11.7 本章小结 302
第12章 JULIA机器学习框架 303
12.1 安装Flux框架 303
12.2 模型构建基础 304
12.2.1 简单的模型 306
12.2.2 构建图层 307
12.2.3 堆叠 309
12.2.4 层助手 310
12.3 循环模型 310
12.4 状态模型 313
12.5 序列 314
12.6 梯度截断 315
12.7 正则化 316
12.7.1 基本层 317
12.7.2 循环层 318
12.7.3 激活功能 320
12.7.4 规范化和正规化 320
12.8 优化器 321
12.9 优化参考 323
12.10 机器学习训练 323
12.10.1 损失函数 323
12.10.2 数据集 324
12.10.3 回调 325
12.11 本章小结 325
^ 收 起
1.1 Julia为什么与众不同 1
1.2 Julia的应用领域 3
1.2.1 数据可视化和绘图 3
1.2.2 构建、部署或嵌入代码 4
1.2.3 与数据互动 5
1.2.4 可扩展的机器学习 5
1.2.5 丰富的科学计算生态系统 6
1.2.6 并行和异构计算 6
1.3 安装Julia软件 7
1.3.1 在Ubuntu上安装Julia 8
1.3.2 在Fedora /CentOS/RHEL等Linux发行版上安装Julia 9
1.3.3 在Windows上安装Julia 9
1.3.4 在Mac上安装Julia 12
1.3.5 从源代码构建Julia 12
1.3.6 了解Julia源代码的目录结构 13
1.4 Julia在数据科学中的重要性 13
1.5 使用REPL 15
1.5.1 在Julia中使用帮助 16
1.5.2 REPL中的图表 19
1.6 使用Jupyter Notebook 19
1.7 使用Juno编写Julia 24
1.8 包管理 26
1.8.1 使用Pkg.status()显示包状态 27
1.8.2 使用Pkg.add()添加包 28
1.8.3 安装未注册包 29
1.8.4 使用Pkg.update()更新包 30
1.8.5 METADATA 30
1.8.6 开发包 30
1.8.7 创建一个新的包 30
1.9 多重分派 31
1.10 LLVM和JIT 32
1.11 本章小结 33
第2章 使用JULIA进行快速编程 34
?2.1 重温编程范式 34
2.1.1 命令式编程范式 35
2.1.2 逻辑式编程范式 35
2.1.3 函数式编程范式 36
2.1.4 面向对象的编程范式 37
2.1.5 开始Julia REPL编程 38
2.2 Julia中的变量 39
2.2.1 命名约定 41
2.2.2 整数、位、字节和布尔数据类型 42
2.3 Julia中的浮点数 44
2.4 浮点数的特殊函数 46
2.4.1 浮点数操作 47
2.4.2 任意精度的计算 47
2.4.3 使用系数编写表达式 48
2.5 Julia中的算术和逻辑运算 49
2.5.1 执行算术运算 49
2.5.2 执行按位运算 49
2.5.3 自更新运算符 50
2.5.4 运算符的优先级 51
2.5.5 类型转换(数字) 52
2.6 数组和矩阵 52
2.6.1 Julia中的列表解析式 54
2.6.2 矩阵运算 56
2.6.3 多维数组操作 59
2.6.4 稀疏矩阵 60
2.7 DataFrames 60
2.7.1 DataArray中的NA数据类型 60
2.7.2 表格 63
2.8 本章小结 64
第3章 JULIA函数 65
3.1 创建函数 65
3.2 函数参数 68
3.2.1 值传递和引用传递 69
3.2.2 分享传递 69
3.2.3 return关键字 69
3.3 参数类型 70
3.3.1 没有参数 71
3.3.2 可变参数 71
3.3.3 可选参数 73
3.4 理解函数中变量的作用域 74
3.5 嵌套函数 77
3.6 匿名函数 79
3.7 多重分派 80
3.8 递归 84
3.9 内建函数 85
3.10 本章小结 93
第4章 JULIA数据类型 94
4.1 Julia类型系统 94
4.1.1 静态类型语言与动态类型语言 95
4.1.2 整数类型 97
4.1.3 浮点类型 98
4.1.4 Char类型 98
4.1.5 字符串类型 98
4.1.6 布尔类型 99
4.2 类型转换 99
4.3 用户有定义数据类型和复合类型 105
4.4 内部构造器 107
4.5 模块和接口 110
4.5.1 将文件包含在模块中 112
4.5.2 模块文件路径 113
4.6 模块预编译 114
4.7 多重调度解释 115
4.8 本章小结 118
第5章 JULIA循环结构 119
5.1 分支结构 119
5.1.1 简单条件语句 120
5.1.2 if条件语句 121
5.1.3 循环结构 126
5.1.4 定义范围 130
5.2 异常处理 133
5.2.1 throw() 135
5.2.2 error() 138
5.2.3 try/catch/finally结构 139
5.3 Julia中的tasks 140
5.4 本章小结 142
第6章 JULIA互操作性和元编程 143
6.1 与操作系统交互 143
6.1.1 文件系统操作 144
6.1.2 I/O操作 148
6.1.3 例证 150
6.2 调用C和Python 151
6.2.1 从Julia调用C 151
6.2.2 从Julia调用Python 153
6.3 表达式和宏 155
6.4 元编程 159
6.5 内置宏 161
6.6 类型自省和反射能力 167
6.6.1 类型自省 167
6.6.2 反射能力 168
6.7 本章小结 169
第7章 用JULIA进行数值科学计算 170
7.1 数据处理 170
7.1.1 读取文本文件 173
7.1.2 读取CSV格式文件 176
7.1.3 使用DataFrames 179
7.1.4 NA 180
7.1.5 DataArray 182
7.1.6 DataFrame 183
7.2 线性代数与微分学 184
7.2.1 线性代数 184
7.2.2 微积分 186
7.3 统计 188
7.3.1 简单统计 189
7.3.2 元编程 191
7.3.3 使用DataFrames的基本统计信息 192
7.3.4 使用Pandas 193
7.3.5 高级统计 194
7.4 优化 201
7.4.1 JuMP 201
7.4.2 Convex.jl 203
7.5 本章小结 205
第8章 JULIA数据可视化编程 206
8.1 基本图表 206
8.1.1 条形图 209
8.1.2 饼图 210
8.1.3 散点图 212
8.1.4 直方图 213
8.1.5 3D表面图表 214
8.2 Vega库 216
8.2.1 瀑布图 219
8.2.2 Aster图 220
8.2.3 等值线图 221
8.2.4 面积图 222
8.2.5 箱线图 223
8.2.6 带状图 224
8.2.7 散点图 225
8.2.8 文字云 226
8.3 Gadfly库 227
8.3.1 使用绘图函数和Gadfly进行交互 227
8.3.2 使用Gadfly绘制数据块 230
8.4 本章小结 233
第9章 JULIA数据库编程 234
9.1 如何连接数据库 234
9.2 关系数据库 235
9.2.1 SQLite 236
9.2.2 MySQL 237
9.3 NoSQL数据库 239
9.3.1 MongoDB 240
9.4 REST简介 242
9.4.1 JSON简介 243
9.4.2 Web 框架 247
9.5 本章小结 252
第10章 JULIA的核心编程结构 253
10.1 Julia在后台如何运行 253
10.1.1 Femtolisp 253
10.1.2 Julia核心API 254
10.2 提升性能 254
10.2.1 全局变量 254
10.2.2 输入声明 255
10.2.3 其他性能提升 257
10.3 标准库 258
10.4 理解LLVM和JIT 261
10.5 并行计算 263
10.5.1 注意全局变量 265
10.5.2 并行运行循环 267
10.6 TCP套接字和服务 269
10.7 创建包 271
10.7.1 包命名指南 271
10.7.2 生成包 272
10.8 本章小结 273
第11章 创建WEB图书商务网站 274
11.1 安装Genie 274
11.2 使用Genie快速搭建服务器 275
11.3 创建Genie应用程序项目 279
11.4 Genie的MVC结构 283
11.4.1 使用Controller 283
11.4.2 HTML视图 286
11.4.3 使用布局 288
11.4.4 渲染JSON 290
11.5 使用SearchLight模组访问数据库 293
11.5.1 设置数据库链接 294
11.5.2 使用SearchLight迁移来管理数据库架构 295
11.5.3 创建图书的数据库表 295
11.5.4 编写表迁移 296
11.5.5 运行迁移 297
11.6 定义模型 297
11.6.1 使用模型 299
11.6.2 自动加载数据库配置 299
11.7 本章小结 302
第12章 JULIA机器学习框架 303
12.1 安装Flux框架 303
12.2 模型构建基础 304
12.2.1 简单的模型 306
12.2.2 构建图层 307
12.2.3 堆叠 309
12.2.4 层助手 310
12.3 循环模型 310
12.4 状态模型 313
12.5 序列 314
12.6 梯度截断 315
12.7 正则化 316
12.7.1 基本层 317
12.7.2 循环层 318
12.7.3 激活功能 320
12.7.4 规范化和正规化 320
12.8 优化器 321
12.9 优化参考 323
12.10 机器学习训练 323
12.10.1 损失函数 323
12.10.2 数据集 324
12.10.3 回调 325
12.11 本章小结 325
^ 收 起
朱红庆:副教授。中国计算机协会(CCF)会员、现任科技局“实用高新技术创研小组”初创及负责人,技术攻坚组长。主要从事电子信息科学与技术专业的教学与科研工作。2012年指导本科生参加全国电子设计大赛,获得科技创新三等奖。先后主讲 “Java程序设计”“移动开发”等多门本科课程。王锋:中国科学院博士、硕士生导师、副教授。现主要从事电子技术、图像处理和信息融合等领域的研究工作;作为主要研究人员,参与 “十一五”国家科技支撑计划重点项目,主持河南省教育厅科技攻关项目一项(在研),现任河南工业大学信息科学与工程学院电子信息工程系副教授。
本书以学会用好Julia语言进行软件编程为目标。深入浅出地讲解Julia语言的各项技术及实战技能。全书共12章。首先讲解了Julia语言的基本概念、编程模式、变量、数据类型、函数、类型与分派、程序控制结构等Julia语言的基础知识等;接着介绍了Julia的交互性与元编程、数值与科学计算、数据可视化和图像处理、数据库编程、Julia编程的核心内幕等Julia语言的核心运用技能等;在最后通过综合案例详细讲解Julia在游戏开发中和数据量化处理方面的应用。全书不仅融入了作者丰富的工作经验和多年的使用心得,还提供了大量来自工作现场的实例,具有较强的实战性和可操作性。
比价列表
公众号、微信群
缺书网
微信公众号
微信公众号
扫码进群
实时获取购书优惠
实时获取购书优惠