我对学习神经网络感兴趣,作为一个例子,我尝试了下面的数据集,这是通过实验得出的。
我使用以下输入向量作为我的神经网络;
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类,这与集合的实际类别相吻合。
那么,这是否意味着我的神经网络是正确的和有效的?
我对神经网络有一个基本的理解。此外,我理解有更多的培训例子和验证集的概念。我期待一个满足现有细节的答案,因为我无法从实验上获得更多的数据。

发布于 2016-06-23 21:55:59
嗯,我想你不太明白验证是从神经网络的角度来说的。不能只使用一个示例来检查您的网络。所以,我试着教你们我所知道的关于验证神经网络的知识。这是一个漫长的统计过程,涉及到对“真实世界数据”、“预期行为”、.你不能用10-20的数据和一个验证点来验证一些东西。
一般来说,当你教一个神经网络时,你应该有3集:
例如,我们正在构建一个算法,用于检查一个人是否“有机会致富”。这是你如何建立和有效的神经网络。
这就是如何建立一个可靠的神经网络(别忘了,两个主要问题是不检查最终结果和过度拟合)。
因为过度适应是一个关键的概念。我试着给它下一点定义,并给出一个例子。过度拟合是一种算法,它能够建立非常接近的近似,但不能预测任何东西(我称之为“虚拟算法”)。
例如,让我们比较一下线性插值器和多项式(1000000次,非常高次)。我们的多项式算法可能会很好地拟合数据(极端拟合就是精确地拟合我们所有的数据)。但是,它根本无法预测任何事情。
对于下面的例子,如果我们在我们的验证集(从实际数据中提取)中有(2,-2)和(-1,2)中的一个点,我们可以假设我们的多项式插值显然是过拟合的,因为它表示诸如(-1,10)和(2,20)这样的值。线性的应该更近。

我希望这会有所帮助。(请注意,我不是该领域的专家,但我试图给出一个非常易读和简单的答案,所以如果有任何错误,请随意评论:)
https://stackoverflow.com/questions/37816555
复制相似问题