交叉验证

来源:互联网 发布:口碑好的淘宝女装店铺 编辑:程序博客网 时间:2024/06/05 18:18

交叉验证:

假设函数hi即按照某个模型进行训练得到的模型函数。 

对于可选择的模型构成集合M,其中Mi表示一种类型的模型,比如逻辑回归、神经网络、SVM等某一种。

对于训练集S将其分为两部分,70%的样本作为训练集Strain,30%的作为测试集Scv。

这样我们用每个模型Mi用Strain进行训练得到假设函数hi,再用Scv去对这个hi进行测试得到误差e(hi)。

这样对于每个模型对应一个假设函数hi以及对应的误差e(hi)选择误差较小的那个模型作为最佳的模型。

选择最佳的模型后,在对所有的测试数据S进行训练得到更为准确的假设函数h,,得到的误差记为e

交叉验证的改进:K-折交叉验证

假设将原来的数据集分成k块,

对每个模型Mi,每次选择除了第j=1,..k,块即Sj块进行测试,其他的块作为训练,这样用其他的块数据作为训练得到假设函数hij,然后用这个hij对Sj进行测试,得到误差e(hij),这样就得到了对于每个模型得到了k个经验误差,再求平均值作为该模型的平均误差。

这样我们就可以选择平均误差较小的那个模型,再将这个模型对所有的S数据进行训练,得到更为准确的假设函数h,得到的误差记为e。

交叉验证的核心思想就是当有n种情况可以供选择时,我们可以先对每种选择i求出其对应的结果,然后根据每种情况计算出来的结果选择出一个最佳的结果并选择对应的这种情况作为我们最后的选择。


0 0