[吳恩達機器學習筆記]12支持向量機1從邏輯回歸到SVM/SVM的損失函數


12.支持向量機

覺得有用的話,歡迎一起討論相互學習~

我的微博我的github我的B站

吳恩達老師課程原地址

參考資料 斯坦福大學 2014 機器學習教程中文筆記 by 黃海廣

12.1 SVM損失函數

從邏輯回歸到支持向量機

  • 為了描述支持向量機,事實上,我將會從邏輯回歸開始展示我們如何一點一點修改來得到本質上的支持向量機。

邏輯回歸公式

  1. 邏輯回歸公式如下圖所示,

    可以看出邏輯回歸公式由兩個變量x和\(\theta\)構成,其中x表示輸入的數據,而\(\theta\)是可學習的變量,如圖中右半部分所示,其圖像坐標軸橫軸為x.\(h_{\theta}(x)\)是關於x的函數。
  2. 現將z視為新的變量,表示坐標軸橫軸和\(\theta\)的乘積,原\(h_{\theta}(x)\)函數變為g(z)函數,z表示原圖像上的水平偏移量。
  3. 如果有一個 y=1 的樣本這就意味着當 h(x) 趨近於1時,\(z=\theta^{T}x\)應當遠大於0,即z到了函數圖像坐標軸的右邊,你不難發現此時邏輯回歸的輸出將趨近於1。相反地,如果我們有另一個樣本,即y=0。我們希望假設函數的輸出值將趨近於0,這對應於\(z=\theta^{T}x\)遠小於 0,即z到了函數圖像坐標軸的左邊。

邏輯回歸損失函數到SVM

  • 對於邏輯回歸中的每個樣本都有損失函數,整個邏輯回歸模型的總損失函數即為所有樣本損失函數的加和的平均,將邏輯回歸的公式帶入並展開。
  • 當y=1時,並將\(z=\theta^{T}x\)帶入其中,有如下圖公式:

    通過這個圖像也解釋了,當y=1時,為了通過梯度下降得到小的損失函數,總會使\(\theta^{T}x\)非常大的原因。
  • 從y=1的損失函數圖像進行少量修改就能得到SVM損失函數圖像,取z=1的點作為分界點畫一條和邏輯回歸很接近的 線性圖像 得到下圖,即 圖中玫紅色的直線 :
  • 當y=0時,並將\(z=\theta^{T}x\)帶入其中,有如下圖公式:
  • 從y=0的損失函數圖像進行少量修改就能得到SVM損失函數圖像,取z=-1的點作為分界點畫一條和邏輯回歸很接近的 線性圖像 得到下圖,即 圖中玫紅色的直線 :
  • 對於從邏輯回歸中y=1修改而得到的SVM損失函數圖像,稱其為\(Cost_1(z)\),對於從邏輯回歸中y=0修改而得到的SVM損失函數圖像,稱其為\(Cost_0(z)\).這里的下標是指在代價函數中,對應的 y=1 和 y=0 的情況,擁有了這些定義后,現在,我們就開始構建支持向量機.

構建SVM損失函數公式

  • 即對於 邏輯回歸 的損失函數分成y=1和y=0兩個部分,並將y=1的部分替換為\(Cost_1(z)\),將y=0的部分替換為\(Cost_0(z)\)
  1. 但是SVM的損失函數還是和邏輯回歸的略有不同,首先從 邏輯回歸 處修改后得到的基本公式為:
  2. 因為人們在使用邏輯回歸和支持向量機時遵循的規則不同,有些地方還需要修改在上述式子中的損失部分和正則化部分都去掉 \(\frac{1}{m}\)
  3. 在邏輯回歸中使用\(\lambda\)來平衡樣本的損失函數項和正則化項,而在SVM中,使用C來平衡
  • 最終的SVM的表達式:
  • Note 最后有別於邏輯回歸輸出的概率。在這里,當最小化代價函數,獲得參數 θ 時,支持向量機所做的是它來直接預測 y 的值等於 1,還是等於 0。所以學習參數 θ 就是支持向量機假設函數的形式。

\[\begin{cases} 1\ \ \ if\ \theta^{T}x\ge0 \\ 0\ \ \ otherwise\\ \end{cases} \]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM