【svm學習筆記】svm_理論基礎2
【線性可分問題 之 問題】
先從最簡單的情況說起,說線性可分問題。問題是這樣的,至少可以想象是這樣的:在二維空間中有一些點,分別屬於兩個不同的類別,如何在二維空間中找到這樣一條直線,直線的一邊是某一類別的點,直線的另一邊是另一個類別的點?如果這樣的直線存在多條,如何選擇一條最“好”的直線?
上面描述中,樣本被描述成了二維空間的點;其實也可以是高維空間中的點,而一個向量來表徵。類別,可以簡單地用整數+1和-1表示,不必是向量。
分類器,對於二維空間是一條直線;對於高維空間,就是一個超平面。通常做如下表示:
g(x) = <w * x> + b
x表示樣本點,通常是一個向量;w表示分類超平面的法向量;b表示截距,它和w共同確定了分類超平面,也就組成了分類器本身。分類的過程通過一個符號函式 sgn[ g(x) ] 來判定,即當g(x)>0的時候,判定為正類別;否則為負類別。
通常找到這樣一個超平面不難,難的是超平面有很多,究竟選擇哪一個?
【線性可分問題 之 問題轉化 之 最大幾何間隔】
選擇哪一個,總會有一個“標準”,這個標準就決定了我們的目標函式,這樣尋找最優超平面問題就能夠轉換成為普通的優化問題。
首先做一些鋪墊,定義一個樣本x(i)點到超平面的“間隔”為:
Theta(i) = y(i) ( <w * x(i)> + b )
公式中“(i)"表示的是下標。看起來就是樣本點用超平面計算出來的數值(不是向量)與它已知的分類結果相乘。注意到,這個值Theta(i)永遠是正值,等於 | g( x(i) ) |,豎線表示絕對值。將上面公式進一步對w做歸一化,得到:
Theta(i) = | g( x(i) ) | / || w ||
雙豎線表示w的正規化。上面公式的幾何意義是樣本點x(i)到超平面的幾何間隔。
有了上面的鋪墊,好,我們直接說結論:我們要找的那個超平面是距離兩類樣本點集合的幾何間隔最大的那個超平面。至於,上面只定義了單個樣本到超平面的幾何間隔,那麼點的集合到超平面的幾何間隔,類似的可以定義,這裡就不羅嗦了,總之,我相信,你懂得。
不過,上面結論怎麼來的?我看的資料裡面沒有詳細推導,即便是有詳細推導,我也可能沒有耐心看完。我猜想是按照如下思路來的:首先,根據期望風險和經驗風險以及VC維的關係(參考上一篇博文"svm_基礎理論1"中的公式),將問題轉化成旨在用經驗風險和VC維降低期望風險的”上界“
誤分次數 <= pow ( 2*R / Theta, 2)
是某個比值的平方,而這個比值又和 Theta 有關,而Theta的數值又是樣本點到超頻面的幾何間隔。至此,問題轉化為選取超平面,要求距離樣本點的幾何間隔最大。公式中R是什麼?如果樣本分佈在三維空間中,R就是能夠包含所有樣本的最小球的直徑。顯然,這是和樣本相關的量。這個量,對於基於這些樣本訓練處的所有模型都是相同的。
回顧上面Theta的計算公式,Theta的數值與|| w ||有關,問題又進一步轉化為:如何選擇超平面,使得|| w ||的值最小。
如何求解呢?其實問題還需要進一步變換——看svm的一個突出感覺就是,問題都不好解決,只好轉換成別的問題,而別的問題也不好解決,只好繼續轉換...... 我們下文再說吧。
相關推薦
【svm學習筆記】svm_理論基礎2
【線性可分問題 之 問題】 先從最簡單的情況說起,說線性可分問題。問題是這樣的,至少可以想象是這樣的:在二維空間中有一些點,分別屬於兩個不同的類別,如何在二維空間中找到這樣一條直線,直線的一邊是某一類別的點,直線的另一邊是另一個類別的點?如果這樣的直線存在多條,如何選擇一條
【svm學習筆記】svm_理論基礎4
【線性不可分問題 之 核函式】 上面討論的都是線性可分問題,雖然最終也沒看到解的樣子或者解的方法,總之,我們假設已經可以解了。接下來,如果樣本線性不可分,咋整? 好辦。記得從前影象處理裡面有個小波變換,大概的意思就是時域效果不好的話,變換到復域效果就好了,變換的名稱我記
【svm學習筆記】svm_理論學習圖譜_上
這兩天,因為工作需要,斷斷續續在看svm的一些資料。因為之前也看過其他的一些機器學習模型,並動手實現過相關程式碼,如:最大墒模型等,所以最初以為學習svm的過程應該與上述經歷類似。事實證明,svm是個坑,進去容易,爬上來難。難的主要在於,svm本身是由多個不同方面的理論拼接
【svm學習筆記】svm_理論學習圖譜_下
接著上一篇說。 泛化理論幫我們解決了維數災難的問題,同時又指導我們找到了目標函式,將模型學習問題轉化成了有約束條件下的優化問題。那麼我們又知道,svm實際上是在高維空間學習一個超平面,那這個目標函式到底找到的是哪個超平面啊?這有引入了一些神馬函式間隔、幾何距離等東東。然後
【Android學習筆記】屬性動畫基礎學習筆記
屬性動畫 屬性動畫系統是一個具有魯棒性的框架,允許你幾乎讓一切都動起來。你能夠定義一個動畫來隨著時間改變任何物件的任何屬性,無視該物件是否是畫在在螢幕上的。屬性動畫在指定的時間內改變屬性值(某個物件的某個屬性)。為了讓目標動起來,需要特別指明所要運動的目標的屬性,例如目標在螢幕上的位置,運動的時間長
【extjs6學習筆記】0.1 準備:基礎概念(02)
json over cal 類的屬性 tab 常用事件 data 微軟 基於 Ext 類 Ext 是一個全局單例的對象,在 Sencha library 中它封裝了所有的類和許多實用的方法。許多常用的函數都定義在 Ext 對象裏。它還提供了像其他類中一些頻繁使用的方法
【Linux學習筆記】第8章 Linux shell基礎知識
linux centos shell 通配 8.1shell介紹shell是一個命令解釋器,提供人機交互。支持特定語法。每個用戶都可以有自己特定的shell(bash)。CentOS7默認bash(Bourne Agin Shell)。其他還有zsh、ksh等。 8.2命令歷史命令歷史存放於
【爬蟲學習筆記】網絡協議及請求基礎
adding 數據 one con 響應狀態 基礎 referer html tran http協議與https協議 HTTP協議(全稱為HyperText Transfer Protocol,超文本傳輸協議),是發布和接收HTML頁面的方法,其服務端口號為80。 HTTP
【jwt學習筆記】--理論入門
概要 JWT是一種用於雙方之間傳遞安全資訊的簡潔的、URL安全的表述性宣告規範。JWT定義了一種簡潔的,自包含的方法用於通訊雙方之間以Json物件的形式安全的傳遞資訊。因為數字簽名的存在,這些資訊是可信的,JWT可以使用HMAC演算法或者是RSA的公私祕鑰對進行簽名。 簡潔(Comp
【python學習筆記】35:爬蟲基礎和相關產品API(和風天氣)使用例項
學習《Python3爬蟲、資料清洗與視覺化實戰》時自己的一些實踐。 在網站URL後面跟robots.txt一般就可以看到網站允許和禁止爬取的資源。 GET請求獲取響應內容 最基本的爬蟲。 import requests ''' 中國旅遊網 /www.cntour.
【學習筆記】演算法導論第2章:演算法基礎
//====================================== //Ch2_1_Basic_Sort_Algorthm //====================================== #include<iostream> #
【webpack學習筆記】a01-基礎構建
webpack基於nodejs環境執行,首先確認已經安裝了node.js. 基礎構建流程 新建一個資料夾,這個就是你專案的根目錄。 在命令列中使用npm init命令初始化npm,會得到一個 ==package.json== 的檔案。 在命令列中安裝webpack和webpack-cli:
【ML學習筆記】3:機器學習中的數學基礎3(特徵值,特徵向量,認識SVD)
矩陣乘以向量的幾何意義 實際上也就是 所以,它還可以寫成 那麼把原來的矩陣按照列檢視來看,也就是 而[x]和[y]作為1x1的矩陣,在剛剛那個式子裡可以看成一個標量,也就變成了 所以矩陣乘以一個列向量,可以看成把這個列向量的每一個分
【ML學習筆記】5:機器學習中的數學基礎5(張量,哈達瑪積,生成子空間,超平面,範數)
向量/矩陣/張量 向量 向量可以表示成一維陣列,每個分量可以理解為向量所表示的點在空間中座標的分量。 矩陣 矩陣可以表示成二維陣列,上節理解了矩陣可以理解為線性對映在特定基下的一種定量描述。 張量 張量可以表示成任意維的陣列,張量是向量概
1.【springboot學習筆記】-基礎概念
一、為什麼使用springboot? springboot的配置少 專案可以快速搭建 內嵌Servlet容器,降低了對環境的要求,可以使用命令直接執行專案,應用可用jar包執行:java -jar; (以前的打包方式:打包成一個war包放入到tomcat/webapps
【Hadoop學習筆記】——Hadoop基礎
大資料時代 當前時代是資料爆炸的時代,全球各個網站、電子裝置等都在源源不斷地產生著大量資料.2006年數字世界專案統計得出全球資料總量為0.18ZB,2011年全球資料量1.8
【JAVAWEB學習筆記】12_Http&Tomcat
請求重定向 san res tor tomcat啟動 zha rac pac b- 一、Http協議 1.什麽是Http協議 HTTP,超文本傳輸協議(HyperText Transfer Protocol)是互聯網上應用最為廣泛的 一種網絡協議。所有的WWW文
【extjs6學習筆記】1.1 初始:創建項目
workspace 學習 分享 pps cnblogs log -i 學習筆記 apps 創建工作空間 sencha generate workspace /path/to/workspace 使用sencha創建應用 sencha
【extjs6學習筆記】1.2 初始:MVC MVVM
控制 進行 nbsp 例如 ges 如果 image 初始 互動 模型 這表示數據層。該模型可以包含數據驗證和邏輯來保持數據。在 ext js 中, 大多數模型都與一個數據存儲一起使用。 視圖 這表示用戶界面。 是用戶在屏幕上看到的組
【JAVAWEB學習筆記】13_servlet
eight 生命周期 sys blog source con 相對 對象創建 功能 JavaWeb核心之Servlet 教學導航 學習目標: 案例一、完成用戶登錄功能 案例二、記錄成功登錄系統的人次 一、Servlet簡介 1.什麽是Servlet Servlet