一般在訓練機器學習模型的時候,咱們會將數據劃分爲訓練集、驗證集和測試集。通常來講,訓練集:驗證集:測試集的劃分比例爲6:2:2。對原始數據進行三個集合的劃分,是爲了可以選出效果(能夠理解爲準確率)最好的、泛化能力最佳的模型。機器學習
訓練集(Training Set)svn
做用是用來擬合模型,經過設置分類器的參數,訓練分類模型。後續結合驗證集做用時,會選出同一參數的不一樣取值,擬合出多個分類器。函數
驗證集(Cross ValidaDon Set)性能
做用是當經過訓練集訓練出多個模型後,爲了能找出效果最佳的模型,使用各個模型對驗證集數據進行預測,並記錄模型準確率。學習
選出效果最佳的模型所對應的參數,即用來調整模型參數,如svn中的參數c和核函數等。在交叉驗證過程當中也須要設置驗證集,如k-折交叉驗證(k-fold crossValidation)。測試
測試集(Test Set)優化
經過訓練集和驗證集得出最優模型後,使用測試集進行模型預測,用來衡量該最優模型的性能和分類能力。便可以把測試集當作歷來不存在的數據集,當已經肯定模型參數後,使用測試集進行模型性能評價。io
因此說,訓練集(Training Set)是用來訓練模型或肯定模型參數的,如ANN中權值等; 驗證集(Validation Set)是用來作模型選擇(model selection),即作模型的最終優化及肯定的,如ANN的結構;而測試集(Test Set)則純粹是爲了測試已經訓練好的模型的泛化能力。select