神经网络

什么是神经网络?

你需要知道三件事

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

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

为什么神经网络很重要?

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

下面是一些使用人工神经网络的例子:

深度学习:浅滩

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

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

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

神经网络是如何工作的?

神经网络结合了多个处理层,使用并联操作的简单元件和由生物神经系统的启发。它由输入层,一个或多个隐藏层和输出层组成。在每层中,有几个节点或神经元,每个层使用前一层的输出作为其输入,所以神经元互连不同的层。每个神经元通常具有在学习过程中调节的权重,随着重量减少或增加,它会改变该神经元的信号的强度。

典型的神经网络架构。

使用神经网络的技术

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

监督学习

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

分类

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

回归

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

模式识别

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

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

无人监督的学习

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

聚类

聚类是一种无监督的学习方法,其中人工神经网络可用于探索数据分析,以查找数据中的隐藏模式或分组。此过程涉及通过相似性对数据进行分组。应用程序聚类分析包括基因序列分析,市场研究和对象识别。

用matlab开发浅层神经网络

使用工具和功能来管理大数据集,马铃薯®为机器学习、人工神经网络、深度学习、计算机视觉和自动驾驶提供专门的工具箱。

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

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

典型的神经网络设计流程

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

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

浅网络的分类和聚类

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

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

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

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

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

改进泛化万博 尤文图斯的两种解决方案包括:

  • 正则化修改网络的性能函数(培训过程最小化的错误措施)。通过包括权重和偏差的大小,正规化产生与训练数据很好的网络,并且当呈现新数据时表现出更平滑的行为。
  • 早期停止使用两个不同的数据集:培训集,更新权重和偏置,以及验证集,以停止培训网络开始过度提供数据

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