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

嗯,我认为你不太了解验证是在神经网络方面.您只能使用一个样本检查您的网络.所以,我会尝试教你如何验证神经网络.这是一个漫长的统计过程,涉及一些关于“真实世界数据”,“预期行为”的反思,……你无法用10-20个数据和一个验证点验证某些东西.

通常,当您教授神经网络时,您应该有3组:

>第一个,训练集是算法的输入,用于设置不同网络的权重.它只是用于运行算法的一种强制数据.

>第二组,验证集用于为您的问题选择正确的算法并减少过度拟合.它比较了不同的性能并选择最佳性能(过度拟合的性能根本不具备良好的性能).

>测试集:这是最后阶段.在选择了算法及其参数后,您使用一组新数据(取自现实世界)并检查它是否执行了它应该执行的操作(它就像一个连贯性测试).

例如,我们正在构建一种算法,用于检查一个人是否“有机会致富”.以下是制作和验证神经网络的方法.

>首先,我们询问10 000人是否富裕,我们检查一些参数(年龄,地点,……).它使“原始数据集”.

>我们将10 000人的名单分成3组(6000 2000和2000):训练集,验证集和测试集(注意:比例可以根据验证程序而变化).

>我们应用学习集(6000第一数据)并将它应用于我们不同的神经网络来教他们(我们将它们命名为A,B,C和D)

>我们采用验证集(2000下一个数据)来检查四个网络的性能.这是它如何避免过度拟合.我们假设网络A根本不是网络,它只是一个记录器.它记录了不同的数据及其类,但根本无法预测任何内容.如果我们使用6000第一人进行验证测试,那么“虚拟算法”将给出100%的结果,但在该测试中将完全失败.因此,在该测试之后,您可以选择“最佳算法”.我们来挑选C.

>现在,我们用剩下的数据运行C(测试集,或者如果可以,则新数据,它总是更好).如果我们看到C有一个非常奇怪和不可预测的行为(它可能是由于某些人为错误造成的,例如制作不真正独立或仍然正确的集合,例如,如果数据来自1996年),我们选择另一种算法或我们试着检查数据或算法的问题.

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

过度拟合是一个关键概念.我会尝试定义一下并给出一个例子.过度拟合使得算法能够构建非常接近的近似但是无法预测任何东西(我称之为“虚拟算法”).

让我们比较一个线性插值器和一个多项式(1000000度,非常高度).我们的多项式算法可能非常适合数据(极端过度拟合恰好适合我们所有的数据).但是,它根本无法预测任何事情.

对于下面的例子,如果我们在验证集(从真实世界数据中提取)中有一个点(2,-2)和(-1,2),我们可以假设我们的多项式插值明显过度拟合,因为它暗示了值例如(-1,10)和(2,20).线性的应该更接近.

NEzOx.png

我希望它会有所帮助.(请注意,我不是该领域的专家,但我尝试制作一个非常易读且简单的答案,所以如果有任何错误,请随意评论:))

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值