日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

李宏毅svm_【李宏毅机器学习笔记】 18、支持向量机(Support Vector Machine,SVM)...

發(fā)布時間:2023/12/8 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 李宏毅svm_【李宏毅机器学习笔记】 18、支持向量机(Support Vector Machine,SVM)... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

【李宏毅機器學習筆記】1、回歸問題(Regression)

【李宏毅機器學習筆記】2、error產生自哪里?

【李宏毅機器學習筆記】3、gradient descent

【李宏毅機器學習筆記】4、Classification

【李宏毅機器學習筆記】5、Logistic Regression

【李宏毅機器學習筆記】6、簡短介紹Deep Learning

【李宏毅機器學習筆記】7、反向傳播(Backpropagation)

【李宏毅機器學習筆記】8、Tips for Training DNN

【李宏毅機器學習筆記】9、Convolutional Neural Network(CNN)

【李宏毅機器學習筆記】10、Why deep?(待填坑)

【李宏毅機器學習筆記】11、 Semi-supervised

【李宏毅機器學習筆記】 12、Unsupervised Learning - Linear Methods

【李宏毅機器學習筆記】 13、Unsupervised Learning - Word Embedding(待填坑)

【李宏毅機器學習筆記】 14、Unsupervised Learning - Neighbor Embedding(待填坑)

【李宏毅機器學習筆記】 15、Unsupervised Learning - Auto-encoder(待填坑)

【李宏毅機器學習筆記】 16、Unsupervised Learning - Deep Generative Model(待填坑)

【李宏毅機器學習筆記】 17、遷移學習(Transfer Learning)

【李宏毅機器學習筆記】 18、支持向量機(Support Vector Machine,SVM)

【李宏毅機器學習筆記】 19、Structured Learning - Introduction(待填坑)

【李宏毅機器學習筆記】 20、Structured Learning - Linear Model(待填坑)

【李宏毅機器學習筆記】 21、Structured Learning - Structured SVM(待填坑)

【李宏毅機器學習筆記】 22、Structured Learning - Sequence Labeling(待填坑)

【李宏毅機器學習筆記】 23、循環(huán)神經網絡(Recurrent Neural Network,RNN)

【李宏毅機器學習筆記】 24、集成學習(Ensemble)

------------------------------------------------------------------------------------------------------

【李宏毅深度強化學習】視頻地址:https://www.bilibili.com/video/av10590361?p=31

課件地址:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html

-------------------------------------------------------------------------------------------------------

Outline

SVM有兩個特色,分別是Hinge Loss和Kernel Method。兩者加起來就是SVM。

Hinge Loss

之前說過,機器學習大體分三步。上圖以二分類為例。

第二步原本的loss function是:如果預測結果

?正確,則等于0。如果預測結果錯誤,則等于1 。把這些結果累加起來就是loss function??。但是這樣的做法,loss function是不可微的。所以需要換用來近似剛才的做法。

下面是幾種的圖像。

綠線代表Sigmoid + cross entropy

藍線代表Sigmoid + Square loss

紅線代表Square loss

y\hat有+1和-1兩種結果。

這個loss function定義為:預測的結果 f(x) 和真正的結果y\hat 同號的話,則f(x)越趨于無窮的方向的話,loss 越低。

接下來看看采用不同函數(shù)來做loss function的表現(xiàn)如何

Square loss

這里要說的是Square loss(上圖的紅線):

如果用Square loss,則

時,希望預測結果

時,希望預測結果

時,可以整理成

時,可以整理成

此時,在大于0的方向,f(x)越大,越大,loss也越大。不符合剛才說的越大,loss越小。

所以不能用Square loss作為loss function 。

Sigmoid + Square loss

這里要說的是Sigmoid + Square loss(上圖的藍線):

如果用Sigmoid + Square loss,則

時,希望預測結果

時,希望預測結果

時,可以整理成

時,可以整理成

此時,

在大于0的方向,隨著f(x)越大,越大,loss也越小。

在小于0的方向,隨著f(x)越往負無窮的方向走,越接近1,loss越接近1。

符合剛才說的越大,loss越接近0;越小,loss越接近1 。

Sigmoid + Square loss先作為候選對象。

Sigmoid + cross entropy

這里要說的是Sigmoid + cross entropy(上圖的綠線):

此時,

在大于0的方向,隨著f(x)越大,越大,loss越接近0。

在小于0的方向,隨著f(x)越往負無窮的方向走,越大,loss也越大。

Sigmoid + cross entropy符合剛才說的越大,loss越接近0;但是隨著越小,loss越大,并不是理想情況的接近1?。

這會不會有問題呢?

并不會,反而更有好處。這里將Sigmoid + cross entropy和上面說的候選對象Sigmoid + Square loss作對比。

看上圖的藍線和綠線,

可以看到在負數(shù)的方向,Sigmoid + cross entropy的梯度更大。所以在loss很大的時候,使用Sigmoid + cross entropy的話,能更快地更新參數(shù)。

而用Sigmoid + Square loss的話,梯度太小,導致更新參數(shù)的時候速度太慢。甚至于可能會完全不更新參數(shù)。

所以,現(xiàn)在以Sigmoid + cross entropy作為目前最佳的候選對象。

Hinge Loss

這里要說的是Hinge Loss(上圖的紫線):

如果用Hinge Loss,則

時,可以整理成?。 如果loss為0的話,則說明

,此時可以推出

時,可以整理成。 如果loss為0的話,則說明

