在这篇文章中,我们将回顾监督机器学习的基础知识,以及训练和验证阶段包括哪些内容。

在这里,我们将为不了解AI的读者介绍机器学习(ML)的基础知识,并且我们将描述在监督机器学习模型中的训练和验证步骤。

ML是AI的一个分支,它试图通过归纳一组示例而不是接收显式指令来让机器找出如何执行任务。ML有三种范式:监督学习、非监督学习和强化学习。在监督学习中,一个模型(我们将在下面讨论)通过一个称为训练的过程进行学习,在这个过程中,它会提供示例输入和正确输出。它了解数据集示例中哪些特性映射到特定输出,然后能够在一个称为预测的阶段预测新的输入数据。在无监督学习中,模型通过分析数据之间的关系来学习数据的结构,而不涉及任何其他过程。在强化学习中,我们建立模型,通过试验和错误技术,随着时间的推移学习和改进。

ML中的模型是什么?模型是一个简单的数学对象或实体,它包含一些关于AI的理论背景,以便能够从数据集学习。在监督学习中流行的模型包括决策树、向量机,当然还有神经网络。

神经网络是按堆栈的形状分层排列的。除了输入层和输出层之外,每一层的节点都接收来自上一层节点的输入,也可以接收来自下一层节点的输入,同样也可以向上一层和下一层节点发送信号或输出。

在一个神经网络中,我们总是存在输入和输出层,可能有一个或多个隐藏层。

最简单的NN是感知器,它是包含的输入层和输出层单个节点。

对于神经网络中的每条边都有一个关联的权重值,这是对于每个节点都有关联的值。例如,输入层中每个节点的值可以来自与数据集中的图像相关联的像素值输入数组。为了计算下一层节点的值,我们计算连接到该节点的输入的加权和。这就是传递函数。一旦计算出这个值,它就被传递给另一个称为激活函数的函数,该函数根据阈值确定该节点是否应该触发到下一层。有些激活函数是二进制的,有些则有多个输出。

通常在神经网络的末尾,我们有一个激活函数,它对传递到输入层的数据进行分类(做出决定)。在硬币识别的情况下,它将决定图像中硬币的类别或类型。神经网络中的学习过程可以仅仅看作是对其权重的调整,以便为每个给定的输入获得预期的输出。一旦对模型进行了训练,得到的权重就可以被保存下来。

当一个神经网络有一个以上的隐藏层时,我们将其称为深度学习(DL)。DL是一套依赖于神经网络且不止一个隐藏层的技术。拥有多个隐藏层的原因是提供比单一隐藏层神经网络更准确的结果。实践证明,深度神经网络比单层神经网络能产生更快更准确的结果。你添加到你的神经网络的每一层都有助于从数据集学习复杂的特征。

神经网络包含许多需要调整以获得更好性能的参数。为了能够检查参数优化的有效性和神经网络本身的性能,我们留出很大一部分的原始数据集(通常大于70%)作为训练集,使用其他验证(测试)组。验证集也帮助我们防止过度拟合,这发生在一个模型学习太好一组非常相似的对象数据集,使它太适合这个数据和不适合新数据。

在下一篇文章中,我们将研究用于硬币识别问题的卷积神经网络,并将在Keras.NET中实现一个卷积神经网络。

欢迎关注我的公众号,如果你有喜欢的外文技术文章,可以通过公众号留言推荐给我。

原文链接:https://www.codeproject.com/Articles/5284227/Deep-Learning-in-Csharp-Understanding-Neural-Netwo

C#中的深度学习(三):理解神经网络结构的更多相关文章

  1. Deep learning for visual understanding: A review 视觉理解中的深度学习:回顾 之一

    Deep learning for visual understanding: A review 视觉理解中的深度学习:回顾 ABSTRACT: Deep learning algorithms ar ...

  2. CNCC2017中的深度学习与跨媒体智能

    CNCC2017中的深度学习与跨媒体智能 转载请注明作者:梦里茶 目录 机器学习与跨媒体智能 传统方法与深度学习 图像分割 小数据集下的深度学习 语音前沿技术 生成模型 基于贝叶斯的视觉信息编解码 珠 ...

  3. [ZZ] 深度学习三巨头之一来清华演讲了,你只需要知道这7点

    深度学习三巨头之一来清华演讲了,你只需要知道这7点 http://wemedia.ifeng.com/10939074/wemedia.shtml Yann LeCun还提到了一项FAIR开发的,用于 ...

  4. [Deep-Learning-with-Python]计算机视觉中的深度学习

    包括: 理解卷积神经网络 使用数据增强缓解过拟合 使用预训练卷积网络做特征提取 微调预训练网络模型 可视化卷积网络学习结果以及分类决策过程 介绍卷积神经网络,convnets,深度学习在计算机视觉方面 ...

  5. PyTorch中使用深度学习(CNN和LSTM)的自动图像标题

    介绍 深度学习现在是一个非常猖獗的领域 - 有如此多的应用程序日复一日地出现.深入了解深度学习的最佳方法是亲自动手.尽可能多地参与项目,并尝试自己完成.这将帮助您更深入地掌握主题,并帮助您成为更好的深 ...

  6. Deep-Learning-with-Python] 文本序列中的深度学习

    https://blog.csdn.net/LSG_Down/article/details/81327072 将文本数据处理成有用的数据表示 循环神经网络 使用1D卷积处理序列数据 深度学习模型可以 ...

  7. ui2code中的深度学习+传统算法应用

    背景 在之前的文章中,我们已经提到过团队在UI自动化这方面的尝试,我们的目标是实现基于 单一图片到代码 的转换,在这个过程不可避免会遇到一个问题,就是为了从单一图片中提取出足够的有意义的结构信息,我们 ...

  8. 【深度学习】理解dropout

    dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃.注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一个mini-batch都在训练不同的网络. ...

  9. 在浏览器中进行深度学习:TensorFlow.js (八)生成对抗网络 (GAN

    Generative Adversarial Network 是深度学习中非常有趣的一种方法.GAN最早源自Ian Goodfellow的这篇论文.LeCun对GAN给出了极高的评价: “There ...

随机推荐

  1. JavaSE 学习笔记07丨IO流

    Chapter 13. IO流 13.1 File类 java.io.File类是文件(file)和目录(文件夹)(directory)路径名(path)的抽象表示,主要用于文件和目录的创建.查找和删 ...

  2. kafka入门之broker-副本与ISR设计

    kafka把分区的所有副本均匀地分配到所有broker上,并从这些副本中挑选一个作为leader副本对外提供服务,而其他副本被称为follower副本,只能被动地向leader副本请求数据,从而保持与 ...

  3. Istio 之ServiceEntry

    使用服务条目资源(ServiceEntry)可以将条目添加到 Istio 内部维护的服务注册表中.添加服务条目后,Envoy 代理可以将流量发送到该服务,就好像该服务条目是网格中的服务一样.通过配置服 ...

  4. Codeforces Round #677 (Div. 3)

    F. Zero Remainder Sum || dp #include <cstdio> #include <algorithm> #include <cstring& ...

  5. 【译】理解Rust中的局部移动

    原文标题:Understanding Partial Moves in Rust 原文链接:https://whileydave.com/2020/11/30/understanding-partia ...

  6. 20190705_关于winform程序修改程序名后, 报未将对象引用设置到对象的实例

    winform做了一个小项目, 其中要用到数据库连接, 字符串, private string ConnStringSource = System.Configuration.Configuratio ...

  7. 排序--ShellSort 希尔排序

    希尔排序 no 实现 希尔排序其实就是插入排序.只不过希尔排序在比较的元素的间隔不是1. 我们知道插入排序 都是 一个一个和之前的元素比较.发现比之前元素小就交换位置.但是希尔排序可能是和前第n个元素 ...

  8. Vue3教程:Vue 3.x 快在哪里?

    人云亦云,并不会让你变得有多优秀,而会让你越来越随大流. 当你和别的开发在聊到 Vue 3.0 版本发布,有哪些亮点时,你的答案之一肯定有"它变得更快了,性能上快了 1.2 - 2倍&quo ...

  9. 第8.31节 Python中使用__delattr__清除属性数据

    一. 引言 在前面几节我们介绍了__ getattribute__方法和__setattr__方法,分别实现了实例属性的查询和修改(含定义即新增),作为Python中数据操作必不可少的三剑客get.s ...

  10. PyQt Designer中带参数的信号为什么匹配不到带参数的槽函数?

    老猿在学习ListView组件时,想实现一个在ListView组件中选中一个选择项后触发消息给主窗口,通过主窗口显示当前选中的项的内容. 进入QtDesigner后,设计一个图形界面,其中窗口界面使用 ...