什么是神经网络?

你需要知道的三件事

神经网络是其分层结构类似于在脑神经元的联网结构的计算模型,与所连接的节点的层。神经网络可以借鉴的数据,因此它可以通过训练来识别模式,分类数据,并预测未来事件。

神经网络将你的输入分解成抽象层。它可以通过许多例子来识别语音或图像的模式,例如,就像人类的大脑一样。它的行为是由其各个元素的连接方式以及这些连接的强度或重量来定义的。在训练过程中,根据指定的学习规则自动调整这些权重,直到神经网络正确地执行所需的任务。

为什么神经网络有关系吗?

神经网络特别适合执行模式识别识别和分类语音、视觉和控制系统中的物体或信号。它们还可以用于执行时间序列预测和建模。

以下是一些关于神经网络应用的例子:

  • 电力公司准确预测他们电网的负荷确保其运行的发电机的可靠性和优化效率。
  • 自动取款机通过读取支票账号和存款金额可靠地接受银行存款。
  • 病理学家依靠癌症检测应用程序来引导他们在肿瘤分类为良性或恶性的,基于小区大小,丛厚度,有丝分裂,以及其他因素的均匀性。

深度学习

上连接的神经元层的两层或三层操作的神经网络被称为神经网络深度学习网络可以有很多层,甚至上百个。两者都是机器学习直接从输入数据学习技术。

深度学习得到了很多关注,而且理由很充分。它正在取得以前不可能取得的成果。

深度学习特别适合于复杂的识别应用,如面部识别、文本翻译和语音识别。它也是高级驾驶员辅助系统和车道分类、交通标志识别等任务中的关键技术。

神经网络是如何工作的?

神经网络结合了几个处理层,使用并行操作的简单元素,并受到生物神经系统的启发。它由一个输入层、一个或多个隐藏层和一个输出层组成。这些层通过节点或神经元相互连接,每一层使用前一层的输出作为其输入。

典型的神经网络结构。

用于神经网络的技术

用于设计神经网络应用程序的常用机器学习技术包括监督和非监督学习、分类、回归、模式识别和聚类。

监督学习

监督神经网络它们经过训练,能够根据样本输入生成所需的输出,特别适合于建模和控制动态系统、对有噪声的数据进行分类以及预测未来事件。深度学习工具箱™包括四种类型的监督网络:前馈,径向基,动态和学习矢量量化。

分类

分类是一种监督式机器学习,其中算法“学习”从标记数据的例子中对新观察进行分类。

回归

回归模型描述了一个响应(输出)变量和一个或多个预测(输入)变量之间的关系。

模式识别

模式识别是计算机视觉,雷达处理,语音识别和文本分类神经网络应用的一个重要组成部分。它通过将数据输入对象或基于关键要素类进行分类,即使用监督或无人监督的分类。

例如,在计算机视觉,监督模式识别技术被用于光学字符识别(OCR),面部检测,面部识别,对象检测和对象分类。在图像处理和计算机视觉,非监督模式识别技术被用于物体检测和图像分割。

无监督学习

无监督神经网络通过让神经网络不断调整自己以适应新的输入来训练。它们用于从由没有标记响应的输入数据组成的数据集中进行推断。您可以使用它们来发现数据中的自然分布、类别和类别关系。

深度学习工具箱包括两种类型的无监督网络:竞争层和自组织映射。

聚类

聚类是一种无监督学习方法,利用神经网络对数据进行探索性分析,发现数据中隐藏的模式或分组。这个过程涉及到根据相似度对数据进行分组。申请聚类分析包括基因序列分析,市场调研,和物体识别。

发展与MATLAB浅神经网络

用于管理大型数据集的工具和功能,MATLAB®提供专门的工具盒与机器学习,神经网络,深度学习,计算机视觉,和自动驾驶。

只需要几行代码,MATLAB就可以让您在不成为专家的情况下开发神经网络。快速开始,创建和可视化模型,并将模型部署到服务器和嵌入式设备上。

