什么是神经网络?

你需要知道的三件事

神经网络是一种计算模型,它的分层结构类似于大脑中神经元的网络结构,有多层连接的节点。神经网络可以从数据中学习,因此它可以被训练来识别模式、分类数据和预测未来事件。

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

为什么神经网络很重要?

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

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

  • 电力公司准确预测他们电网的负荷确保其运行的发电机的可靠性和优化效率。
  • 自动取款机通过读取你支票上的账号和存款金额来可靠地接受银行存款。
  • 病理学家依靠癌症检测根据细胞大小、簇厚、有丝分裂等因素的均匀性,将其用于指导肿瘤的良恶性分类。

深度学习

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

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

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

神经网络是如何工作的?

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

典型的神经网络结构。

用于神经网络的技术

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

监督式学习

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

分类

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

回归

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

模式识别

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

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

无监督学习

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

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

聚类

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

用MATLAB开发浅神经网络

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

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

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

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

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

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

浅网的分类和聚类

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

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

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

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

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

提高泛化万博 尤文图斯的两个解决方案包括:

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

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

代码生成和部署

使用深度学习工具箱MATLAB编码器™,GPU编码器™,MATLAB编译器™在美国,您可以将经过培训的网络部署到嵌入式系统,或者将它们与各种生产环境集成。您可以使用MATLAB编码器为经过训练的网络生成C和c++代码,这使您能够在PC硬件上模拟经过训练的网络,然后将网络部署到嵌入式系统。你可以用MATLAB编译MATLAB编译器SDK™部署训练有素的网络作为C/ c++共享库,微软®。网络组件,Java®Python类,®来自MATLAB程序的包。您还可以在部署的应用程序或组件中培训网络模型。

万博1manbetx仿真软件的支持万博1manbetx

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

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

或者,您可以在MATLAB环境中创建和训练您的网络,并自动生成用于Simulink的网络模拟块。万博1manbetx这种方法还使您能够以图形方式查看网络。

使用神经网络的应用

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