lmw0320 2019-04-17 11:09 采纳率: 75%
浏览 645
已采纳

关于神经网络模型的几点疑问

神经网络模型,因为其随机性,每次训练出来的结果中准确度不太一样。想请问下:

每次训练的准确度会相差很多么? 我自己试过几次,貌似不会很大。但是个人经验不足,不敢确认;
假使准确度相差较大,而当前的模型训练完毕后,发现此时的准确度较高。那保存该模型后,准确率就能和测试集的准确率基本一致?
神经网络模型属于生成法还是判别法模型?
神经网络需要设置超参,那是否有必要将数据分成三份---训练集、验证集、测试集?还是说,只有在交叉验证的条件下,才需要这样切分数据?
顺便问下,这个数据集到底要怎么切分法?我问过人,据说常规情况下,大部分模型都是需要设置超参的。而设置超参的话,就必须切分出验证集(该验证集用于超参的训练)。那按照这种说法,不是数据集就是要分成三份才是合理的么?可是实际上,我经常看到的,也都是分成两份而已啊?

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-04-17 12:35
    关注

    (1)按理说不应该有很大的随机性,随机性大说明模型的稳定性差。或者初始参数选择不好。打一个比方来说,你的初始参数如果选择随机数,你的神经元足够多,那么从整体上看,每次的结果都应该差不多。
    好比扔硬币,虽然扔一个两个出现某种情况是随机的,但是你扔100次,每次正面向上的数量都在50左右,差别不大。
    (2)神经网络既可以生成(升维)也可以判别(降维)还可以两者结合起来,比如GANs。(似乎之前回答你了)
    (3)在真实的情况下,只需要训练集和验证集,分为两部分的原因是防止过拟合。当训练集的正确率远远高于验证集,就没有再训练的必要了。
    至于测试集,这个是因为你学习的时候并没有实际的使用的数据,所以用原来的数据划分一些充当测试集。在真实情况下,直接拿现实的数据就可以测试了。比如说你做一个实际的股票预测,那么不需要什么测试集,你直接拿今天的新鲜数据就可以测试了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