電子信箱 service [at] bituzi.com
幣圖誌首頁 facebook粉絲團 google plus google plus


分類的好幫手 ── 支撐向量機 (SVM)



大家好!貓大又來了,在這篇文章中會為各位介紹SVM, SVM是由複雜的數學推導而得來,貓大在以下會介紹什麼是SVM以及它的概念,最後還會介紹多類別的分類方法。

什麼是支撐向量機?


支撐向量機(Support Vector Machine),以下都簡稱為SVM,SVM 是可以用來作為分類(classification)的工具,所謂的分類簡單來說就是會將屬性類似的歸為一類。

當我們在使用SVM時,我們會給予已經分類好的資料,SVM就會透過這組資料建立模型,往後當有新資料想分類時,我們就可以利用先前建立的模型,來判斷此資料的分類。

小故事時間


咪咪是名愛貓人士,養了一百隻貓,每隻貓的外型、性格迥異,有一天咪咪想起了一句話,「不管是黑貓還是白貓,反正會抓老鼠的就是好貓」,咪咪就很好奇這些貓,到底有哪些真的會抓老鼠呢?

所以咪咪就開始實驗了,咪咪將每隻貓的體重、年齡、毛皮顏色、毛的長短、個性等特徵列出來,然後就買了一隻遙控老鼠,逐一的對每一隻貓測試,發現確實有些貓看到遙控老鼠非常興奮的在後追逐,但是有些貓卻興致缺缺。

以下就是咪咪的實驗數據: (雖然有一百隻貓,不過因為篇幅關係只列出其中十筆)



咪咪雖然解決了他所好奇的問題,但是有一天偶然的與貓大聊到了她的實驗,咪咪就問貓大一個問題,「如果每一個人都想知道他的貓會不會抓老鼠,那就必須買支遙控老鼠,又必須花時間去測試,像我就花了三天三夜才測試完這一百隻貓,有沒有甚麼方法可以透過我所觀察的結果,來分類他們所養的貓到底會不會抓老鼠呢?」,貓大回答了,我們可以透過SVM來解決問題,那就讓貓大來跟你解釋為什麼SVM可以解決你的問題。

SVM的概念

SVM最主要的概念就是想要讓訓練用資料在特徵空間中,找到一個超平面將這些資料分開來。
這邊就必須來解釋一下什麼是特徵空間呢?我們可以看到下圖,如果想要在原空間將這些零散的資料,清楚劃分成兩類,就需要用到橢圓方程式,但是如果我們透過一些方式將原空間的資料轉換到特徵空間,這時候我們就可以找到一個平面將資料成功劃分。



所以換句話說就是咪咪的一百隻貓數據,就可以轉換到一個特徵空間上,然後透過一個平面切割成兩類,往後如果有人好奇他養的貓到底會不會抓老鼠,他只要給妳貓的體重、年齡、毛皮顏色、毛的長短、個性這些特徵,然後SVM就會判斷這隻貓底會不會抓老鼠了。

在這邊有一個重點:「SVM到底是如何把資料切割成兩類呢?」我們可以看到下面這張圖,上面有很多的點,我們也可以找到很多條線可以將這些資料分割成兩類,但是到底要如何畫出那一條線,我們又該如何知道正確的那一條線在哪?這就是SVM所要解決的主要問題了。



至於要選哪一條線,SVM會選擇邊界越大越好,原因是邊界如果選擇太小,那麼只要資料有任何細微的變動,都很有可能導致分類的錯誤唷。
座落於邊界上的點就是所謂的支撐向量。



換句話說如果咪咪的實驗數據當中有一隻貓是



但是有一個人好奇他所養的貓是到底為不會抓老鼠,於是給了他的貓之特徵



雖然體重才相差0.01公斤,但是卻被判斷為不會抓老鼠,這種情況就有可能就是分類的錯誤了。

多類別資料分法

咪咪在了解了SVM的概念之後就問貓大一個問題,如果有一天要將貓分為三類,分別為會抓老鼠、偶爾會抓老鼠、完全不會抓老鼠,那又該怎麼辦?
別緊張,分成多類的方法其實跟分成兩類的步驟是差不多的,遇到想要分成兩類以上的多類別時,主要可以分為一對一(One-against-One)以及一對多(One-against-All)這兩種方式,以下就讓貓大為您介紹這兩種方式的差別。

1. One-against-One:
顧名思義它就是一群一群個別分開比,首先會抓老鼠的那一類會先跟偶爾抓老鼠的那一類建立超平面,然後會抓老鼠的那一類再跟不會抓老鼠的那一類建立超平面,最後偶爾抓老鼠的那一類跟不會抓老鼠的那一類建立超平面。
如果有一個人想問他養的貓是屬於哪一類呢?其實就是採取多數決方式來決定。
先看會抓老鼠的那一類跟不會抓老鼠的那一類的超平面,很明顯屬於會抓老鼠的那一類
再看會抓老鼠的那一類跟偶爾抓老鼠的那一類的超平面,很明顯是屬於偶爾抓老鼠的那一類
最後看偶爾抓老鼠的那一類跟不會抓老鼠的那一類的超平面,是屬於偶爾抓老鼠的那一類
所以結論是偶爾抓老鼠的那一類有兩票,會抓老鼠的那一類只有一票,所以結果屬於偶爾抓老鼠的那一類。



2. One-against-All:
這一個分法其實就很像分成兩類,這是因為它會以某一類別為主,其它的類別就會變成第二類。
也就是會抓老鼠的那一類會跟其它的類建立一個超平面,偶爾抓老鼠的那一類會跟其它的類建立一個超平面,最後不會抓老鼠的那一類也會跟其它的類建立一個超平面。
同樣的那隻貓屬於哪一類呢?
我們先看紅色的超平面,很明顯屬於會抓老鼠的那一類
再看藍色的超平面,發現屬於偶爾抓老鼠的那一類
最後看綠色的超平面,非常明顯他不屬於不會抓老鼠的那一類
但是這隻貓究竟是會抓老鼠還是偶爾會抓老鼠呢?

答案是離超平面距離越遠越好,這就表示他越像那一類,

所以答案是屬於偶而會抓老鼠的那一類。



SVM是非常好用的工具,可以幫助我們解決分類的問題,其主要概念就是將資料轉換到特徵空間,然後找到超平面將資料劃分,最後就可以透過此模型快速的將資料分類。希望本週的講解,讓您對資料分類工具有更深一層的認識,謝謝收看!喵~

採礦貓

採礦貓過去在許多金控公司當過顧問,看到很多台灣散戶投資者被國外的投資公司坑殺,因而希望能提供散戶強大的投資工具與武器以提升獲利率、避免走上被坑殺的道路。

0 意見: