什么是神经网络?

你需要知道的三件事

神经网络(也称为人工神经网络)是一种自适应系统,通过使用类似人脑的分层结构中相互连接的节点或神经元进行学习。神经网络可以从数据中学习,以便对其进行训练以识别模式、分类数据和预测未来事件。

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

为什么神经网络很重要?

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

以下是一些人工神经网络的使用示例:

深度学习:浅网和深网

深度学习是一个经常使用人工神经网络的领域。一个常见的应用是卷积神经网络,用于对图像、视频、文本或声音进行分类。

由两到三层相连的神经元层组成的神经网络被称为神经网络浅的神经网络.深度学习网络可以有许多层,甚至数百层。两者都是直接从输入数据中学习的机器学习技术。

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

神经网络是如何工作的?

神经网络结合了几个处理层,使用简单的元素并行操作,并受到生物神经系统的启发。它由一个输入层、一个或多个隐藏层和一个输出层组成。每一层都有几个节点或神经元,每一层使用前一层的输出作为其输入,因此神经元将不同层连接起来。每个神经元通常都有在学习过程中调整的权重,随着权重的减少或增加,它会改变该神经元信号的强度。

典型的神经网络结构。

神经网络技术

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

监督式学习

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

分类

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

回归

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

模式识别

模式识别是人工神经网络在计算机视觉、雷达处理、语音识别和文本分类等方面应用的重要组成部分。它的工作原理是根据关键特征将输入数据分类为对象或类,使用监督或非监督分类。

例如,在计算机视觉中,监督模式识别技术被用于光学字符识别(OCR)、人脸检测、人脸识别、目标检测和目标分类。在图像处理和计算机视觉中,无监督模式识别技术被用于目标检测和图像分割。

无监督学习

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

聚类

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

用MATLAB开发浅层神经网络

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

只需几行代码,MATLAB就可以让你不用成为专家而开发神经网络。快速入门,创建和可视化模型,并将模型部署到服务器和嵌入式设备。

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

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

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

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

浅层网络的分类与聚类

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

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

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

  • 利用主成分分析降低输入向量的维数
  • 在网络响应与相应目标之间进行回归分析
  • 调整输入和目标的比例,使其在[-1,1]范围内
  • 标准化训练数据集的平均值和标准偏差
  • 在创建网络时使用自动数据预处理和数据划分

提高网络的泛化能力有助于防止过度拟合,这是人工神经网络设计中的一个常见问题。当一个网络已经记住了训练集,但还没有学会概括新的输入时,就会发生过度拟合。过拟合会在训练集上产生相对较小的误差,但在向网络提供新数据时会产生更大的误差。了解更多有关如何实现目标的信息使用交叉验证以避免过度拟合.

提高通用金宝搏官方网站性的两种解决方案包括:

  • 正规化修改网络的性能函数(训练过程最小化的误差度量)。通过包含权重和偏差的大小,正则化产生了一个网络,它能很好地处理训练数据,并且在面对新数据时表现出更流畅的行为。
  • 早期停止使用两个不同的数据集:用于更新权重和偏差的训练集,以及当网络开始过拟合数据时停止训练的验证集

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