什么是超參數?
機器學習模型中一般有兩類參數:一類需要從數據中學習和估計得到,稱為模型參數(Parameter)---即模型本身的參數。比如,線性回歸直線的加權系數(斜率)及其偏差項(截距)都是模型參數。還有一類則是機器學習算法中的調優參數(tuning parameters),需要人為設定,稱為超參數(Hyperparameter)。比如,正則化系數λ,決策樹模型中樹的深度。
參數和超參數的區別:
模型參數是模型內部的配置變量,需要用數據估計模型參數的值;模型超參數是模型外部的配置,需要手動設置超參數的值。機器學習中一直說的“調參”,實際上不是調“參數”,而是調“超參數”。
哪些屬於超參數?
梯度下降法中的學習速率α,迭代次數epoch,批量大小batch-size,k近鄰法中的k(最相近的點的個數),決策樹模型中樹的深度,等等。
超參數的優化:
有四種主要的策略可用於搜索最佳配置:
- 照看(babysitting,又叫試錯)
- 網格搜索
- 隨機搜索
- 貝葉斯優化