讓咱們來考慮這樣一個問題,如今給定一個數據集,讓你劃分出決策邊界,該怎麼辦呢?數據集中正樣本爲「叉」,負樣本爲「圈」,以下圖:微信
第一反應就是用一個高階多項式去構造一個假設函數,當假設函數大於等於零時,咱們就能夠認爲它爲正樣本,不然爲負樣本,相似下面這種形式:機器學習
可是有一個問題出現了,咱們不能肯定構造的假設函數就是最符合這個例子的高階多項式,可能還有其餘的高階多項式可以更好地符合這個例子。函數
爲了解決這樣一個問題,咱們首先來引入新的符號,用 f 替換原來多項式中的 x,假設函數就變成了以下這種類型:學習
如今問題就轉化成如何選擇特徵 f?咱們能夠經過核函數(Kernels)改造支持向量機讓它來學習複雜的非線性假設函數。spa
對於特徵 x_1 和 x_2,咱們首先手動的選取幾個點 l^(1), l^(2), l^(3), 這些點被稱做標誌(landmark), 而後令:cdn
其中:blog
這裏的 similarity( ) 是類似度函數,被稱爲核函數(Kernels),也叫作高斯核函數(Gaussian Kernel)。雖然這個函數跟正態分佈函數長得很像,但其實比沒有什麼關係。圖片
如今咱們來分析一下這個函數,當 x 與 l 幾乎相等時,這一項:ci
就等於 0,那麼 f =1。當 x 與 l 差距很大時,f = 0。it
讓咱們用圖像去直觀地感覺一下:
圖像中高度爲 f 的值,x 越接近 l ,f 就越處在「山丘」的頂部。山丘的形狀還與 σ^2 有關。
σ^2 越小,「山丘」越「瘦高」,σ^2 越大,「山丘」越「胖矮」。
在下面這張圖中,假設咱們已經手動尋找了標誌且構造了一個假設函數:
參數也知道了:
如今觀察粉紅色的點,它離 l^(1) 近,f1 = 1,離 l^(2) , l^(3) 遠,f2 和 f3 都爲 0,此時假設函數大於 0,咱們就能夠預測這是一個正樣本。
再來觀察淺藍色的點:
離 l^(1) , l^(2) , l^(3) 都遠,f1,f2,f3 都爲 0,假設函數就小於 0,咱們就能夠認爲這是一個負樣本。經過這樣的判斷,咱們就能夠畫出一個決策邊界:
如何選擇標記點呢?咱們能夠將訓練集所在的位置直接當作樣本點來處理。
ps. 本篇文章是根據吳恩達機器學習課程整理的學習筆記。若是想要一塊兒學習機器學習,能夠關注微信公衆號「SuperFeng」,期待與你的相遇。