C#中的深度学习(三):理解神经网络结构
在这篇文章中,我们将回顾监督机器学习的基础知识,以及训练和验证阶段包括哪些内容。
在这里,我们将为不了解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#中的深度学习(三):理解神经网络结构的更多相关文章
- Deep learning for visual understanding: A review 视觉理解中的深度学习:回顾 之一
Deep learning for visual understanding: A review 视觉理解中的深度学习:回顾 ABSTRACT: Deep learning algorithms ar ...
- CNCC2017中的深度学习与跨媒体智能
CNCC2017中的深度学习与跨媒体智能 转载请注明作者:梦里茶 目录 机器学习与跨媒体智能 传统方法与深度学习 图像分割 小数据集下的深度学习 语音前沿技术 生成模型 基于贝叶斯的视觉信息编解码 珠 ...
- [ZZ] 深度学习三巨头之一来清华演讲了,你只需要知道这7点
深度学习三巨头之一来清华演讲了,你只需要知道这7点 http://wemedia.ifeng.com/10939074/wemedia.shtml Yann LeCun还提到了一项FAIR开发的,用于 ...
- [Deep-Learning-with-Python]计算机视觉中的深度学习
包括: 理解卷积神经网络 使用数据增强缓解过拟合 使用预训练卷积网络做特征提取 微调预训练网络模型 可视化卷积网络学习结果以及分类决策过程 介绍卷积神经网络,convnets,深度学习在计算机视觉方面 ...
- PyTorch中使用深度学习(CNN和LSTM)的自动图像标题
介绍 深度学习现在是一个非常猖獗的领域 - 有如此多的应用程序日复一日地出现.深入了解深度学习的最佳方法是亲自动手.尽可能多地参与项目,并尝试自己完成.这将帮助您更深入地掌握主题,并帮助您成为更好的深 ...
- Deep-Learning-with-Python] 文本序列中的深度学习
https://blog.csdn.net/LSG_Down/article/details/81327072 将文本数据处理成有用的数据表示 循环神经网络 使用1D卷积处理序列数据 深度学习模型可以 ...
- ui2code中的深度学习+传统算法应用
背景 在之前的文章中,我们已经提到过团队在UI自动化这方面的尝试,我们的目标是实现基于 单一图片到代码 的转换,在这个过程不可避免会遇到一个问题,就是为了从单一图片中提取出足够的有意义的结构信息,我们 ...
- 【深度学习】理解dropout
dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃.注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一个mini-batch都在训练不同的网络. ...
- 在浏览器中进行深度学习:TensorFlow.js (八)生成对抗网络 (GAN
Generative Adversarial Network 是深度学习中非常有趣的一种方法.GAN最早源自Ian Goodfellow的这篇论文.LeCun对GAN给出了极高的评价: “There ...
随机推荐
- 用FL Studio基础版制作一首完整的电音
电音制作,自然少不了适合做电音的软件,市面上可以进行电音制作的软件不少,可是如果在这些软件中只能选择一款的话,想必多数人会把票投给FL Studio,毕竟高效率是永远不变的真理,今天就让我们来看看如何 ...
- transform的2D和3D变换
transform取值 none:默认值,即是无转换 matrix(,,,,,): 以一个含六值的(a,b,c,d,e,f)变换矩阵的形式指定一个2D变换,相当于直接应用一个[a,b,c,d,e,f] ...
- 电脑装MySQL免安装版配置失败提示系统错误2怎么解决?
一·准备工作 我下载安装的版本是:mysql-8.0.16-winx64(免安装版) 下载地址:https://www.mysql.com/ (官网地址)https://cdn2.lmonkey.co ...
- HBase中Memstore存在的意义以及多列族引起的问题和设计
Memstore存在的意义 HBase在WAL机制开启的情况下,不考虑块缓存,数据日志会先写入HLog,然后进入Memstore,最后持久化到HFile中.HFile是存储在hdfs上的,WAL预写日 ...
- String.Split()函数 非原创
我们在上次学习到了 String.Join函数(http://blog.csdn.net/zhvsby/archive/2008/11/28/3404704.aspx),其中用到了String.SPl ...
- uniapp cli版本中如何引入scss?
一.安装依赖 npm i node-sass@4.14.1 sass-loader -D 二.在脚手架版本新建项目成功后,官方为我们准备了uni.scss文件,在这个里面写即可全局使用. ... 一. ...
- Springboot核心注解
运行文中的代码需要在项目构建中引入springboot 相关依赖. ① @configuration configuration,用来将bean加入到ioc容器.代替传统xml中的bean配置.代码示 ...
- argis android sdk配置备忘一下
ArcGIS RuntimeAndroid SDK100.1.0 1.在线配置(只有两处) 在project工程中的gradle添加 maven { url 'https://esri.bintray ...
- 学习工具---maven
写在前面 为什么要用maven? 作为一跨平台的项目管理工具,它有着以下丰富的应用场景: 作为程序员,有相当一部分时间花在编译.运行单元测试.生成文档.打包.部署和发布等不起眼的工作上,而maven将 ...
- Python中判断一个中文是否中文数字的方法
Python内置功能非常强大,在字符串内置函数中提供了一个判断字符串是否全数字的方法,而且这个方法不只是简单判断阿拉伯数字,包括中文数字和全角的阿拉伯数字都认识,这个函数就是字符串的isnumeric ...