深度學習筆記 SVM 支援向量機

2021-08-09 19:37:05 字數 1387 閱讀 4525

支援向量機support vector machine (svm)是有監督學習中最有影響的方法之一。

svm與邏輯回歸logistic regression相似, 都基於線性函式 wt

x+b 。

svm的關鍵創新在與kernel trick, 採用樣本點乘的形式我們可以將svm使用的線性函式寫成wt

x+b=

b+∑i

=1mα

ixtx

(i)

其中x(i

) 是訓練樣本,

α 是係數向量

我們用特徵函式 ϕ(

x)替代

x ,則點乘部分可替換為函式 k(

x,x(

i))=

ϕ(x)

⋅ϕ(x

(i))

,這裡的函式

k 就被稱為kernel。

這樣我們可以將函式寫成 f(

x)=b

+∑iα

ik(x

,x(i

))這個函式相對於

x 是非線性的,但相對於 ϕ(

x)是線性的,尤其重要的是 f(

x)對於

α 是線性的。

這就相當於我們首先使用 ϕ(

x)對所有樣本進行了預處理,然後使用乙個線性模型。

由於我們這裡要優化的是

α ,這就使我們能用線性的模型來處理非線性的任務。

最常用到的kernel是gaussian kernel高斯核 k(

u,v)

=n(u

−v;0

,σ2i

) ,其中n(

x;μ,

σ)是標準正態密度,它也被稱為radial basis function (rbf) kernel,

我們可以將高斯核視作執行模板匹配,首先訓練樣本

x 與對應的標籤

y成為

y 類別的模板,當測試樣本 x,

的歐幾里德距離接近

x 時,認為 x,

與x的模板非常相似,模型給對應的

y乙個非常大的權重。

svm不是唯一可以用kernel trick提高的演算法,所有使用kernel trick的演算法被稱為kernel machines或kernel methods。

svm的乙個弱點是評估決策函式的成本與訓練樣本數量成線性相關,減輕影響的方法是學習乙個大多為0的

α 向量,這樣分類新樣本時只需評估那些 αi

不為0的訓練樣本,這些訓練樣本被稱為support vectors 支撐向量。

kernel machines當資料集規模巨大時計算成本非常高,相應的有了stochastic gradient descent,同時核機器也不能很好的泛化,為克服核機器這個弱點引發了深度學習的復興。

支援向量機 SVM 學習筆記

最近學習了coursera上史丹福大學的機器學習課程。其中支援向量機的內容和其他地方的理解不太一樣,現將兩種理解方法記錄如下。這一種理解是從邏輯回歸推理得來。邏輯回歸的損失函式為 其中h z 1 1 exp z 接下來 log h x 和 log 1 h x 的影象如圖所示 其中手繪的函式為原函式的...

SVM支援向量機筆記

舉個簡單的例子,如下圖所示 左圖有三條直線 1 虛線不能很好的進行分類 2 兩條實線能夠實現分類 在該資料集中表現較好 但是這兩個線性模型的判定便界很靠近樣本點,在新的資料上可能不會表現得那麼好。右圖一條實線 1 該實線不僅分開了兩種類別,還盡可能遠離了最靠近的訓練資料點,可以理解為svm分類器在兩...

svm支援向量機學習

1.從零開始的機器學習之svm乙個簡單的實現案例 鳶尾花分類 2.svm的第乙個例項,這個和第乙個鏈結是乙個例子 3.機器學習 支援向量機svm及例項應用,例子仍然是地乙個 4.機器學習之旅 svm分類器,概述了svm的原理 5.支援向量機通俗導論 理解svm的三層境界 對svm原理講述的較為詳細 ...