機器學習中的參數(shù)與非參數(shù)方法
介紹
在我們的以前文章中介紹過統(tǒng)計學習中預測和推理之間的區(qū)別。盡管這兩種方法的主要區(qū)別在于最終目標,但我們都需要估計一個未知函數(shù)f。
換句話說,我們需要學習一個將輸入(即自變量X的集合)映射到輸出(即目標變量Y)的函數(shù),如下圖所示。
Y = f(X) + ε
為了估計未知函數(shù),我們需要在數(shù)據(jù)上擬合一個模型。我們試圖估計的函數(shù)的形式通常是未知的,因此我們可能不得不應用不同的模型來得到它,或者對函數(shù)f的形式做出一些假設。一般來說,這個過程可以是參數(shù)化的,也可以是非參數(shù)化的。
在今天的文章中,我們將討論機器學習背景下的參數(shù)和非參數(shù)方法。此外,我們將探討它們的主要差異以及它們的主要優(yōu)點和缺點。
參數(shù)化方法
在參數(shù)化方法中,我們通常對函數(shù)f的形式做一個假設。例如,你可以假設未知函數(shù)f是線性的。換句話說,我們假設函數(shù)是這樣的。
f(X) = β₀ + β₁ X₁ + … + βₚ Xₚ
其中f(X)為待估計的未知函數(shù),β為待學習的系數(shù),p為自變量個數(shù),X為相應的輸入。
既然我們已經對要估計的函數(shù)的形式做出了假設,并選擇了符合這個假設的模型,那么我們需要一個學習過程,這個學習過程最終將幫助我們訓練模型并估計系數(shù)。
機器學習中的參數(shù)化方法通常采用基于模型的方法,我們對要估計的函數(shù)的形式做出假設,然后根據(jù)這個假設選擇合適的模型來估計參數(shù)集。
參數(shù)化方法最大的缺點是,我們所做的假設可能并不總是正確的。例如,你可以假設函數(shù)的形式是線性的,但實際上它并不是。因此這些方法涉及較不靈活的算法,通常用于解決一些不復雜的問題。
參數(shù)化方法速度非常快,而且它們需要的數(shù)據(jù)也少得多(更多相關內容將在下一節(jié)中介紹)。此外,由于參數(shù)化方法雖然不太靈活但是因為基于我們做出的假設,所以它們更容易解釋。
機器學習中的參數(shù)化方法包括線性判別分析、樸素貝葉斯和感知器。
非參數(shù)方法
一般來說非參數(shù)方法指的是對于要估計的函數(shù)的形式不做任何潛在的假設的一組算法。由于沒有做任何假設,這種方法可以估計未知函數(shù)f的任何形式。
非參數(shù)方法往往更精確,因為它們尋求最佳擬合數(shù)據(jù)點。但是這是以需要進行大量的觀測為代價的(這些觀測是精確估計未知函數(shù)f所必需的)。并且這些方法在訓練模型時往往效率較低。另外的一個問題是,非參數(shù)方法有時可能會引入過擬合,因為由于這些算法更靈活,它們有時可能會以無法很好地泛化到新的、看不見的數(shù)據(jù)點的方式學習錯誤和噪聲。
非參數(shù)方法非常靈活,因為沒有對底層函數(shù)做出任何假設,所以可以帶來更好的模型性能。
機器學習中一些非參數(shù)方法的例子包括支持向量機和kNN。
總結
在今天的文章中,我們討論了機器學習背景下的參數(shù)化和非參數(shù)化方法以及它們的優(yōu)點和缺點。
參數(shù)方法往往不太靈活和準確,但更具可解釋性,而非參數(shù)方法往往更靈活(因此適用于更復雜的問題)和準確但可解釋性較差。
盡管參數(shù)方法不太靈活并且有時不太準確,但它們在許多用例中仍然有用,因為在更簡單的問題中使用非常靈活的非參數(shù)方法可能會導致過度擬合。