自從接觸了機器學習後,在很多地方如書籍和文獻中經常會看到有一類引數叫超引數(hyperparameter),其中提超引數最多的地方是在支援向量機(svm)和深度學習(deep learning)中,比如支援向量機中的鬆弛因子:
上式中的c就是鬆弛因子,這個引數在支援向量機中不像引數w那樣,可以通過優化學習得到。還有深度學習中的超引數,如學習率(learning rate),在訓練深度網路時,這個學習率引數需要提前指定,比如最近設為0.09等。
那麼問題來了,到底什麼是超引數(hyperparameter)?在很多教材和文獻中都是預設你理解超引數的定義的。如果不知道超引數的定義的話,有些文獻中的話可能不好理解,比如在機器學習中,尤其是在支援向量機中,為什麼有些文獻要把資料集分割成訓練集,驗證集和測試集,而不是直接分割為訓練集和測試集?只有理解了何謂超引數,才會明白某些文獻中這樣分割的道理。
什麼是超引數呢?先來看一下超引數的學院風定義:在機器學習的上下文中,超引數是在開始學習過程之前設定值的引數,而不是通過訓練得到的引數資料。通常情況下,需要對超引數進行優化,給學習機選擇一組最優超引數,以提高學習的效能和效果。
超引數的通俗定義:超引數也是一種引數,它具有引數的特性,比如未知,也就是它不是乙個已知常量。一種手工可配置的設定,需要為它根據已有或現有的經驗指定「正確」的值,也就是人為為它設定乙個值,它不是通過系統學習得到的。
下面主要看看超引數在機器學習中的定義及示例:
在機器學習的上下文中,超引數是在開始學習過程之前設定值的引數。 相反,其他引數的值通過訓練得出。
超引數:
1. 定義關於模型的更高層次的概念,如複雜性或學習能力。
2. 不能直接從標準模型培訓過程中的資料中學習,需要預先定義。
3. 可以通過設定不同的值,訓練不同的模型和選擇更好的測試值來決定
超引數的一些示例:
1. 樹的數量或樹的深度
2. 矩陣分解中潛在因素的數量
3. 學習率(多種模式)
4. 深層神經網路隱藏層數
5. k均值聚類中的簇數
何謂超引數?
自從接觸了機器學習後,在很多地方如書籍和文獻中經常會看到有一類引數叫超引數 hyperparameter 其中提超引數最多的地方是在支援向量機 svm 和深度學習 deep learning 中,比如支援向量機中的鬆弛因子 上式中的c就是鬆弛因子,這個引數在支援向量機中不像引數w那樣,可以通過優化學...
引數與超引數
模型引數是模型內部的配置變數,可以用資料估計模型引數的值 模型超引數是模型外部的配置,必須手動設定引數的值。具體來講,模型引數有以下特徵 進行模型 時需要模型引數。模型引數值可以定義模型功能。模型引數用資料估計或資料學習得到。模型引數一般不由實踐者手動設定。模型引數通常作為學習模型的一部分儲存。通常...
引數與超引數
計算機學科裡有太多的術語,而且許多術語的使用並不一致。哪怕是相同的術語,不同學科的人理解一定有所不同。比如說 模型引數 model parameter 和 模型超引數 model hyperparameter 對於初學者來說,這些沒有明確定義的術語肯定很令人困惑。尤其是對於些來自統計學或經濟學領域的...