台大機器學習筆記 Kernel 支援向量機

2021-07-13 10:02:07 字數 1474 閱讀 2024

kernel support vector machine

1.在上一講中我們已經推出了對偶問題的二次規劃問題:

在解這個二次規劃問題的時候,變數和條件的數量都在n左右,跟特徵維數看似沒什麼關係了,但是仔細看q_(n,m),裡面依舊包含了特徵維數,那麼在求解釋,如果特徵維數很高,求解二次規劃的為題依然很難!為了加速q的求解,讓兩個z的內積更快。

如果從x空間來看,z的內積可已看作兩個步驟,就是先將x轉換到z空間,再做內積,即:

2.那麼此時我們是否能找到一種方法直接將這兩個步驟聯合起來,專業術語叫做偷吃步,那麼如何能做到這一點呢?

假設z中最高次為二次項,那麼x轉化到z空間就如ϕ_2 (x),那麼z的內積就可以有圖中推導所得,可以發現,此時的z的內積,本來要花兩步,現在只用求解x空間x自身的內積就夠了!那麼此時達到了乙個什麼效果,就是在求解對偶問題中二次規劃裡的q是,我們徹底特徵維數的限制。此時我們就把這個轉換稱為,核函式:

3.那麼根據這個核函式的定義以及前面對偶形式得出的支援向量機的條件,我們可以化簡很多求解的公式:

那麼在整個svm的求解過程中,都可以用到這個偷吃步,kernel trick!

5.以上介紹只是特殊的二次轉換,當然一般多項式核的形式為:

當其中的係數為0,1,1時就是我們熟悉的最簡單的線性核函式。在機器學習實踐的過程中,可以先試線性核,效果不好的時候再去採用更高次的核。

6.以上的核最多也是在q次多項式,那麼如果我們想將偷吃步做到極致,就是z空間裡特徵的維數為無限多維,那麼在這種情況下我們怎樣通過偷吃步也能進行有效的計算,那麼就引入了高斯核函式,那麼為何高斯核為何是兩個無限多維的z的內積呢?推導如下:

那麼此時我們將之前的z的內積換成現在的高斯核,就能求解svm問題,那麼它的svm結果就是基於支援向量的高斯函式的線性組合,且將x對映到了無限多維的空間裡面:

台大機器學習基石 1

機器學習對於適用場景有一定的前提條件 可以找到某種模式 不容易程式設計實現,不能對目標下乙個簡單的定義 能找到訓練的資料,資料量越大越好 使用機器學習的乙個小例子 銀行信用卡批准 例如銀行會收到申請客戶的個人資料,然後根據個人資訊進行分析,選擇是否發放信用卡,以達到銀行最大收益。機器學習所扮演的角色...

台大李巨集毅機器學習 學習筆記03

在這個作業中,我們將用梯度下降方法 pm2.5的值 hw1要求 1 要求python3.5 2 只能用 1 numpy 2 scipy 3 pandas 3 請用梯度下降手寫線性回歸 4 最好的公共簡單基線 5 對於想載入模型而並不想執行整個訓練過程的人 請上傳訓練 並命名成 train.py 只要...

台大李巨集毅機器學習 學習筆記05

回歸 假設現在有一些資料點,我們用一條直線對這些點進行擬合 這條直線稱為最佳擬合直線 這個擬合的過程就叫做回歸。我們想要的函式應該是 能接受所有的輸入然後 出類別。梯度下降法 這裡需要一點點向量方面的數學基礎 向量 值 方向 梯度 向量 梯度 梯度值 梯度方向 梯度下降法的思想 要找到某函式的最大值...