譯 SVM零基礎系列教程(一)

2021-09-19 09:11:56 字數 2290 閱讀 2664

譯者注:本人研一,專案原因需要了解svm知識,奈何向量相關知識全都還給本科老師,這一部分完全沒看懂,直到看到了國外某部落格寫的這個svm系列教程,深入淺出,只要有初中數學基礎即可看懂,特別適合我這樣的。於是翻譯該系列教程,幫助和我一樣經歷的同學早日掌握svm。

全系列目錄:

這是我寫的svm背後的數學原理系列文章的第一篇。有許多人說要了解svm,充分的數學背景知識是必要的,不過我將盡量由淺入深慢慢地講解,以便每乙個細節都是清楚明白的,甚至對於初學者來說也能夠理解。

支援向量機的目標是找出能夠最大化訓練集資料間隔(margin)的最優分類超平面。

首先,我們能夠從定義中看出svm需要訓練資料,也就是說它是一種監督學習演算法。

知道svm是一種分類演算法也是十分重要的,這意味著我們將使用它去**某個東西是否屬於特定的類別。

例如,我們擁有如下的訓練資料:

我們已經繪製了人群的身高和體重散點圖,也用不同的標記區分了男人和女人。

有了這些資料,我們將能夠使用svm回答下面幾個問題:

給定乙個具體的資料點(身高和體重),這個人是男人還是女人?

例如:如果知道某人身高175cm體重80kg,這個人是男人還是女人?

通過觀察上圖,我們能夠發現分類這些資料是可能的。例如,我們可以描繪一條直線然後所有代表男人的點都在直線的上邊,代表女人的點都在直線的下邊。

這條直線被稱為分類超平面,如下圖所示:

如果它就是一條線,為什麼我們稱它為超平面呢?

超平面是平面的抽象。

在一維空間中,點l是乙個分類超平面。

你能夠找到乙個分類超平面,但這並不意味著它是最好的那個!在下面的例子中有幾個分類超平面,每個都成功地將我們的資料集分類為男人和女人兩部分。

存在許多的分類超平面

假設我們選擇綠色的超平面並且使用它給真實資料分類。

這個超平面並不能夠很好的分類資料。

這次,它分類出現了錯誤。明顯,我們能夠看出,如果我們選擇了乙個靠近某一類資料點的超平面,它也許並不能很好地分類資料。

因此我們將會嘗試選擇乙個盡可能遠離每一種類別資料點的超平面:

這乙個看起來更好。當我們用它分類真實資料中時,它仍然進行了完美的分類。

黑色的超平面比綠色的超平面分類更準確。

這就是為什麼svm的目標是尋找最優分類超平面

我們的最優超平面的間隔

給定乙個超平面,我們能夠計算出超平面到最近的乙個點的距離。一旦我們算出這個值,如果我們將距離乘以2我們就可以得到間隔(margin)。

基本上,間隔是乙個「無人區」。在間隔內不存在任何資料點。

對於另乙個超平面,間隔將看起來像這樣:

如圖所示,間隔b比間隔a小得多。

我們能夠觀察到以下結果:

這意味著最優超平面將是擁有最大邊距的那個超平面

這也是為什麼svm的目標是找到最大化訓練集資料間隔的最優分類超平面

到這裡關於svm背後的數學原理的介紹就結束了,目前沒有有多少公式,但是在下篇文章我們將增加一些數字然後試著從數學的視角(幾何和向量)來進行理解。

零基礎學程式設計系列一

每個人都有夢想,你是否也曾羨慕過那些月薪5萬的西二旗程式猿們?可是每個人條件不同,理想很豐滿,現實很骨感。有些非計算機專業的同學學習程式設計還是有些吃力。其實要想短時間內學會一門程式語言也不是沒有可能。本系列教程就是想給零基礎的同學帶入到程式設計這個神奇的世界中,凡事只要入門了後面學起來就會快起來。...

零基礎易語言入門教程 一

易語言簡介 易語言是一門以中文作為程式 程式語言。以 易 著稱。創始人為吳濤。早期版本的名字為e語言。易語言最早的版本的發布可追溯至2000年9月11日。創造易語言的初衷是進行用中文來編寫程式的實踐。從2000年至今,易語言已經發展到一定的規模,功能上 使用者數量上都十分可觀。易語言是可視全中文易學...

MySQL零基礎入門教程!

手把手教你入門mysql零基礎入門教程!目前mysql已經成為最為流行的開源關係資料庫系統,並且一步一步地占領了原有商業資料庫的市場。可以看到 google facebook yahoo 網易 久遊等大公司都在使用 mysql 資料庫,甚至將其作為核心應用的資料庫系統。而 mysql 資料庫也不再僅...