首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MATLAB中验证概率神经网络给出的输出?

如何在MATLAB中验证概率神经网络给出的输出?
EN

Stack Overflow用户
提问于 2016-06-14 15:42:13
回答 1查看 413关注 0票数 6

我对学习神经网络感兴趣,作为一个例子,我尝试了下面的数据集,这是通过实验得出的。

我使用以下输入向量作为我的神经网络;

代码语言:javascript
复制
X = [1 1; 1 2; 1 3; 1 4; 4 1; 4 2; 4 3; 4 4; 7 1;7 2; 7 3; 7 4]';
Tc = [1 1 2 3 1 1 2 2 1 1 2 2];

我想把输入数据分成三个类,由输入向量Tc描述。然后,我将目标类索引Tc转换为向量T,我使用的扩展值是1。

利用MATLAB中的newpnn函数,给出了这三个类的决策边界。

我对判定边界是否合适有疑问。我正在用一个数据验证输出,X =[2;3.55]属于类2,它是由输出图中的黑点描述的。蓝色是1级。黄色是属于2级的区域。红色是3级。

如图所示,神经网络的预测为2类,这与集合的实际类别相吻合。

那么,这是否意味着我的神经网络是正确的和有效的?

我对神经网络有一个基本的理解。此外,我理解有更多的培训例子和验证集的概念。我期待一个满足现有细节的答案,因为我无法从实验上获得更多的数据。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-23 21:55:59

嗯,我想你不太明白验证是从神经网络的角度来说的。不能只使用一个示例来检查您的网络。所以,我试着教你们我所知道的关于验证神经网络的知识。这是一个漫长的统计过程,涉及到对“真实世界数据”、“预期行为”、.你不能用10-20的数据和一个验证点来验证一些东西。

一般来说,当你教一个神经网络时,你应该有3集

  • 首先,训练集是算法的输入,用来设置不同网络的权重。这只是一种强制数据,用来运行算法。
  • 第二组,验证集用于为您的问题选择正确的算法并减少过度拟合。它比较不同的表现和挑选最好的(装备的一个将不会有一个好的表现)。
  • 测试集:这是最后一个阶段。在选择了算法及其参数之后,您使用了一组新的数据(从现实世界中获取),然后检查它是否执行了它应该做的事情(这就像一个一致性测试)。

(资料来源:https://stats.stackexchange.com/questions/19048/what-is-the-difference-between-test-set-and-validation-set)

例如,我们正在构建一个算法,用于检查一个人是否“有机会致富”。这是你如何建立和有效的神经网络。

  1. 首先,我们询问了1万人是否富有,并检查了一些参数(年龄、地点、.)。它制作了“原始数据集”。
  2. 我们将10,000人分成3组(6000,000和2000):培训集、验证集和测试集(注意:根据验证过程的不同,比例可以改变)。
  3. 我们应用学习集(6000个第一次数据),并将它应用到我们的不同的神经网络来教他们(让我们命名它们A,B,C和D)
  4. 我们采用验证集(2000下数据)来检查这四个网络的性能。这是如何避免过度拟合。让我们假设网络A根本不是网络,它只是一个记录器。它记录不同的数据和它们的类,但根本无法预测任何东西。如果我们使用6000名第一人称进行验证测试,“虚拟算法”将给出100%的结果,但在该测试上将完全失败。因此,在测试之后,您可以选择“最佳算法”。让我们选C。
  5. 现在,我们使用其余的数据(测试集,或者新的数据,如果可以的话,它总是更好)运行C。如果我们看到C有一种非常奇怪和不可预测的行为(它可能是由一些人为错误引起的,例如,生成不完全独立或仍然正确的集合,例如,如果数据来自1996年),我们会选择另一种算法,或者我们尝试检查数据或算法的问题所在。

这就是如何建立一个可靠的神经网络(别忘了,两个主要问题是不检查最终结果和过度拟合)。

因为过度适应是一个关键的概念。我试着给它下一点定义,并给出一个例子。过度拟合是一种算法,它能够建立非常接近的近似,但不能预测任何东西(我称之为“虚拟算法”)。

例如,让我们比较一下线性插值器和多项式(1000000次,非常高次)。我们的多项式算法可能会很好地拟合数据(极端拟合就是精确地拟合我们所有的数据)。但是,它根本无法预测任何事情。

对于下面的例子,如果我们在我们的验证集(从实际数据中提取)中有(2,-2)和(-1,2)中的一个点,我们可以假设我们的多项式插值显然是过拟合的,因为它表示诸如(-1,10)和(2,20)这样的值。线性的应该更近。

我希望这会有所帮助。(请注意,我不是该领域的专家,但我试图给出一个非常易读和简单的答案,所以如果有任何错误,请随意评论:)

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

https://stackoverflow.com/questions/37816555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档