交叉校验法
K层交叉检验就是把原始的数据随机分成K个部分。在这K个部分中,选择一个作为测试数据,剩下的K-1个作为训练数据。
交叉检验的过程实际上是把实验重复做K次,每次实验都从K个部分中选择一个不同的部分作为测试数据(保证K个部分的数据都分别做过测试数据),剩下的K-1个当作训练数据进行实验,最后把得到的K个实验结果平均。
关于crossvalind函数(matlab)
crossvalind是cross-valindation的缩写,意即交叉检验。 常用的形式有:
①Indices =crossvalind('Kfold', N, K)
②[Train, Test] = crossvalind('HoldOut',N, P) ③[Train, Test] = crossvalind('LeaveMOut',N, M)
④[Train, Test] = crossvalind('Resubstitution',N, [P,Q])
详见http://wenku.baidu.com/link?url=o0sHC1fGjS5KpmyNXjKottvVclr1mbOhBa04e1T8QiiiycEWf9ZPWiZTq8mQZH--ZYOG-P1KRsukgJhpVPSfDIzwtUHIdNg3On76_T-9oMe