logo
Loading...

【QA】超參數(Hyperparameter) 與參數(Parameter)的差別? - Cupoy

既然在訓練時,就已經將模型中的參數訓練出來了,那為什麼常常需要對模型進行“調參“呢?這裡的參數又是指...

【QA】超參數(Hyperparameter) 與參數(Parameter)的差別?

2021/08/25 上午 11:38
機器學習共學討論版
Chili
觀看數:3372
回答數:1
收藏數:0

既然在訓練時,就已經將模型中的參數訓練出來了,那為什麼常常需要對模型進行“調參“呢?這裡的參數又是指什麼呢? 下面我想跟大家討論一下這個問題。

回答列表

  • 2021/08/25 上午 11:41
    Chili
    贊同數:0
    不贊同數:0
    留言數:0

    # 兩者區別 * 參數: 即為模型根據訓練資料自動學習出來的變量,舉例來說:神經網路中的權重W、偏差值B等。 ![image](http://kwassistfile.cupoy.com/0000017B7B63D72F0000001A6375706F795F72656C65617365414E53/1629431130923/large) * 超參數: 超參數即是在模型訓練之前,事先根據經驗給定的參數,而不同的超參數,訓練出來的模型也不相同,彼此間會有微小的區別,舉例來說:神經網路的超參數有學習率、迭代次數、隱藏層數等,亦或者決策數(Decision Tree)中樹的深度、節點最小樣本數也都屬於超參數。 ( 超參數會對於模型結果會有直接影響,因此在建模過程中,通常會預設一組超參數,之後再慢慢調整。) --- # 超參數調整方法: * 窮舉法(Grid Search): 又稱作網格搜尋法,直接設定超參數間的每一種組合可能,並將其都訓練一遍,最後根據模型驗證集結果,選擇表現最好的超參數組合。其缺點是,對於電腦效能消耗大,速度較慢。 * 隨機搜尋法(Random Search) 設定超參數組合,並用抽樣的方式,對抽到的超參數組合進行訓練,最後同樣依據驗證集結果,選擇最佳超參數組合。 --- # 調整步驟: 1. 將資料分為測試集與訓練集 2. 將訓練集用交叉驗證(Cross-Validation)的方式切成K等分(其中包含一驗證集) 3. 用窮舉法或搜尋法等方式找出超參數組合,通過驗證集找出各組合準確度 4. 挑選表現最佳的超參數組合用以與訓練集建立模型 5. 最後於測試集評估模型結果 (假設一模型有三個超參數需要調整:總共有125種組合) ![image](http://kwassistfile.cupoy.com/0000017B7B63D72F0000001A6375706F795F72656C65617365414E53/1629431130924/large) --- * 總結來說: 超參數調整也大概只能稍微使Loss下降,並不會有太大幅度的改變,因此調整超參數不會是建立一個模型中的重點。 --- * 參考資料: https://ithelp.ithome.com.tw/articles/10228199 詳細的調整步驟可以參考: https://cambridgecoding.wordpress.com/2016/04/03/scanning-hyperspace-how-to-tune-machine-learning-models/