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

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

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

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

  • 写回答

1条回答

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

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

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

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)