使用MATLAB,您可以将结果集成到现有的应用程序中。MATLAB自动将您的神经网络模型部署到企业系统、集群、云和嵌入式设备上。

设计神经网络的典型工作流程

每个神经网络应用程序都是独特的,但开发网络通常遵循以下步骤:

  1. 访问和准备您的数据
  2. 创建神经网络
  3. 配置网络的输入和输出
  4. 调整网络参数(权重和偏差)以优化性能
  5. 培训网络
  6. 验证网络的结果
  7. 整合网络到生产系统

分类和浅层网络的集群

MATLAB和Deep Learning Toolbox提供命令行函数和应用程序,用于创建、训练和模拟浅层神经网络。这些应用程序使得开发用于分类、回归(包括时间序列回归)和聚类等任务的神经网络变得很容易。在这些工具中创建网络之后,您可以自动生成MATLAB代码来捕获您的工作并使任务自动化。

预处理、后处理和改进您的网络

对网络输入和目标进行预处理,提高了浅神经网络训练的效率。后处理可以对网络性能进行详细的分析。MATLAB和金宝app®提供工具来帮助你:

  • 利用主成分分析减少输入矢量的尺寸
  • 执行网络响应和相应的目标之间的回归分析
  • 调整输入和目标,使它们落在[-1,1]范围内
  • 对训练数据集的均值和标准差进行归一化处理
  • 创建网络时,使用自动数据预处理和数据分割

提高网络的泛化能力有助于防止过度拟合,过度拟合是神经网络设计中的一个常见问题。当一个网络已经记住了训练集,但还没有学会泛化到新的输入时,就会发生过拟合。过度拟合在训练集上产生相对较小的误差,但在向网络提供新数据时产生较大的误差。

提高泛化金宝搏官方网站的两个解决方案包括:

  • 正则化修改网络的perforance功能(错误训练过程最小化的措施)。通过包括重量和偏见的尺寸,正则产生执行以及与训练数据和呈现更平滑的行为与新的数据呈现时的网络。
  • 提前停止使用两个不同的数据集:训练集,当网络开始过度拟合数据更新权重和偏见,并验证组,停止训练

用于分析网络性能的后处理图,包括用于连续训练阶段(左上)的均方误差验证性能、用于训练、验证和测试阶段的误差直方图(右上)和混淆矩阵(右下)。

代码生成和部署

使用深度学习工具箱MATLAB编码器™,GPU编码器™,MATLAB编译器™,您可以部署训练有素的网络,嵌入式系统,或将它们具有广泛的生产环境进行集成。您可以使用MATLAB编码器生成C和C ++代码,你训练的网络,它可以模拟在PC硬件上受过训练的网络,然后部署网络的嵌入式系统。您可以使用MATLAB编译器和MATLAB编译SDK™部署训练有素的网络作为C/ c++共享库,微软®。网络组件,Java®Python类,®从MATLAB程序包。您也可以在部署的应用程序或组件训练的网络模型。

金宝app支持Si金宝appmulink

深度学习工具箱为在Simulink中构建浅层神经网络提供了一套模块。金宝app所有块都是兼容的金宝app仿真软件编码器™。这些区块被分为四个图书馆:

  • 传递函数模块,其采取的净输入向量,并产生一个相应的输出向量
  • 净输入功能块,它取任意数量的加权输入向量、加权层输出向量和偏差向量,并返回一个净输入向量
  • 权函数块,它应用一个神经元的权重向量的输入向量(或层输出向量),以获得用于神经元的加权输入值
  • 数据预处理块它将输入和输出数据映射到最适合神经网络直接处理的范围内

或者,您可以创建并在MATLAB环境下训练你的网络,并自动生成网络模拟块与Simulink的使用。金宝app这种方法,您还可以以图形方式查看您的网络。

应用程序使用神经网络

隆德大学(Lund University)开发了一个预测模型,并模拟了数千种风险组合,以提高接受者的长期存活率。
改进了利用神经网络从蛋白质谱上的质谱数据检测癌症的诊断方法。
训练神经网络的数字图像分类。