參數和非參數機器學習算法(轉)


【機器學習】參數和非參數機器學習算法

什么是參數機器學習算法並且它與非參數機器學習算法有什么不同?

本文中你將了解到參數和非參數機器學習算法的區別。

讓我們開始吧。

學習函數

機器學習可以總結為學習一個函數(f)(f),其將輸入變量(X)(X)映射為輸出變量(Y)(Y)。

Y=f(x)Y=f(x)

算法從訓練數據中學習這個映射函數。

函數的形式未知,於是我們機器學習從業者的任務是評估不同的機器學習算法,然后選擇好的能擬合潛在的目標函數的算法。

不同的算法對目標函數的形式和學習的方式有不同的估計和偏差。

參數機器學習算法

假設可以極大地簡化學習過程,但是同樣可以限制學習的內容。簡化目標函數為已知形式的算法就稱為參數機器學習算法。

通過固定大小的參數集(與訓練樣本數獨立)概況數據的學習模型稱為參數模型。不管你給與一個參數模型多少數據,對於其需要的參數數量都沒有影響。
— Artificial Intelligence: A Modern Approach,737頁

參數算法包括兩部分:

選擇目標函數的形式。
從訓練數據中學習目標函數的系數。

對於理解目標函數來講,最簡單的就是直線了,這就是線性回歸里面采用的形式:

b_0+b_1<em>x_1+b_2</em>x_2=0b0+b1<em>x1+b2</em>x2=0

其中b_0b0b_1b1b_2b2是直線的系數,其影響直線的斜度和截距,x_1x1x_2x2是兩個輸入變量。

把目標函數的形式假設為直線極大地簡化了學習過程。那么現在,我們需要做的是估計直線的系數並且對於這個問題預測模型。

通常來說,目標函數的形式假設是對於輸入變量的線性聯合,於是參數機器學習算法通常被稱為“線性機器學習算法”。

那么問題是,實際的未知的目標函數可能不是線性函數。它可能接近於直線而需要一些微小的調節。或者目標函數也可能完全和直線沒有關聯,那么我們做的假設是錯誤的,我們所做的近似就會導致差勁的預測結果。

參數機器學習算法包括:

  • 邏輯回歸

  • 線性成分分析

  • 感知機

參數機器學習算法有如下優點:

  • 簡潔:理論容易理解和解釋結果

  • 快速:參數模型學習和訓練的速度都很快

  • 數據更少:通常不需要大量的數據,在對數據的擬合不很好時表現也不錯

參數機器學習算法的局限性:

  • 約束:以選定函數形式的方式來學習本身就限制了模型

  • 有限的復雜度:通常只能應對簡單的問題

  • 擬合度小:實際中通常無法和潛在的目標函數吻合

非參數機器學習算法

對於目標函數形式不作過多的假設的算法稱為非參數機器學習算法。通過不做假設,算法可以自由的從訓練數據中學習任意形式的函數。

當你擁有許多數據而先驗知識很少時,非參數學習通常很有用,此時你不需要關注於參數的選取。
— Artificial Intelligence: A Modern Approach,757頁

非參數理論尋求在構造目標函數的過程中對訓練數據作最好的擬合,同時維持一些泛化到未知數據的能力。同樣的,它們可以擬合各自形式的函數。

對於理解非參數模型的一個好例子是k近鄰算法,其目標是基於k個最相近的模式對新的數據做預測。這種理論對於目標函數的形式,除了相似模式的數目以外不作任何假設。

一些非參數機器學習算法的例子包括:

  • 決策樹,例如CART和C4.5

  • 朴素貝葉斯

  • 支持向量機

  • 神經網絡

非參數機器學習算法的優勢:

  • 可變性:可以擬合許多不同的函數形式。

  • 模型強大:對於目標函數不作假設或者作微小的假設

  • 表現良好:對於預測表現可以非常好。

非參數機器學習算法局限性:

  • 需要更多數據:對於擬合目標函數需要更多的訓練數據

  • 速度慢:因為需要訓練更多的參數,訓練過程通常比較慢。

  • 過擬合:有更高的風險發生過擬合,對於預測也比較難以解釋。

    轉自:http://wwwbuild.net/DataScienceWeMedia/219846.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM