通俗易懂徹底理解十倍交叉驗證法

2021-10-14 02:47:41 字數 663 閱讀 2145

將所有資料分為十份,然後將每乙份作為驗證集,其他作為訓練集來進行訓練和驗證。在這一過程中,保持超引數一致,然後取10個模型的平均訓練loss和平均驗證loss,來衡量超引數的好壞。最後取得乙個滿意的超引數以後,使用全部資料作為訓練集,用該超引數訓練獲得1個模型。

為了降低由於訓練集和驗證集單次劃分而導致的偶然性,充分利用現有的資料集來進行多次劃分從而避免因為特殊劃分而選擇了不具有泛化能力的偶然超引數和模型。通過交叉驗證來降低偶然性,提高泛化能力。

假設在極端情況下,訓練集中有20個樣本,其中有2個樣本與其他樣本差別很大,但它們2個本身是相同的,剩下的18個是可以互推的。如果這兩個樣本其中乙個被劃分到訓練集,另乙個被劃分到驗證集,則在這種情況下,將超引數如網路結構設定的複雜一些來盡可能的擬合訓練集,訓練出來的模型自然地可以很好地泛化到驗證集。但是如果這兩個樣本都被劃分到驗證集中,訓練集中對這兩個樣本的資訊包含有限,完全按照訓練集進行訓練將導致過擬合,這是因為完全的擬合與資訊的不完全性之間的不匹配造成了事實上的過度推斷。必須將超引數設定的小一點來保留一定的彈性,即不能因為訓練集裡的人都是極端的**,所以假設測試集中也是一模一樣極端的**,在這一劃分下,由於驗證集確實跟訓練集不太一樣,所以將條件放鬆,以乙個稍微正常一點不那麼**的基本的人的標準來對驗證集進行推斷反而能取得更加具有泛化能力的結論。正是由於資料集的劃分對超引數和模型的影響,所以才需要使用交叉驗證來尋求折中。

通俗易懂 理解「委託」

委託的意義在於實現多型 在於讓物件能夠在程式執行時滿足外界對其的改變。1 乙個物件屬性 動作,如果在編譯時就能確定,可以在這個物件的類裡面來實現。2 乙個物件的屬性 動作,如果在執行時才能確定,則只能通過這個物件的委託來實現。換句話說 類,滿足編譯時對物件的設定和要求。委託,用於滿足執行時對物件的設...

通俗易懂徹底理解訓練集,驗證集,測試集

首先顧名思義的進行理解 訓練指參與了反向傳播,對神經網路引數本身有調整的,叫訓練。相當於書上的典型例題。做完以後必須對答案弄懂弄透的那種,主要功能是學習知識本身。驗證指的是檢驗成果,驗證從詞義本身理解,如人臉驗證,指紋驗證,往往是可以多次進行的。相當於模擬考試,一般有很多輪模考。這些模擬考試中的模擬...

(十)通俗易懂理解 EM演算法

這篇文章不涉及數學原理上的說明,用簡單的例子說明了em演算法的出彩之處。001 乙個非常簡單的例子 假設現在有兩枚硬幣1和2,隨機拋擲後正面朝上概率分別為p1,p2。為了估計這兩個概率,做實驗,每次取一枚硬幣,連擲5下,記錄下結果,如下 可以很容易地估計出p1和p2,如下 p1 3 1 2 15 0...