2021.9.29
神经网络训练不起来怎么办?
在测试集的划分上,我们一般还会将其分为public testing set和private testing set,然后要看模型在后
者上表现得结果,这样划分的意义在于,可能会有一个很无用的model,如上文中用到的下面的模型,
他可以不断的在公共测试集上不断尝试很多次,总会有一次随机出来的函数结果会很不错,然后把这个
函数拿出来说在测试集上机器比人类取得了更好的结果,但是拿到真实场景中,跟人类一样面对一个新
的未见过的测试集时,它的结果一定是很差的,所以有必要设置一个private testing set,而不能让所有
的测试集都公开。
private testing set代表着一个未知的情景,在public testing set可能在private testing set上面的结果并
不尽如人意,为了解决这样的问题,我们可以在训练集中分出一部分做测试用,称为验证集,选取出好
的模型之后,再去拿来测public testing set,这时public testing set就可以反映private testing set的结
果好坏。并且尽量少去再拿public testing set返回去调参,因为那样可能会fit在public testing set上,
从而在private testing set上结果变差,不用太过在意public testing set的结果(类比考研英语模拟题与
真题)。
为了更好地进行交叉验证,我们引入了如下的方式,如可以把训练集三等分,轮流去做验证集,再让不
同的训练出来的model在验证集上去跑然后取平均,选出表现最好的模型,再去进行测试集。
评论0
最新资源