在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

圖解支持向量機SVM

新機器視覺 ? 來源:新機器視覺 ? 作者:Rohit Pandey ? 2020-12-26 11:46 ? 次閱讀

作者說:我以前一直沒有真正理解支持向量機,直到我畫了一張圖。

1. 問題

支持向量機(SVM)旨在解決「分類」問題。數據通常包含一定數量的條目/行/點。現在,我們想對每個數據點進行分類。為簡單起見,我們假設兩個類別:「正類」和「負類」。這或許可以幫助解答以下問題:

基于圖像的像素數據,判斷這張圖像中是否有貓(有貓則標簽為正類);

基于郵件的主題、發送者、文本等,判斷該郵件是否為垃圾郵件;

判斷某個病人是否患有某種疾病。

其精髓在于,當我們知道正確答案時,我們會想到一些將數據分為兩類的規則(對于支持向量機而言,「規則」是畫一個平面,一側的所有點均為「正」,另一側的所有點均為「負」)。當我們遇到不知道類別的新數據點時,我們使用規則對其進行分類。分類問題嚴重依賴約束優化,同時也是約束優化的一個直觀示例。大家可以參考以下博客或吳恩達的文章。

博客地址:https://towardsdatascience.com/lagrange-multipliers-with-pictures-and-code-ace8018dac5e

吳恩達文章地址:http://cs229.stanford.edu/notes/cs229-notes3.pdf

1.1 圖解

我以前一直沒有真正理解支持向量機,直到我畫了一張圖。

