首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >尽管神经网络的总体误差较低,但C# Encog神经网络的期望输出仍与实际误差相差甚远。

尽管神经网络的总体误差较低,但C# Encog神经网络的期望输出仍与实际误差相差甚远。
EN

Stack Overflow用户
提问于 2014-04-09 07:33:32
回答 1查看 672关注 0票数 3

我已经试着让恩奥克走了几天了。

我的数据包括4个输入变量(1到1000之间)和1个输出变量(在-30到30之间)。我正在训练大约50,000行数据。

在将数据传递到具有以下结构和训练的神经网络之前,对数据进行规范化( tanh激活函数在-1到1之间):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 Network.AddLayer(new BasicLayer(null, true, 4));
 Network.AddLayer(new BasicLayer(new ActivationTANH(), true, 8));
 Network.AddLayer(new BasicLayer(new ActivationTANH(), false, 1));
 Network.Structure.FinalizeStructure();
 Network.Reset();

 IMLDataSet trainingData = new BasicMLDataSet(Input.ToArray(), ExpectedOutput.ToArray());

 IMLTrain train = new ResilientPropagation(Network, trainingData);

 int epoch = 1;

 do
 {
     train.Iteration();
     Console.WriteLine(@"Epoch #" + epoch + @" Error:" + train.Error);
     epoch++;
 } while (train.Error > 0.024);

然后,程序输出每一行的预期输出以及来自神经网络的实际输出。下面是输出(几行)的屏幕截图:http://i.imgur.com/UVWCOis.png

如您所见,在输出输出之前,误差(即所有行的神经网络的平均误差)必须小于0.024。但是许多预期的和实际的输出都有很大的误差。

我认为神经网络对传播不够敏感。神经网络的实际输出似乎都是非常接近的,我相信是因为它们离初始的随机权值并没有太大的偏差。

有人能建议我怎么解决这个问题吗?

我试着缩小输入的大小(我用了50),我也尝试消除偏见,这两者都导致了相似的结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-11 12:54:17

如果没有看到你的数据,我就不能确切地说出这种差异是从哪里来的。我怀疑一些数据元素的错误比其他的要高得多。如果您使用这种方法,它将给您详细的错误如何计算,以及“当前的错误”在每个元素是什么,因为它通过您的数据。如果数据集很大,这将产生相当多的输出。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    public static void errorDiagnostic(BasicNetwork network, MLDataSet dataSet) {
    int count = 0;
    double totalError = 0;

    System.out.println("Network error: " + network.calculateError(dataSet));


    for(MLDataPair pair : dataSet) {
        MLData actual = network.compute(pair.getInput());
        System.out.println("Evaluating element " + count + " : " + pair.getInput().toString());

        for(int i=0;i<pair.getIdeal().size();i++) {
            double delta = Math.abs(actual.getData(i) - pair.getIdeal().getData(i));
            totalError += delta*delta;
            count++;
            double currentError = totalError/count;
            System.out.println("\tIdeal: " + pair.getIdeal().getData(i) + ", Actual: " + actual.getData(i) + ", Delta: " + delta + ", Current Error: " + currentError);

        }
    }
}

例如,经过训练的XOR (来自Encog hello world应用程序)的输出是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    Network error: 0.009643582111728128
Evaluating element 0 : [BasicMLData:0.0,0.0]
    Ideal: 0.0, Actual: 0.10384251352940682, Delta: 0.10384251352940682, Current Error: 0.01078326761610504
Evaluating element 1 : [BasicMLData:1.0,0.0]
    Ideal: 1.0, Actual: 0.9109458503325736, Delta: 0.08905414966742642, Current Error: 0.009356954594546711
Evaluating element 2 : [BasicMLData:0.0,1.0]
    Ideal: 1.0, Actual: 0.8914073581830911, Delta: 0.10859264181690886, Current Error: 0.01016875701528963
Evaluating element 3 : [BasicMLData:1.0,1.0]
    Ideal: 0.0, Actual: 0.08982236581744897, Delta: 0.08982236581744897, Current Error: 0.009643582111728128

这使您可以看到每个元素造成错误的程度。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22967360

