sklearn-4.1邏輯回歸,SVM

sklearn前面有過一個樹狀圖,大概說了什么情況用什么模型合適。


模型選擇樹狀圖

監督學習分類模型,主要有邏輯回歸LogisticRegression,支持向量機svm,神經網絡,近鄰KNeighboursClassification,樸素貝葉斯naive_bayes以及集成模型,隨機森林, AdaBoost等等。

這次先說邏輯回歸(LR),svm。說說我的理解

在線性可分的情況下,邏輯回歸和svm可以說是一個相似的模型.

先看假設函數,hypothesis,先用邊界函數確定決策邊界,都是一個平面。

LR將邊界兩邊的f(x)值映射到Sigmoid函數中,得到一個概率,概率大于0.5,則認為是分類1,否則就為0。從Sigmoid函數可以看出x離0越遠,分類正確的概率越大。然后通過極大似然估計得到cost function目標函數,求解這根線的參數。


LR

Sigmoid函數

而SVM是確定兩根線,用于確定這兩條線的點就是支持向量,在這兩條線兩側的點分別是不同類別,SVM要求的是這兩條線是所有線里最大間距的兩條。而超平面是中間這條f(x)=0,這條線。


SVM

總的說來,我認為都是先畫一條線(一個超平面),根據這個平面得到一個f(x),然后用映射函數映射成0或者1.

跟LR不同的是SVM只跟支持向量有關,刪減一些離線比較遠的點,不會影響超平面,計算量也會小一些,且要求|f(x)|>=1,分類效果更好。但是就對異常點比較敏感。
而LR的平面是通過所有點確定的,刪減點必然會有影響。

關于SVM的目標函數

ng這樣推導的svm的目標函數,根據LR的目標函數,做了一定的簡化,就變成這樣。粉色線的斜率都行,因為看得出在分類正確的情況下,f(x)=0,不正確的離0越遠,值越大,錯的越多,懲罰越大。


根據LR推導SVM目標函數

svm的目標函數

這實際就是hinge loss,如果被正確分類,損失是0,否則損失就是 1?mi(w) 。


hinge loss圖像

用hinge 函數來表示目標函數就會成這樣。可以看成是L2正則加Hinge loss之和。


image.png

y取0,1?-1,1

可以看到ng的y取值0,1,但是更多情況下,SVM的y取值為-1,1,特別是用幾何來推導目標函數時。比如理解SVM的三重境界,特別提到為啥要取-1,1.
我認為是因為SVM有一個約束條件,就是y>=1時,f(x)>=1,,f(x)<=-1時,y><=-1,用-1,1就能把這兩個條件合成一個


這也正是幾何求解時的函數間隔,它既能表示分類的正確性,也能表示離0的距離,即x正確分類的可信度。

但是可以看到用幾何求解的目標函數是

這與ng的目標函數有所差異,就是少了一坨。這就是所謂硬間隔,就是所有點都必須離超平面有1以上的距離,但是有些情況有噪點,異常點,SVM就會為了零星異常點更改超平面。
比如這樣,明顯看出間隔變小,并不是一個更好的邊界。


image.png

于是修改了約束條件。意思是不用強行比1大,小點也行,這就是軟間隔。
image.png

目標函數也就變成這樣。


image.png

ng與幾何推導最后也就是殊途同歸了。

整理一下


image.png

線性不可分

LR對線性不可分的情況不太友好,因為對于f(x)是多項式的情況,w項太多,不好確定,一般情況線性不可分會選用SVM的核函數和神經網絡。
SVM的核函數是把線性不可分的數據升維度之后就能線性可分,然后數學能通過核函數再降維。


image.png

樸素貝葉斯主要用在處理文字信息,分類垃圾信息之類,近鄰KNeighboursClassification統計需驗證點周圍的k個已知點的類別,取多數的那個類別為該點的類別。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 注:題中所指的『機器學習』不包括『深度學習』。本篇文章以理論推導為主,不涉及代碼實現。 前些日子定下了未來三年左右...
    我偏笑_NSNirvana閱讀 40,099評論 12 145
  • 原文:http://blog.sina.com.cn/s/blog_818f5fde0102vvpy.html 在...
    MapleLeaff閱讀 3,552評論 1 30
  • 機器學習是做NLP和計算機視覺這類應用算法的基礎,雖然現在深度學習模型大行其道,但是懂一些傳統算法的原理和它們之間...
    在河之簡閱讀 20,551評論 4 65
  • 17數441楊慧昕(本篇為新概念英語中第一篇) 1,[從本篇音頻中我學到的最重要的事情是]: 在公共場合,我們應該...
    17數441楊慧昕閱讀 284評論 6 0
  • 陳道明是我挺喜歡一個演員,第一次看他演繹的《櫻花夢》我就牢牢記住他了。他演繹過《末代皇帝》溥儀《康熙王朝》康熙《臥...
    小雨rainy_愛我小可可閱讀 442評論 0 0