DS ML 分類演算法筆記之邏輯回歸模型

2021-08-17 17:02:19 字數 3658 閱讀 9411

ds&ml_關聯分析筆記

ds&ml_分類演算法筆記之支援自動機svm模型

ds&ml_分類演算法筆記之隨機森林、梯度提公升樹、xgboost模型

ds&ml_分類演算法筆記之k-近鄰、kd-tree模型

ds&ml_降維演算法筆記之主成分分析pca模型

ds&ml_分類演算法筆記之樸素貝葉斯模型

ds&ml_聚類演算法筆記之k-means模型

ds&ml_分類演算法筆記之決策樹模型

對於二分類問題,由於線性回歸模型的輸出值不能很好的介於01之間,所以引入乙個函式g,將邏輯回歸表示為hθ(x)=g((θ^t)*x),其中(θ^t)*x就是線性回歸的表示式,θ是引數。

而這個函式g,就是十分著名的sigmoid函式,神經網路中也有用到它。

綜合上述兩式,我們得到邏輯回歸模型的數學表示式:

hθ(x)=1/(1+e^((−θ^t)*x)),其中θ是引數。

decision boundary(決策邊界)

對於sigmoid函式,當g(z)≥0.5時, z≥0; 對於hθ(x)=g(θtx)≥0.5, 則θtx≥0, 此時意味著預估y=1; 反之,當**y = 0時,θtx<0;

於是我們可以認為(θ^t)*x = 0是乙個決策邊界,當它大於0或小於0時,邏輯回歸模型分別**不同的分類結果。

例如hθ(x)=g(θ0+θ1*x1+θ2*x2)

若θ0,θ1,θ2分別取-3, 1, 1; 則當−3+x1+x2≥0時, y = 1; 則x1+x2 =3是乙個決策邊界,圖形表示如下:

上述只是乙個線性的決策邊界,當hθ(x)更複雜的時候,我們可以得到非線性的決策邊界,例如:

hθ(x)=g(θ0+θ1*x1+θ2*x2+θ3*x1^2+θ4*x2^2)

這裡當x21+x22≥1時,y=1,決策邊界是乙個圓形,如下圖所示:

理論上說,只要我們的hθ(x)設計足夠合理,準確的說是g((θ^t)*x)中(θ^t)*x足夠複雜,我們能在不同的情形下,擬合出不同的判定邊界,從而把不同的樣本點分隔開來.

cost function(代價函式,成本函式)–解決如何選擇合適的引數θ使得(θ^t)*x = 0成為乙個很好的決策邊界

代價函式cost function,其實是一種衡量我們在這組引數下預估的結果和實際結果差距的函式。

如果簡單得將線性回歸的代價函式cost(hθ(x),y)=(1/2)*(hθ(x)−y)^2中的hθ(x)替換為邏輯回歸的hθ(x)會導致代價函式「非凸」,也就是函式有很多區域性最低點。如下所示:

而我們希望我們的代價函式是乙個碗狀結構的凸函式,這樣我們演算法求解到區域性最低點,就一定是全域性最小值點。因此,直接用線性回歸的cost function對於邏輯回歸是不可行的,我們需要其他形式的cost function來保證邏輯回歸的成本函式是凸函式。

在統計學習中常用的損失函式有以下幾種:摘自李航《統計學習方法》

1.

0-1損失函式(0-1 loss function):

l(y,f(x))= 1, y≠f

(x) = 0, y=f

(x)2. 平方損失函式(quadratic loss function)

l(y,f(x))=(y−f(x))2

3. 絕對損失函式(absolute loss function)

l(y,f(x))=|y−f

(x)|

4. 對數損失函式(logarithmic loss function) 或對數似然損失函式(log-likelihood loss function)

l(y,p(y|x))=−logp

(y|x)

損失函式越小,模型就越好。

基於上節的描述和補充,我們選擇對數似然損失函式作為邏輯回歸的cost function:

直觀來看, 如果我們的類別y = 1, 邏輯回歸而判定出來的hθ(x)=1,則cost = 0,也就是**的值和真實的值完全相等的時候懲罰項=0,不影響結果;