复制
相关文章
BP(back propagation)误差逆传播神经网络
BP神经网络是一种按误差反向传播的神经网络,它的基本思想还是梯度下降法,中间隐含层的误差和最后一层的误差存在一定的数学关系,(可以计算出来),就像误差被反向传回来了,所以顾名思义BP。想想生活中有句话叫做开始差之毫厘,后来失之千里是什么意思?就有点误差传递的感觉。关键他们之间的数学关系是什么?我们得能求出来。
马克java社区
2019/09/09
6960
BP(back propagation)误差逆传播神经网络
使用矩阵运算加速实现神经网络误差的反向传播
在上一节,我们通过逐步分析的方式讲清楚了神经网络是如何将终端计算获得的误差逐层反向传播给每一个神经元的,同时我们根据节点链路上的权重比值,将误差依次分配给对应的节点,并通过笔算的方式计算了下面例子中每
望月从良
2018/07/19
1.3K0
深度学习与统计力学(III) :神经网络的误差曲面
即使一个深层网络能够通过选择参数表达所需的函数,也不清楚什么时候可以通过(随机)梯度下降将公式(3)中的训练误差 εTrain((w,D) 下降来成功地找到这组参数。这种误差曲面的典型特征、它对训练样本数量和网络结构的依赖性,以及它对学习动力学的影响,成为人们非常感兴趣的问题。
数据酷客
2020/04/27
8430
深度学习与统计力学(III) :神经网络的误差曲面
深度学习与统计力学(III) :神经网络的误差曲面
即使一个深层网络能够通过选择参数表达所需的函数,也不清楚什么时候可以通过(随机)梯度下降将公式(3)中的训练误差 下降来成功地找到这组参数。这种误差曲面的典型特征、它对训练样本数量和网络结构的依赖性,以及它对学习动态的影响,成为人们非常感兴趣的问题。
数据科学人工智能
2022/03/31
7220
深度学习与统计力学(III) :神经网络的误差曲面
【数据挖掘】神经网络 后向传播算法( 向后传播误差 | 输出层误差公式 | 隐藏层误差公式 | 单元连接权值更新公式 | 单元偏置更新公式 | 反向传播 | 损失函数 | 误差平方和 | 交叉熵 )
1 . 后向传播误差 : 计算每层每个单元的误差 , 根据该误差更新 权值 和 偏置 设置 ;
韩曙亮
2023/03/27
1K0
深入浅出——搞懂卷积神经网络误差分析(一)
本文主要阐述了卷积神经网络中误差反向传播算法的具体实现细节,包括每一层的误差计算、权值更新以及误差敏感项的计算等。同时,本文还介绍了在池化层和卷积层相接的情况下,如何计算该层的误差敏感项。通过本文的介绍,读者可以更加深入地理解卷积神经网络中误差反向传播算法的工作原理,并能够更好地使用卷积神经网络进行深度学习任务。
码科智能
2018/01/03
1.6K0
深入浅出——搞懂卷积神经网络误差分析(一)
测量误差?什么误差?测量什么?
买了一台普源的DM3058,官网售价3980元,用来测量100nA误差范围内的电流,由于预算有限,供应商同时推荐了固纬GDM-8341万用表,分辨率可测到10nA。某宝售价2260元,与DM3058相比省下来1720元!
硬件大熊
2022/06/23
9020
测量误差?什么误差?测量什么?
Excel求数据总体中表示一个变量误差的方差。
1、点击[文本] 2、点击[文本] 3、点击[文本] 4、点击[文本] 5、按<Enter>键 6、点击[文本] 7、按<Enter>键
裴来凡
2022/05/28
2010
Excel求数据总体中表示一个变量误差的方差。
误差函数
其中, 表示神经网络的输出, 表示监督数据( 采用 one-hot 编码), 表示数据的维度。
hotarugali
2022/03/03
9310
标准误差
标准误差是当前应用最广泛、最基本的一种随机误差的表示方法,当标准误差求得后,平均误差和极限差即可求得故国际上普遍采用标准误差作为实验结果质量的数字指标
为为为什么
2023/02/21
1.1K0
origin带误差线的柱状图_怎么加误差棒
软件版本:OriginPro 2021b (64-bit) SR2 9.8.5.212 (学习版) 本期目标:
全栈程序员站长
2022/11/11
6.5K0
origin带误差线的柱状图_怎么加误差棒
Excel求数据总体中表示两个变量误差的协方差。
1、点击[公式] 2、点击[其他函数] 3、点击[统计] 4、点击[COVARIANCE.P] 5、点击[Array1] 6、点击[Array2] 7、点击[确定]
裴来凡
2022/05/28
3760
Excel求数据总体中表示两个变量误差的协方差。
mse均方误差例题_误差函数计算器
本人最近需要写多个仿真,需要大量用到MSE(均方误差)计算,于是干脆将MSE运算封装为函数,后续使用直接进行调用即可。
全栈程序员站长
2022/11/19
9490
逐渐增加样本训练模型实现误差最小且误差值接近1.41%的最小P(误差)值。
Q1_final.m clear all; close all; clc; %% Set-Up: given parameters and validation data % Given parameters n = 2; % number of feature dimensions N_train = [10;100;1000]; % number of training samples N_val = 10000; % nu
裴来凡
2022/05/28
9400
逐渐增加样本训练模型实现误差最小且误差值接近1.41%的最小P(误差)值。
【python实现卷积神经网络】损失函数的定义(均方误差损失、交叉熵损失)
代码来源:https://github.com/eriklindernoren/ML-From-Scratch
西西嘛呦
2020/08/26
1.3K0
使用 JavaScript 实现机器学习和神经学网络
英文:JeffHeaton 译文: 云+社区/白加黑大人 https://cloud.tencent.com/developer/article/1035890 基本介绍 在本文中,你会对如何使用JavaScript实现机器学习这个话题有一些基本的了解。我会使用Encon(一个先进的神经网络和机器学习框架)这个框架,并向你们展示如何用这个框架来实现光学字符辨识,模拟退火法,遗传算法和神经网络。Encog同时包括了几个GUI窗体小部件,这些小部件可以更方便地显示出一般机器学习任务的输出。 运行环境 E
前端教程
2018/03/05
1K0
使用 JavaScript 实现机器学习和神经学网络
通过JS库Encog实现JavaScript机器学习和神经学网络
在本文中,你会对如何使用 JavaScript 实现机器学习这个话题有一些基本的了解。
花落花飞去
2018/02/05
2.9K8
通过JS库Encog实现JavaScript机器学习和神经学网络
matplotlib 误差棒图
matplotlib中使用errorbar()绘制误差棒图来表示被测量的误差范围。
用户6021899
2019/08/14
1.9K0
最简单的人工神经网络
我不会机器学习,但上个月我在 GitHub 上发现了一个极简、入门级的神经网络教程,示例代码为 Go 语言。它简洁易懂能用一行公式说明白的道理,不多写一句废话,我看后大呼过瘾。
HelloGitHub
2021/09/09
5810
偏斜类的误差度量
“Machine Learning System Design:——Error metrics for skewed classes”
讲编程的高老师
2021/05/13
5510
偏斜类的误差度量

相似问题

神经网络误差

12

多输出神经网络中的训练误差和验证误差

10

计算神经网络的误差

24

神经网络仿真误差

12

神经网络误差趋势

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文