遇到問的機器學習基本問題(2)

2021-08-09 09:47:42 字數 1696 閱讀 9325

1. logistic回歸

手動求導

2. svm支援向量機

現在假設有兩類線性可分的樣本,一類圈圈,一類叉叉。分類問題就是要找乙個超平面,將這兩類分開,但是能分割開這兩類的超平面有很多,如下面的圖所示。感知機演算法就是隨機的找到乙個能夠分開的超平面,它並不關心這個超平面如何。下面三個圖中,直覺上感覺,第三個超平面是最理想的。 

那麼為什麼第三個超平面是最理想的呢?原因是測試集上的樣本是我們觀測得到的資料,而觀測到的資料和它真實分布是有一定的誤差的,下面三個圖中灰色的圓圈表示了每個平面能夠容忍誤差的大小,當誤差超過這個圓圈的範圍,分割面就要犯錯誤了,所以第三個圖的容忍誤差的能力是最強的。這是從直觀上的乙個解釋,下面推導svm的過程中會解釋為什麼這個是最佳的分割面。

這樣,能容忍誤差的能力最大的那個超平面是我們要的,定義margin為,由分割平面開始往兩邊推,到碰到樣本點時候的距離。如下面的圖所示,黃色部分即為margin。 

以下是幾種常用的核函式表示:

線性核(linear kernel)

多項式核(polynomial kernel)

徑向基核函式(radial basis function)

也叫高斯核(gaussian kernel)

,因為可以看成如下核函式的領乙個種形式:

3.lr和svm的異同

相同點:

1,lr和svm都是分類演算法。

2,如果不考慮核函式,lr和svm都是線性分類演算法,即分類決策面都是線性的。

3,lr和svm都是監督學習演算法。

不同點:

1,本質上是其loss function不同。

2,支援向量機只考慮區域性的邊界線附近的點,而邏輯回歸考慮全域性(遠離的點對邊界線的確定也起作用)。

線性svm不直接依賴於資料分布,分類平面不受一類點影響;lr則受所有資料點的影響,如果資料不同類別strongly unbalance,一般需要先對資料做balancing。

3,在解決非線性問題時,支援向量機採用核函式的機制,而lr通常不採用核函式的方法。

這個問題理解起來非常簡單。分類模型的結果就是計算決策面,模型訓練的過程就是決策面的計算過程。通過上面的第二點不同點可以了解,在計算決策麵時,svm演算法裡只有少數幾個代表支援向量的樣本參與了計算,也就是只有少數幾個樣本需要參與核計算(即kernal machine解的係數是稀疏的)。然而,lr演算法裡,每個樣本點都必須參與決策面的計算過程,也就是說,假設我們在lr裡也運用核函式的原理,那麼每個樣本點都必須參與核計算,這帶來的計算複雜度是相當高的。所以,在具體應用時,lr很少運用核函式機制。

4,線性svm依賴資料表達的距離測度,所以需要對資料先做normalization,lr不受其影響。

5,svm的損失函式就自帶正則!!!(損失函式中的1/2||w||^2項),這就是為什麼svm是結構風險最小化演算法的原因!!!而lr必須另外在損失函式上新增正則項!!!

python 程式設計中遇到的基本問題

1.怎樣查詢函式的定義?help str.startswith help on method descriptor startswith s.startswith prefix start end bool return true if s starts with the specified pre...

機器學習基本概念和模型訓練基本問題

二叉樹很容易理解,在這裡我們一般用滿二叉樹 就是非葉子節點都有2個分支的樹形資料結構 決策樹最初是用來做決策用的,就好像下面的見不見相親物件的決策過程一樣 如果把最後的決策結果看成是分類,那麼決策樹就可以用來分類了,例如,下面的例子就是把相親物件分為見和不見兩種。假如下面是你是否見相親物件的決策樹,...

mysql 的基本問題 MySQL 基本問題整理

整理 mysql 安裝部署運維問題解決優化記錄。1 安裝 系統為 centos7 1 rpm 包方式安裝yum install wget wget wget 解壓到某個路徑,安裝全部的 rpm 包yum install mysql rpm 2 yum 庫方式安裝 可參考官網切換版本 rpm ivh ...