正文
1 MATLAB:一个统一友好的环境
1.1 介绍
1.2 设置异或实验
1.3 停止准则和正则化
1.4 绘制分离面
2 Torch 和 Lua 环境
2.1 介绍
2.2 起步
2.2.1 Lua
2.2.2 Torch 环境
2.3 设置异或实验
2.4 停止准则和正则化
2.5 绘制分离面
3 TensorFlow
3.1 介绍
3.2 起步
3.2.1 Python
3.2.2 TensorFlow 环境
3.2.3 安装
3.3 设置异或实验
4 MNIST 手写字符识别
4.1 MATLAB 上的 MNIST
4.2 Torch 上的 MNIST
4.3 TensorFlow 上的 MNIST
5 卷积神经网络
5.1 MATLAB
5.2 Torch
5.3 TensorFlow
6 关键比较
6.1 MATLAB
6.2 Torch
6.3 TensorFlow
6.4 比较总体概览
6.5 计算问题
1 Matlab:一个统一的友好环境
1.1 介绍
Matlab 是一个强大的工具,能够对大部分类型的数值运算、算法、编程和测试进行简单又快速的处理。其直观且友好的交互式接口使得它能简单地对数据进行处理、可视化与分析。针对各种类型的任务,该软件提供了大量的内置数学函数,以及丰富的、易于获取的文档。其主要设计是处理矩阵的,因此,几乎所有的函数和运算都向量化了,也就是说它们可以管理标量以及向量、矩阵和张量(往往会有)。因此,其能更高效地避免循环(可能的时候),以及建立利用矩阵乘法的运算。
在此文档中,我们只展现了一些简单的用于上手人工神经网络(ANN)的机器学习相关的工具。我们假设读者有基础知识,并把重点放在了进一步信息的官方文档上。例如,你可以从 Matlab 的官网发现如何掌握该软件的相关信息。确实,其许可证并非免费的,虽然大部分大学会为学生提供教学用许可证,但可能也无法获取目前所有的程序包。特别是 Statistic and Machine Learning Toolbox 和 Neural Network Toolbox 提供了大量内置函数和模型,可用于实现适用于各类任务的不同 ANN 架构。
即使我们参考一些简单独立的案例,这两个工具也是基本所需的。最容易理解的是 nnstart 函数,其能激活一个简单的 GUI 并通过简单的 2 层架构来引导用户。它能允许加载可用的数据样本或使用用户自定义数据(即输入数据和对应目标的两个矩阵),还能训练网络并分析结果(误差趋势、混淆矩阵、ROC 曲线等)。
然而,还有更多可用于特定任务的函数。比如说,patternnet 函数是专为模式识别问题而设计的、newfit 函数适用于回归问题,而 feedforwardnet 函数是最灵活的,其允许构建自定义的和复杂的网络。所有的版本都以类似方式实现,主要的选项和方法适用于所有函数。在下一章节中,我们展示了如何管理可定制架构,并开始解决非常基础的问题。相关详细信息可以在官方网站找到:http://ch.mathworks.com/help/nnet/getting-started-with-neural-network-toolbox.html
2 Torch 和 Lua 环境
2.1 介绍