iT邦幫忙

2022 iThome 鐵人賽

DAY 13
0
AI & Data

語言學與NLP系列 第 13

Day 13 支援向量機 Support Vector Machine 介紹篇

  • 分享至 

  • xImage
  •  

今天要介紹的是另一個能夠處理分類問題的模型----支援向量機(Support Vector Machine)。看到他的名字有沒有覺得很莫名其妙,分看看都懂,合在一起就不知道在幹嘛了!別擔心,今天這篇就是用淺顯的方式帶大家認識 SVM 喔~

SVM 是一種監督式的學習方法,用統計風險最小化的原則來估計一個分類的超平面(hyperplane)。它的基本概念就是找到一個決策邊界(decision boundary)讓兩類之間的邊界(margins)最大化,使其可以完美區隔開來。簡單來說,超平面是一種可以以某種型式分割空間的方法。生活在三維空間的我們,可以用一條線切分一個平面,如下圖所示。

1 D

當要切分立體(三維)時,我們則需要一個平面來做切分,如下圖所示。

2 D

以此類推,N 維空間我們就需要使用一個 (N-1) 的超平面來分割。

因此,SVM 做分類的時候就是例用這樣的概念,尋找到一刀切下去能夠最完美分類的那條線(當然,這個一刀所切開的並非我們能夠想像的平面或是立體,而是某個 hyperplane,是多維的,此分類方法就是所謂線性分類。)

SVM 在處理問題時會像以下圖片所示,不斷地通過計算來取得最好的那條線。

1

像這種情形無法完美分類的時候就像下圖這樣,換個方位

2

而當出現下圖這樣沒辦法在平面上完成切線的問題時該怎麼辦?

3

答案就是讓它進入更多維度的空間就能夠解決了!

4

了解了超平面 hyperplane 之後我們要來理解一下這句話「找到一個決策邊界(decision boundary)讓兩類之間的邊界(margins)最大化」。如圖所示,紅線到黑線的距離稱為 Margin,而 SVM 就是透過去找 Margin 最大的那個 decision boundary,來找最好的線。

5

以上關於切分的圖片皆來自(https://medium.com/jameslearningnote/%E8%B3%87%E6%96%99%E5%88%86%E6%9E%90-%E6%A9%9F%E5%99%A8%E5%AD%B8%E7%BF%92-%E7%AC%AC3-4%E8%AC%9B-%E6%94%AF%E6%8F%B4%E5%90%91%E9%87%8F%E6%A9%9F-support-vector-machine-%E4%BB%8B%E7%B4%B9-9c6c6925856b)

大家如果還有不懂的可以去參考他的解說~

那我們明天就來進行 R 和 Python 的 SVM 實作吧!


上一篇
Day 12 模型表現判斷、分析與 Random Forest
下一篇
Day 14 支援向量機 Support Vector Machine 實作篇
系列文
語言學與NLP30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言