,此時可以推出

此時,

在大于0的方向,當大于1,loss一直為0。

在小于0的方向,隨著f(x)越往負無窮的方向走,越大,loss也越大。

這樣可以看到,Hinge Loss和Sigmoid + cross entropy很像,那它們有什么區(qū)別呢?

對于Hinge Loss來說,只要大于1,那Hinge Loss就覺得已經很好了,沒必要再做更新。

對于Sigmoid + cross entropy來說,即便大于1,但loss仍然沒到0,還要再做更新。

這個區(qū)別看起來好像Sigmoid + cross entropy會更準確,但實做的時候,準確度的差距并不大。而且Hinge Loss比較不受離群點(outlier)帶來的影響,等下講kernel會更明顯看出這一點。

Linear SVM

把Linear SVM按照之前說的三個步驟做。如上圖。

可以看到,?Linear SVM 和?邏輯回歸(logistics regression) 的一個區(qū)別:

Loss function 用?cross entropy 的就是邏輯回歸(logistics regression)

Linear SVM用?Hinge Loss 的Linear SVM。

接下來看這個loss function怎么做gradient descent:

為了簡便,這里省略掉后面的正則項。過程如上圖。

Linear SVM – another formulation

上圖是Loss Function的另一個形式,其實只是用一個

代替原來的。

最小化Loss Function就是間接使

最小化。在這個前提下,?才會等于??。

因為

一直最小化下去,為了滿足這兩個不等式,所以

會等于這兩個值比較大的值,此時這兩個不等式會起到和max()一樣的作用。

整理為(1 代表margin)?。如果不等式左邊沒辦法大于右邊,那可以通過加大

使右邊變小,來使不等式成立。

是一個slack variable,它是可以使margin的標準變寬的變量,所以

要求一定要大于等于0,這一點剛好和剛才max()的變換呼應了。

Kernel Method

Dual Representation

可以看成是所有training data?

乘上一個的總和。即 w 是所有training data的線性組合。

可以從這個角度去理解:上文說過,參數(shù)更新的式子是類似這樣。把很多維的參數(shù)更新式子合起來,就變成。可以看到每次 w 的變化量和就是所有training data的線性組合。

在剛才的參數(shù)更新式子中,?(前文有說過這個偏微分有和 0 兩種結果)。

如果結果為0,則代表此時的不會被加到 w 里面去(即之中的為0)。

如果結果為,則代表此時的會加到 w 里面去(即之中的不為0),這些??不為0的?會對模型的參數(shù) w 起很大的影響,所以也叫support vectors。

由于(Hinge Loss)大部分情況為0,所以最后只有少數(shù)的能起作用,這樣就減小了離群點(outlier)對模型的影響。(這里就是上文說過Hinge Loss比較不受離群點的影響的原因)

將 w 的式子再做一次變形 ,

則變形為

定義一個函數(shù)K(Kernel Function)來代表

,這時

做完剛才變換后,現(xiàn)在要最小化Loss Function,就是要找一組?能使loss值最小化。

其中,Loss Function的可以使用Kernel Trick來計算。這樣就不需要知道轉換到高維的??的vector長什么樣,也可以直接算出值。

接下來具體看下Kernel Trick。

Kernel Trick

之前說過,如果數(shù)據(jù)在低維不可分離的話,可以映射到高維的space上。上圖的就是在將 x 映射映射到高維上。這一步就是做feature transformation 。

然后就會等于。這一步就是做inner product。

使用Kernel Trick的話,就可以不用做feature transformation和inner product,直接算出的值。

我們將上圖的過程做整理,會得出。

所以以后計算直接套這個公式就好,不用做feature transformation然后再做inner product 。

Radial Basis Function Kernel

如果 和

是無窮多維,那么此時沒辦法算它們的inner product 。

所以需要用Radial Basis Function Kernel,?。

x和z越像(距離近),

?的值越大。x和z越不像(距離遠),

?的值越接近0。

最后把關于 x 的項串成一個vector,把關于 z 的項串成另一個vector。這兩個vector相乘就是

的值。

Sigmoid Kernel

使用Sigmoid Kernel后,(tanh函數(shù)的圖像和sigmoid函數(shù)是一樣的)。

使用Sigmoid Kernel可以看成一個一層的hidden layer。

每個data point

可以看做是神經元的weight

神經元的數(shù)量和support vector的數(shù)量相等

既然有Kernel trick,那就可以設計一個kernel function來代替掉? 。

當 x 是類似句子這樣的structured object,比較難transform到高維,即很難做

。這時就能Kernel Function來求解

的結果

可以看成是在評估 x 和 z 的相似性(similarity)。

可以使用Mercer’s theory來判斷所使用的Kernel Function有沒有用。

上圖是一些音頻段,每一段音頻訊號長短不一樣,所以很難把它轉換成vector。所以現(xiàn)在可以直接用Kernel Function。更詳細的東西可以見上圖所示的論文。

SVM related methods

之前在做Regression的時候,是希望model的output和target越近越好。而Support Vector Regression (SVR),只要output和target距離近到一定程度,loss就為0,不會再繼續(xù)更新參數(shù)了。(文章前面有說過這個)

其它兩種想深入了解可以看《機器學習導論》作者:Ethem?Alpaydin。所處章節(jié)如上圖所示。

總結

以上是生活随笔為你收集整理的李宏毅svm_【李宏毅机器学习笔记】 18、支持向量机(Support Vector Machine,SVM)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。