但是,如果我們的類別y = 1, 而邏輯回歸判定出來的hθ(x)=0,那麼對於代價函式,當hθ(x) → 0時, cost → ∞,因此對於這個學習演算法給予乙個很大的cost的懲罰。

同理對於y=0的情況也適用:如果我們的類別y = 0而邏輯回歸判定出來的hθ(x)=1,由於hθ(x) → 1 時cost → ∞,因此同樣對於這個學習演算法給予乙個很大的cost的懲罰。

由於類別y只能等於0或1,所以代價函式可簡化為j(θ)=(1/m)*sum(cost(hθ(xi),yi)), i=1~m【然後這個式子可以用最大似然函式繼續簡化】。接下來我們的工作就是令代價函式最小,因為損失函式越小,模型就越好。而代價函式j(θ)的自變數是θ,所以我們需要求出乙個θ使j(θ)最小。這裡我們可以使用梯度下降法,梯度下降從直觀上理解,就是我們在碗狀結構的凸函式j(θ)上取乙個初始值,然後挪動這個值一步步靠近最低點的過程,最後得到的最低點就是j(θ),此時的θ也是最合適的。

從數學上理解,我們為了找到最小值點,就應該朝著下降速度最快的方向(導函式/偏導方向)邁進,每次邁進一小步步長α,再看看此時的下降最快方向是哪,再朝著這個方向邁進,直至最低點。

演算法描述:

步長α的選擇

如果α過小,梯度下降可能很慢;如果過大,梯度下降有可能「邁過」(overshoot)最小點,並且有可能收斂失敗,並且產生「分歧」(diverge)。至於要不要動態調整步長,答案是並不用,因為當函式接近區域性最小值的時候,梯度下降法將自動的採取「小步子」,所以沒有必要隨著時間的推移減小learning rate。

優化演算法除了梯度下降演算法外,還包括:牛頓法、擬牛頓法等

梯度下降法和牛頓法/擬牛頓法相比,兩者都是迭代求解,不過梯度下降法是梯度求解,而牛頓法/擬牛頓法是用二階的海森矩陣的逆矩陣或偽逆矩陣求解。相對而言,使用牛頓法/擬牛頓法收斂更快,不需要手動的選擇步長。但是每次迭代的時間比梯度下降法長。

樸素貝葉斯要求盡量是離散型的,因為連續型的計算條件概率麻煩一點

前提假設

模型訓練方式

最適合資料量by吳恩達

極端值缺失值敏感程度

結果呈現方式

極端值缺失值敏感程度

決策樹非線性關係較適合、邏輯回歸線性關係較適合

邏輯回歸對資料整體結構的分析優於決策樹,而決策樹對區域性結構的分析優於邏輯回歸。

[1] 公開課筆記-史丹福大學機器學習第六課-邏輯回歸-logistic-regression

邏輯回歸(分類演算法)

在前面講述的回歸模型中,處理的因變數都是數值型區間變數,建立的模型描述是因變數的期望與自變數之間的線性關係。比如常見的線性回歸模型 而在採用回歸模型分析實際問題中,所研究的變數往往不全是區間變數而是順序變數或屬性變數,比如二項分布問題。通過分析年齡 性別 體質指數 平均血壓 疾病指數等指標,判斷乙個...

學習筆記 分類演算法 邏輯回歸

邏輯回歸 logistic regression 簡稱lr。它的特點是能夠使我們的特徵輸入集合轉化為0和1這兩類的概率。一般來說,回歸不用在分類問題上,因為回歸是連續型模型,而且受雜訊影響比較大。如果非要應用進了 來,可以使用邏輯回歸。了解過線性回歸之後再來看邏輯回歸可以更好的理解。logistic...

分類演算法(4) 邏輯回歸(LR)

lr模型屬於廣義線性模型,將特徵空間對映成一種可能性。損失函式 邏輯回歸函式 演算法流程 實現 設定迭代次數為500次,每次迭代,對每個訓練文字都更新一次w 的方法是 先將訓練文字與w相乘得到z,再判斷g z 是否大於等於0.5 在pla的 基礎上進行修改就可以得到lr 資料集格式為 第一行為58個...