我們可以看到特征空間中有一些點。為方便可視化,我們使用一個可在屏幕上觀看的 2D 特征空間。該空間中散落著一些數據點,每個點具備二元標簽((1/-1)。如下圖所示,我們將綠色點看作正類,紅色點看作負類,黃色點類別未知。如果讓你猜測黃色點的標簽,你會怎么選?你可能會發現其中一些點并不是那么容易確認類別。

圖 1:2-D 分類問題。綠色點是正類,紅色點是負類。你可以猜出黃色點的標簽嗎?(繪圖工具:https://github.com/ryu577/pyray)

現在,如果我畫一條紫色線將兩個類別分割開,那么黃色點屬于哪個類別就清晰多了(紫色線上方是綠色點,下方是紅色點)。

圖 2:畫一條線,作為將正類標簽和負類標簽分割開來的「規則」。現在,我們可以使用該規則標注每個黃色點的類別。

然而,這條線并非唯一。有很多條紫色線可以將綠色點和紅色點完美分割(見下圖)。隨著下圖中紫色線的移動,某些黃色點就顯得很微妙了(它們處于紫色線的不同側,因此它們的類別取決于你選擇使用哪條紫色線)。

圖 3:將紅色點和綠色點完美分割的線有很多條。那么我們應該選擇哪一條呢?

問題在于,所有候選線中,哪一條是「最優」的?有一點很清楚:當上圖中的紫色線接近右下角的紅色點(critical point)時,其泛化效果不好,而當它遠離那個點時,其分割效果要好得多。因此,這個紅色點可以說明紫色線的分類效果,因此它是「關鍵點」。我們可以說,遠離該紅色點的線同樣遠離所有訓練樣本,而靠近該紅色點的線最終的分類效果并不好。因此,離最近的訓練樣本較遠的線才是優秀的分類器。

接下來,我們來看如何利用數學知識繪制分割線。

2. 繪制分割線

現在我們要(在 2D 空間中)畫一條分割線(在更高維度的空間中,則為分割面)。那么這條線是什么呢?它是具備某種共性的點的無限集合。這些點滿足一個特定公式。為了找到這個公式,我們先從最簡單的線 x 軸開始。x 軸上所有點的位置向量存在什么共性?v_x = [x,0],即它們對應的 y 坐標均為 0。

也就是說,x 軸上每個點的位置向量與指向 y 軸方向的向量是正交(垂直)的。

這個說法可能看起來比較晦澀難懂,但是我們必須這么說,因為這種現象其實對所有線都成立,而并非只適用于 x 軸。我們希望將此說法泛化至任意線。現在每次挪動一小步,我們來看看穿過原點的線(如 x 軸)。如下圖所示,只需將 x 軸旋轉一定角度,就可以得到這些線。

圖 4:旋轉 x 軸可以得到穿過原點的任意線。這些線上的每個點都與橙色向量相垂直。

隨著線的變化,與線相垂直的向量也在變化,但是所有線上每個點的位置向量都與某個向量垂直。我們把這個與線垂直的向量叫做 w。當我們改變 w 時,就可以捕捉到所有此類線。

注意,對于任意給定線而言,存在多個 w 值。如果我們將向量 w 擴展或縮小一定數值,該線上每個點的位置向量仍與向量 w 垂直。

圖 5:擴大或縮小正交 w 向量。

為什么不把 w 向量限制在大小為 1 呢?下文中,我們將 w 向量的大小設為 1。

現在我們已經將穿過原點的所有線都參數化了。那么那些沒有穿過原點的線呢?我們將穿過原點的線移動一定量,即在該線法向量 w 的方向上移動 b。現在,w 與該線上每個點的位置向量的點積不為零,而是常量 b(參見下圖)。w 向量是從原點指向紫色線的單位向量,且與紫色線垂直。A 即紫色線上與原點最接近的點。假設 OA 的距離是 -b。現在,考慮兩個隨機點 B 和 C(分別是圖中綠色點和橙色點)。將 OB 或 OC 與單位向量 w 相乘,分別得到三角形 OAB 和 OAC 的底。 在這兩種情況中,OA 為 -b。由于這兩個點只是紫色線上的任意點,我們可以推斷出,紫色線上的所有點均滿足 w^T x+b=0(其中 x 表示紫色線上點的位置向量)。

圖 6:未穿過原點的線。

如果我們將不在該線上的點應用于上述公式呢?得到的結果不是零,而是從該點到紫色線的垂直距離(對于紫色線上的點而言也是如此,所以它們所對應的公式結果為零)。我們需要注意:這個結論僅適用于 |w|=1 的情況。下圖清晰說明了這一結果。B 為不屬于紫色線的任意點,B』』 為從 B 到紫色線的垂點,B』 為從 B 到 w 向量的垂點。從 B 到紫色線的垂直距離為 BB』』。但是由于 A-B』-B-B』』 是一個矩形,因此該垂直距離等于 AB』=OB』-OA。現在,OB』 是 B 的位置向量與 w 的點積。因此,如果 x 是 B 的位置向量,則 |OB』| = w^T x。這意味著 |AB』|=w^T x-(-b)(OA=-b)。因此從點 B 到紫色線的距離是:|AB』|=w^T x+b(該公式恰好是紫色線的公式)。

圖 7:將不在紫色線上的點應用于紫色線公式會發生什么?我們得到該點與紫色線之間的垂直距離。

注意,在 w 指向方向一側的所有點(如圖 7 中的點 B)到紫色線的垂直距離為正值,而另一側點的垂直距離為負值。

在 w 指向方向一側的所有點均得到正類標簽 (t_i=1),而另一側的所有點均得到負類標簽 (t_i=-1)。因此,如果我們將這些標簽與垂直距離相乘,則所有點調整后的垂直距離均為正,前提是這些點均被紫色線正確分類(即具備正類標簽的點在線一側,具備負類標簽的點在另一側)。

3. 最佳分割線

現在到了 SVM 的重點了。我們將任意點到分割線的調整后垂直距離叫做「間距」(margin)。那么,對于任意給定分割線,所有點均具備間距(如果點被分割線正確分類,則間距為正,反之則間距為負)。我們想獲取將正類和負類完美分割的線。也就是說,間距越大越好,即使是對于鄰近界限(分割平面)的點。

那么,最大化所有間距(甚至是最接近分割線的點的間距)的分割平面應該能夠很好地分割這些點。現在,給出 (w,b),第 i 個點的間距為:

04fc60f4-4699-11eb-8b86-12bb97331649.png

間距公式。

其中 x_i 表示特征空間中的位置向量,t_i 表示標簽:1 為正類,-1 為負類。

所有點中的最小間距為:

0530d06e-4699-11eb-8b86-12bb97331649.png

公式 1:所有點中的最小間距。

我們想讓 (w,b) 最大化上述最小間距。也就是:

05c2e8fa-4699-11eb-8b86-12bb97331649.png

即我們想讓 (w,b) 滿足 |w|=1,且最大化間距:

05f25cb6-4699-11eb-8b86-12bb97331649.png

公式 2:SVM 目標函數。

注意:如果這條線沒有分離數據,那么對于 (w,b),某些點的間距

04fc60f4-4699-11eb-8b86-12bb97331649.png

間距公式。

為負。且這些點中的其中一個會在第一次最小化中「脫穎而出」,這意味著 (w,b) 無法在第二次 arg max 時勝出。因此,該公式保證了勝出的 (w,b) 能夠分割數據。

公式 2 是一個優化問題,涉及最小化和最大化(mini-max)。解決一級優化總比二級優化要簡單。因此,我們嘗試將公式 2 轉化為約束優化問題。

我們用 γ 表示所有點的最小間距。

066b0972-4699-11eb-8b86-12bb97331649.png

公式 3:約束。

最終得到的優化問題為:

06a9c536-4699-11eb-8b86-12bb97331649.png

公式 4:SVM 優化問題。

上述優化問題具備二次/線性約束和線性目標函數。我們可以使用二次規劃求解器(quadratic programming solver)和最優分割線/平面 (w,b) 解決該問題。

現在,我們來試著進一步簡化該問題。我們發現可以去除 γ。其代價是,我們必須放棄 w^T w = 1 這一要求。但這是值得的。我們使用 γ 將約束分割為兩部分,得到:

06d4d79e-4699-11eb-8b86-12bb97331649.png

公式 5:使用 γ 分割分割平面公式。

現在,使

070546d6-4699-11eb-8b86-12bb97331649.png

引入新的 w 變量。

為兩側取絕對值:

07245198-4699-11eb-8b86-12bb97331649.png

取絕對值。

我們之前要求 |w|=1。這意味著:

0750e67c-4699-11eb-8b86-12bb97331649.png

因此,公式 3 變成了:

078c7246-4699-11eb-8b86-12bb97331649.png

公式 5 和公式 6 使公式 4 中的優化問題變成了:

07d1f38e-4699-11eb-8b86-12bb97331649.png

現在,優化問題有了一個丑陋的目標函數。但是最大化 1/|w| 等同于最小化 |w|,等同于最小化 |w|2。添加 1/2 使得計算更加簡單。

因此,上述優化問題變為:

080ebda0-4699-11eb-8b86-12bb97331649.png

公式 7

現在,該優化問題具備二次目標函數和線性約束(線性約束二次規劃,LCQP)。使用二次規劃求解器即可解決該問題。

現在,我們知道如何通過解決優化問題找出最優分割線了。透過表面查看解決這類優化問題的真正機制,會幫助我們對該問題了解更多,具備更強大的洞察和見解。

責任編輯:xj

原文標題:透過現象看本質,圖解支持向量機 SVM

文章出處:【微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 向量機
    +關注

    關注

    0

    文章

    166

    瀏覽量

    20888
  • SVM
    SVM
    +關注

    關注

    0

    文章

    154

    瀏覽量

    32503

原文標題:透過現象看本質,圖解支持向量機 SVM

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    請教,matlab對于與多個參數名稱匹配的問題。

    (這里使用支持向量 - SVM) % 設置SVM的一些參數,例如核函數類型為高斯核(\'rbf\'),可根據實際情況調整 svmModel
    發表于 11-29 21:51

    科技云報到:大模型時代下,向量數據庫的野望

    科技云報到:大模型時代下,向量數據庫的野望
    的頭像 發表于 10-14 17:18 ?268次閱讀

    聚徽觸控-工控支持什么系統

    工控通常支持多種操作系統,以適應不同應用場景的需求。以下是工控常見的操作系統支持情況:
    的頭像 發表于 07-09 09:35 ?301次閱讀

    機器學習算法原理詳解

    機器學習作為人工智能的一個重要分支,其目標是通過讓計算機自動從數據中學習并改進其性能,而無需進行明確的編程。本文將深入解讀幾種常見的機器學習算法原理,包括線性回歸、邏輯回歸、支持向量SVM
    的頭像 發表于 07-02 11:25 ?1136次閱讀

    SI3933 是一款三通道的低功耗 ASK 接收 125K頻段

    Si3933 是一款三通道的低功耗 ASK 接收,可用于檢測 15kHz-150kHz 低頻載波 頻率的數字信號,并產生喚醒信號。內部集成的校驗器用于檢測 16 位或 32 位曼徹斯特 編碼的喚醒向量,且支持兩次重復的
    的頭像 發表于 05-30 15:26 ?427次閱讀
    SI3933 是一款三通道的低功耗 ASK 接收<b class='flag-5'>機</b> 125K頻段

    大模型卷價格,向量數據庫“卷”什么?

    被大模型“帶飛”這一年,向量數據庫才剛剛寫下序言
    的頭像 發表于 05-23 09:24 ?1802次閱讀
    大模型卷價格,<b class='flag-5'>向量</b>數據庫“卷”什么?

    音箱制作過程圖解

    電子發燒友網站提供《音箱制作過程圖解.doc》資料免費下載
    發表于 04-28 09:27 ?10次下載

    如何利用一些小技巧實現SVM的增量式訓練

    同時根據測試精度,可以看出,通過添加第一次訓練多得到的支持向量,而非將全體數據進行二次訓練,能夠達到同樣的效果。
    發表于 04-25 11:05 ?951次閱讀
    如何利用一些小技巧實現<b class='flag-5'>SVM</b>的增量式訓練

    基于SVM的電機異常檢測系統

    之前為大家帶來了兩篇關于SVM的介紹與基于python的使用方法。相信大家都已經上手體驗,嘗鮮了鳶尾花數據集了吧。
    的頭像 發表于 04-18 10:34 ?801次閱讀
    基于<b class='flag-5'>SVM</b>的電機異常檢測系統

    搭載英偉達GPU,全球領先的向量數據庫公司Zilliz發布Milvus2.4向量數據庫

    在美國硅谷圣何塞召開的 NVIDIA GTC 大會上,全球領先的向量數據庫公司 Zilliz 發布了 Milvus 2.4 版本。這是一款革命性的向量數據庫系統,在業界首屈一指,它首次采用了英偉達
    的頭像 發表于 04-01 14:33 ?492次閱讀
    搭載英偉達GPU,全球領先的<b class='flag-5'>向量</b>數據庫公司Zilliz發布Milvus2.4<b class='flag-5'>向量</b>數據庫

    基于計算機視覺與機器學習技術的跌倒風險預測

    使用卷積神經網絡(CNN)、支持向量SVM)、K近鄰(KNN)和長短期記憶(LSTM)神經網絡等四種不同的分類方法對三種步態模式進行自動分類。
    發表于 03-22 11:10 ?470次閱讀
    基于計算機視覺與機器學習技術的跌倒風險預測

    擴展包x-cube-ai能實現SVM支持向量嗎?

    擴展包x-cube-ai能實現SVM支持向量
    發表于 03-22 07:26

    什么是中斷向量偏移,為什么要做中斷向量偏移?

    當MCU中有兩段或以上程序的時候(第一個程序為用戶BootLoader程序,其他的為APP程序,這個在前期視頻《什么是ISP?什么是IAP》中有講過),APP程序中都需要做中斷向量偏移,那么什么是中斷向量偏移,為什么要做中斷向量
    的頭像 發表于 01-30 09:47 ?1849次閱讀
    什么是中斷<b class='flag-5'>向量</b>偏移,為什么要做中斷<b class='flag-5'>向量</b>偏移?

    SVM的使用方法

    上一篇本著回歸傳統的觀點,在這個深度學習繁榮發展的時期,帶著大家認識了一位新朋友,英文名SVM,中文名為支持向量,是一種基于傳統方案的機器學習方案,同樣的,
    的頭像 發表于 01-25 09:23 ?1651次閱讀
    <b class='flag-5'>SVM</b>的使用方法

    支持向量的基本原理 支持向量可以解決什么問題

    支持向量(Support Vector Machine,簡稱SVM)是一種非常流行和強大的機器學習算法,常用于分類和回歸問題。它的基本原理源自于統計學和線性代數的理論基礎,通過找到能
    的頭像 發表于 01-17 11:17 ?1707次閱讀
    主站蜘蛛池模板: 女人18毛片水多| 欧美在线高清视频| 福利一区二区在线观看| 1024国产高清精品推荐| 日本黄色片免费看| 亚洲天堂首页| 在线天堂bt种子资源| 一级a级国产不卡毛片| 亚洲视频一区网站| 色爱综合区五月小说| 久久深夜福利| 天天操天天干天天插| www.狠狠操.com| 黄色一级片播放| 国产精品久久久精品视频| 欧美精品四虎在线观看| 久久久夜色精品国产噜噜| 日本三级在线| 美女黄频| 免费的黄色大片| 国产一级做a爰片久久毛片 | 天天色官网| 免费国内精品久久久久影院| 天天都色| 222aaa免费国产在线观看| 国产手机看片| 久久久久久夜精品精品免费 | 亚洲精品久久久久午夜福| 成人伊人| 福利片免费一区二区三区| 国产网站免费视频| 午夜一级在线| 天堂在线最新资源| 色综合色狠狠天天综合色hd| 天天干天天上| 99香蕉精品视频在线观看| 老司机亚洲精品影院在线| 色婷婷一区二区三区四区成人网| 美女18黄| 天堂网www天堂在线资源链接| 中文字幕一区二区三区在线不卡|