Julia机器学习核心编程:人人可用的高性能科学计算 - (EPUB全文下载)
文件大小:0.57 mb。
文件格式:epub 格式。
书籍内容:
Julia机器学习核心编程:人人可用的高性能科学计算
第1章 深入理解Julia语言的生态系统
1.1 Julia为什么与众不同
1.2 Julia的应用领域
1.3 安装Julia软件
1.4 Julia在数据科学中的重要性
1.5 使用REPL
1.6 使用Jupyter Notebook
1.7 使用Juno编写Julia
1.8 包管理
1.9 多重分派
1.10 LLVM和JIT
1.11 本章小结
第2章 使用Julia进行快速编程
2.1 重温编程范式
2.2 Julia中的变量
2.3 Julia中的浮点数
2.4 浮点数的特殊符号
2.5 Julia中的算术和逻辑运算
2.6 数组和矩阵
2.7 DataFrames
2.8 本章小结
第3章 Julia函数
3.1 创建函数
3.2 函数参数
3.3 参数类型
3.4 理解函数中变量的作用域
3.5 嵌套函数
3.6 匿名函数
3.7 多重分派
3.8 递归
3.9 内建函数
3.10 本章小结
第4章 Julia数据类型
4.1 Julia类型系统
4.2 类型转换
4.3 用户自定义数据类型和复合类型
4.4 内部构造
4.5 模块和接口
4.6 模块预编译
4.7 多重分派与解释
4.8 本章小结
第5章 Julia流程控制及异常处理
5.1 分支结构
5.2 异常处理
5.3 Julia中的tasks
5.4 本章小结
第6章 Julia互操作性和元编程
6.1 与操作系统交互
6.2 调用C和Python语言
6.3 表达式和宏
6.4 元编程
6.5 内置宏
6.6 类型自省和反射能力
6.7 本章小结
第7章 用Julia进行数值科学计算
7.1 数据处理
7.2 线性代数与微分学
7.3 统计数据
7.4 优化
7.5 本章小结
第8章 Julia数据可视化编程
8.1 基本图表
8.2 Vega库
8.3 Gadfly库
8.4 本章小结
第9章 Julia数据库编程
9.1 如何连接数据库
9.2 关系数据库
9.3 NoSQL数据库
9.4 REST简介
9.5 本章小结
第10章 Julia的核心编程结构
10.1 Julia的内部代码
10.2 提升性能
10.3 标准库
10.4 理解LLVM和JIT
10.5 并行计算
10.6 TCP套接字和服务器
10.7 创建包
10.8 本章小结
第11章 创建Web图书商务网站
11.1 安装Genie
11.2 使用Genie快速搭建服务器
11.3 创建Genie应用程序项目
11.4 Genie的MVC结构
11.5 使用SearchLight模组访问数据库
11.6 定义模型
11.7 本章小结
第12章 Julia机器学习框架
12.1 安装Flux框架
12.2 模型构建基础
12.3 循环模型
12.4 状态模型
12.5 序列
12.6 梯度截断
12.7 正则化
12.8 优化器
12.9 优化参考
12.10 机器学习训练
12.11 本章小结
第1章 深入理解Julia语言的生态系统
与其他现有的流行编程语言相比,Julia是一种全新的编程语言。Julia语言于2012年2月第一次向全世界公开并宣布开源。Julia语言的起源最早可以追溯到2009年,当时三位开发人员,麻省理工学院(MIT)的Viral Shah、Stefan Karpinski和Jeff Bezanson在阿兰·埃德尔曼教授的监督下开发了这种语言。Julia经过不断的发展,变得越来越有名,在TIOBE指数上排名不断提高,并在Stack Overflow上获得了支持。不少研究人员对Julia语言很感兴趣,特别是来自科学计算领域的研究人员。
本章重点知识:
• 为计算机配置Julia编程环境
• Julia的特殊之处
• Julia对数据科学的重要性
• 使用REPL和Jupyter NoteBook进行编程
• 理解LLVM和JIT
1.1 Julia为什么与众不同
科学计算程序是所有程序中对计算性能要求最高的。多年来,科学界一直使用动态语言来构建应用程序,但是动态语言有一个致命的缺点,就是相对于静态语言要慢得多。但是为什么在对速度要求如此高的科学计算领域,人们还是首选动态语言来进行编程呢?这样做的一个主要原因是,这些应用程序通常是由物理学家、生物学家、金融专家和其他领域专家开发的,尽管他们具有一定的编程经验,但毕竟不是经验丰富的开发人员,静态语言复杂的结构和语法对他们来说难以快速上手。
所以,相较于难以上手的静态语言,他们更偏爱动态语言;相较于更好的性能,他们更看重功能的实现难度和代码的可读性。而且,现在有一些特殊的软件包可以改善代码的性能,比如Numpy for Python。随着编译器技术和动态语言设计的进步,如今动态语言已经可以兼顾性能和可读性。比如Python,它是一种动态语言,并且可以提供C语言的性能(C是一种静态类型语言)。2012年,Julia问世。根据JuliaLang主页上提供的不同基准测试数据,Julia的性能表现可以与C/C++媲美。同时Julia与C/C++相比,它可以提供一个可以有效用于原型设计的环境,其交互友好性可以与Python媲美。Julia能做到如此水平,归功于Julia的设计和基于JIT编译器的LLVM。
下面的一段话来自Julia开发团队对Julia为什么被创造出来的一些看法。
“我们很贪心:我们想要更多,我们想要一种开源的语言,拥有自由许可。我们希望它兼具C的速度与Ruby的活力;有像Lisp这样的真正的宏,同时有一些明显的、熟悉的数学符号,就像MATLAB一样。我们还想要它像Python一样有可用于通用编程的特性,并且像R一样容易进行统计分析,像Perl一样自然地用于字符串处理,像MATLAB一样强大的线性代数计算能力,像Shell一样擅长将程序黏合在一起。它简单易学,但又让最专业的黑客感到高兴。我们希望它是交互式的,可以被编译。”
J ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » Julia机器学习核心编程:人人可用的高性能科学计算 - (EPUB全文下载)