您當前的位置:首頁 > 收藏

為什麼網格搜尋出來的引數在測試集上的表現並不是最好的?

作者:由 匿名使用者 發表于 收藏時間:2022-05-19

為什麼網格搜尋出來的引數在測試集上的表現並不是最好的?溜六溜2022-05-19 11:28:54

模型在訓練集上學習

擬合的是訓練集的特徵分佈

但是,在資料量不足夠大的情況下,

我們無法保證 訓練資料 和 測試資料 具有相同的特徵分佈,

因此再好的模型都存在一定的過擬合現象。當然現在的所有研究都在努力的解決這個問題。

關於第二個問題“訓練集訓練還有什麼意義”,可以看一下我在另一個問題下回答的關於

訓練資料、驗證資料和測試資料的關係

-> 深度學習為什麼需要驗證集呢?

為什麼網格搜尋出來的引數在測試集上的表現並不是最好的?獅子搏兔2022-05-19 15:10:28

對驗證集調參當然不一定測試集更好啦,調得太好反而容易對驗證集過擬合。

驗證集作用就是防止面向測試集調參而造成對測試集過擬合,無法評估模型在實際應用的真實效能。當然你要是不做應用,那還管啥,直接面向測試集調參唄。

為什麼網格搜尋出來的引數在測試集上的表現並不是最好的?王四喜2022-05-21 03:18:06

我審了一下題目,題主是說在訓練集上調參嗎,我個人理解的資料集使用,應該是分成:訓練集(訓練用的)、驗證集(調參用的)、測試集(測模型用的),當然這之外應該還有一個部署集(實際要用的)。如果題主的描述和我的理解是一樣的話,在訓練集上調參會過擬合到訓練資料上,所以需要在驗證集上調參,簡單理解就是需要一個公正的“中間人”。另外,grid search是會比random search更容易陷入區域性最優點的,再加上在訓練集上調參,所以我個人的理解是,過擬合了。

另外,search出來的引數不一定是最優的,只是在所有search到的點上是最優的,是個極優。所以search出來的引數不一定是最好的,甚至大機率不是最好的,grid 和random都是這樣。

為什麼網格搜尋出來的引數在測試集上的表現並不是最好的?知乎使用者2022-05-21 14:13:44

大部分機器學習模型的假設都是i。i。d。的,也就是說你的訓練集,驗證集和測試集的特徵應該是從同一個分佈裡獨立取樣出來的。

首先我理解題主說的測試集其實是指驗證集,

在測試集上調引數在任何情況下是絕對不可以的

,你的模型不應該看到測試集的任何資訊,也不應該對著測試集做任何最佳化。

如果訓練集的引數在驗證集的效果不佳,要麼說明你的模型過擬合了,要麼說明訓練集和驗證集的分佈差距過大;但是還有一種可能就是其實Grid Search當你的特徵是連續值引數也不一定是最優的,這個取決於你後面手動調整的時候是不是你調整過的引數組合是不是在Grid裡面。

為什麼網格搜尋出來的引數在測試集上的表現並不是最好的?西南交一枝花2022-05-22 19:37:32

我覺得首先需要清楚訓練集表現和測試集表現不一致是正常的。現有模型大多假設資料同分布,但現實訓練集和測試集肯定是有差異的,所以訓練集表現好的,在測試集上可能會有波動。一方面可能有過擬合問題,另一方面,也可能就是演算法的泛化能力不足。

其實正常來說還應該有個驗證集,透過驗證集選擇好的模型。網格調參的最優模型選擇還是要依據驗證集上的表現。

標簽: 訓練  驗證  測試  擬合  模型