gpt4 book ai didi

algorithm - 神经网络-所有输入向量的训练进度明显不均衡

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:12:26 25 4
gpt4 key购买 nike

我正在实现一个使用反向传播训练的前馈神经网络。当我在每个测试用例之后输出错误率时,它会学习到——我注意到,在经历了许多阶段之后,它开始非常好地学习某些测试用例,但其他的则非常糟糕。也就是说,某些测试用例的错误率很低,但其他测试用例的错误率很高。
本质上,在几个阶段之后,我注意到均方误差停滞在以下模式中(每一行代表一个测试用例之后的mse)。

0.6666666657496451
0.6666666657514261
1.5039854423139616E-10
1.4871467103001578E-10
1.5192940136144856E-10
1.4951558809679557E-10
0.6666521719715195
1.514803547256445E-10
1.5231135866323182E-10
0.6666666657507451
1.539071732985272E-10

这件事发生的原因有可能吗?
最初,我认为这些导致高错误率的案例可能只是离群值——但正如模式所示,它们太多了。是不是我的学习者刚刚达到了当地的最低要求,需要一些动力才能摆脱呢?

最佳答案

我的答案是针对一个可能的解决方案,在培训你的分类器“不平衡”的进展。关于“为什么”你看到这种行为,我推迟了。特别是,我不愿意尝试将原因归因于我在训练过程中观察到的工件——即,是数据吗?还是mlp的实施?或者我选择的可调配置?事实上,正是您的分类器与数据的交互导致了这种观察,而不是两者中的某些固有特征。
对于一个分类器来说,很好地学习某些输入向量并很快地学习是很常见的,例如,[观察到的-预测的]^2在只有少量的周期/周期之后变得非常小,对于同一个分类器来说,在其他输入向量上不能重复地失败(并且不能改进)。
要成功完成分类器的训练,boosting是问题中描述的问题的教科书答案。
在继续之前,您的配置/设置中的一个小错误也可以解释您观察到的行为。
特别是,也许可以在配置中验证这些项:
你的输入向量是否正确编码——例如,它们的范围是
[-1,1]?
您是否正确编码了响应变量(即1/C
编码)?
你是否选择了合理的初始学习率和动力
任期?你是否尝试过学习率值的训练
在初始学习率的两边调整?t型
在任何情况下,假设这些配置和设置问题是可以的,下面是关于Boosting(严格来说,这是一种多个分类器组合的技术)的相关实现细节,其工作原理如下:
在一些时期之后,检查结果(就像你一直做的那样)。*那些分类器没有学习到的数据向量被分配了一个加权因子来增加误差r(一些数字大于1);同样,那些分类器学习好的数据向量也被分配了一个加权因子,但是这里的值小于1,这样就降低了训练误差的重要性。
例如,假设在第一个历元结束时(通过构成训练数据集的所有数据向量迭代),总误差为100;换句话说,在训练集中的所有数据向量上求和的平方误差(观测值-预测值)。
以下是问题中列出的两个mse值

0.667        # poorly learned input vector => assign error multiplier > 1 
1.5e-10 # well-learned input vector => assign error multiplier < 1

在boosting中,您将找到与这两个错误测量相对应的输入向量,并将每个向量关联一个错误权重;在第一种情况下,该权重将大于一个,在第二种情况下,该权重将小于一个。假设误差权重分别为1.3和0.7。进一步假设在下一个纪元之后,分类器在学习这两个输入向量中的第一个方面没有改进——即,它返回的预测值与上一个纪元中的相同但是,对于这个迭代/历元,输入向量对总误差的贡献不是0.67,而是1.3 x 0.67,或大约0.87。
这个增加的错误对训练进度有什么影响?
误差越大意味着梯度越陡,因此在下一次迭代中,对包含权重矩阵的适当权重进行更大的调整——换句话说,更快速的训练集中在这个特定的输入向量上。
您可以想象这些数据向量的隐式错误权重为1.0。boosting只会增加错误权重(对于分类器无法学习的向量),而对于学习良好的向量则会降低错误权重。
我刚才描述的是一个称为AdaBoost的特殊实现,它可能是Boosting最著名的实现有关langauge特定实现的指导甚至代码,请访问boosting.com] 1(认真地)。这个网站已经不再维护,所以这里有一些更优秀的资源,我已经依赖,可以高度推荐。第一种是以注释书目形式的 academic site(包括到网站上讨论的论文的链接)。本网站上列出的第一篇论文(带有pdf链接)是机器学习的助推方法:概述,它是一个极好的概述,也是获取这一系列技术工作知识的有效来源。
videolectures.net还有一个关于boosting和adaboost的优秀视频教程。

关于algorithm - 神经网络-所有输入向量的训练进度明显不均衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9797502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com