Ⅰ 機器學習故事匯-邏輯回歸演算法
機器學習故事匯-邏輯回歸演算法
今天我們要來討論的一個分類演算法-邏輯回歸(你有沒有搞錯,這不還是回歸嗎,雖然名字帶上了回歸其實它是一個非常實用的分類演算法)。,適合對數學很頭疼的同學們,小板凳走起!
先來吹一吹邏輯回歸的應用,基本上所有的機器學習分類問題都可以使用邏輯回歸來求解,當前拿到一份數據想做一個分類任務的時候第一手准備一定要拿邏輯回歸來嘗試(雖然有很多復雜的模型比如神經網路,支持向量機的名氣更大,但是邏輯回歸卻更接地氣,用的最多的還是它)!在機器學習中無論是演算法的推導還是實際的應用一直有這樣的一種思想,如果一個問題能用簡單的演算法去解決那麼絕對沒必要去套用復雜的模型。
在邏輯回歸中最核心的概念就是Sigmoid函數了,首先我們先來觀察一下它的自變數取值范圍以及值域,自變數可以是任何實數(這沒啥特別的!)但是我們觀察值域的范圍是[0,1]也就是任意的一個輸入都會映射到[0,1]的區間上,我們來想一想這個區間有什麼特別的含義嗎?在我們做分類任務的時候一般我都都會認為一個數據來了它要麼是0要麼是1(只考慮二分類問題),我們其實可以更細致一點得出來它是0或者1的可能性有多大,由此我們就得出了一個輸入屬於某一個類別的概率值,這個[0,1]不就恰好是這個概率嗎!
在這里我們的預測函數還是跟線性回歸沒有多大差別,只不過我們將結果又輸入到Sigmoid函數中,這樣得到了數據屬於類別的概率值。在推導過程中,我們假定分類是兩個類別的(邏輯回歸是經典的而分類器)。設定y(標簽)要麼取0要麼取1,這樣就可以把兩個類別進行整合,得到一個更直觀的表達。
對於邏輯回歸的求解,已然沿用我們上次跟大家討論的梯度下降演算法。給出似然函數,轉換對數似然(跟線性回歸一致),但是我們現在的優化目標卻跟之前不太一樣了,線性回歸的時候我們要求解的是最小值(最小二乘法),但是現在我們想得到的卻是使得該事件發生得最大值,為了沿用梯度下降來求解,可以做一個簡單的轉換添加一個負號以及一個常數很簡單的兩步就可以把原始問題依然轉換成梯度下降可以求解的問題。
此處求導過程看起來有些長,但也都是非常非常基本的運算了,感興趣拿起一支筆來實際算算吧!
最終就是參數更新了,迭代更新是機器學習的常規套路了。但是我們來簡單想一想另外的一個問題,現在我們說的邏輯回歸是一個二分類演算法,那如果我的實際問題是一個多分類該怎麼辦呢?這個時候就需要Softmax啦,引入了歸一化機制,來將得分值映射成概率值。
最後一句話總結一下吧,任何時候(沒錯就是這么狠)當我們一個實際任務來了,第一個演算法就是邏輯回歸啦,可以把它當成我們的基礎模型,然後不斷改進對比!
Ⅱ 機器學習常見演算法優缺點之邏輯回歸
我們在學習機器學習的時候自然會涉及到很多演算法,而這些演算法都是能夠幫助我們處理更多的問題。其中,邏輯回歸是機器學習中一個常見的演算法,在這篇文章中我們給大家介紹一下關於邏輯回歸的優缺點,大家有興趣的一定要好好閱讀喲。
首先我們給大家介紹一下邏輯回歸的相關知識,邏輯回歸的英文就是Logistic Regression。一般來說,邏輯回歸屬於判別式模型,同時伴有很多模型正則化的方法,具體有L0, L1,L2,etc等等,當然我們沒有必要像在用樸素貝葉斯那樣擔心我的特徵是否相關。這種演算法與決策樹、SVM相比,我們還會得到一個不錯的概率解釋,當然,我們還可以輕松地利用新數據來更新模型,比如說使用在線梯度下降演算法-online gradient descent。如果我們需要一個概率架構,比如說,簡單地調節分類閾值,指明不確定性,或者是要獲得置信區間,或者我們希望以後將更多的訓練數據快速整合到模型中去,我們可以使用這個這個演算法。
那麼邏輯回歸演算法的優點是什麼呢?其實邏輯回歸的優點具體體現在5點,第一就是實現簡單,廣泛的應用於工業問題上。第二就是分類時計算量非常小,速度很快,存儲資源低。第三就是便利的觀測樣本概率分數。第四就是對邏輯回歸而言,多重共線性並不是問題,它可以結合L2正則化來解決該問題。第五就是計算代價不高,易於理解和實現。
當然,邏輯回歸的缺點也是十分明顯的,同樣,具體體現在五點,第一就是當特徵空間很大時,邏輯回歸的性能不是很好。第二就是容易欠擬合,一般准確度不太高。第三就是不能很好地處理大量多類特徵或變數。第四個缺點就是只能處理兩分類問題,且必須線性可分。第五個缺點就是對於非線性特徵,需要進行轉換。
那麼邏輯回歸應用領域都有哪些呢?邏輯回歸的應用領域還是比較廣泛的,比如說邏輯回歸可以用於二分類領域,可以得出概率值,適用於根據分類概率排名的領域,如搜索排名等、邏輯回歸的擴展softmax可以應用於多分類領域,如手寫字識別等。當然,在信用評估也有邏輯回歸的使用,同時邏輯回歸可以測量市場營銷的成功度。當然,也可以預測某個產品的收益。最後一個功能比較有意思,那就是可以預定特定的某天是否會發生地震。
我們在這篇文章中給大家介紹了關於機器學習中邏輯回歸演算法的相關知識,從中我們具體為大家介紹了邏輯回歸演算法的優缺點以及應用領域。相信大家能夠通過這篇文章能夠更好的理解邏輯回歸演算法。
Ⅲ 邏輯回歸原理
邏輯回歸原理基本概念
1. 什麼是邏輯回歸
邏輯回歸就是這樣的一個過程:面對一個回歸或者分類問題,建立代價函數,然後通過優化方法迭代求解出最優的模型參數,然後測試驗證我們這個求解的模型的好壞。
Logistic回歸雖然名字里帶「回歸」,但是它實際上是一種分類方法,主要用於兩分類問題(即輸出只有兩種,分別代表兩個類別)
回歸模型中,y是一個定性變數,比如y=0或1,logistic方法主要應用於研究某些事件發生的概率
2. 邏輯回歸的優缺點
優點:
1)速度快,適合二分類問題
2)簡單易於理解,直接看到各個特徵的權重
3)能容易地更新模型吸收新的數據
缺點:
對數據和場景的適應能力有局限性,不如決策樹演算法適應性那麼強
3. 邏輯回歸和多重線性回歸的區別
Logistic回歸與多重線性回歸實際上有很多相同之處,最大的區別就在於它們的因變數不同,其他的基本都差不多。正是因為如此,這兩種回歸可以歸於同一個家族,即廣義線性模型(generalizedlinear model)。
這一家族中的模型形式基本上都差不多,不同的就是因變數不同。這一家族中的模型形式基本上都差不多,不同的就是因變數不同。
如果是連續的,就是多重線性回歸
如果是二項分布,就是Logistic回歸
如果是Poisson分布,就是Poisson回歸
如果是負二項分布,就是負二項回歸
4. 邏輯回歸用途
尋找危險因素:尋找某一疾病的危險因素等;
預測:根據模型,預測在不同的自變數情況下,發生某病或某種情況的概率有多大;
判別:實際上跟預測有些類似,也是根據模型,判斷某人屬於某病或屬於某種情況的概率有多大,也就是看一下這個人有多大的可能性是屬於某病。
5. Regression 常規步驟
尋找h函數(即預測函數)
構造J函數(損失函數)
想辦法使得J函數最小並求得回歸參數(θ)
6. 構造預測函數h(x)
1) Logistic函數(或稱為Sigmoid函數),函數形式為:
對於線性邊界的情況,邊界形式如下:
其中,訓練數據為向量
最佳參數
構造預測函數為:
函數h(x)的值有特殊的含義,它表示結果取1的概率,因此對於輸入x分類結果為類別1和類別0的概率分別為:
P(y=1│x;θ)=h_θ (x)
P(y=0│x;θ)=1-h_θ (x)
7.構造損失函數J(m個樣本,每個樣本具有n個特徵)
Cost函數和J函數如下,它們是基於最大似然估計推導得到的。
8. 損失函數詳細推導過程
1) 求代價函數
概率綜合起來寫成:
取似然函數為:
對數似然函數為:
最大似然估計就是求使l(θ)取最大值時的θ,其實這里可以使用梯度上升法求解,求得的θ就是要求的最佳參數。
在Andrew Ng的課程中將J(θ)取為下式,即:
2) 梯度下降法求解最小值
θ更新過程可以寫成:
9. 向量化
ectorization是使用矩陣計算來代替for循環,以簡化計算過程,提高效率。
向量化過程:
約定訓練數據的矩陣形式如下,x的每一行為一條訓練樣本,而每一列為不同的特稱取值:
g(A)的參數A為一列向量,所以實現g函數時要支持列向量作為參數,並返回列向量。
θ更新過程可以改為:
綜上所述,Vectorization後θ更新的步驟如下:
求 A=x*θ
求 E=g(A)-y
求
10.正則化
(1) 過擬合問題
過擬合即是過分擬合了訓練數據,使得模型的復雜度提高,繁華能力較差(對未知數據的預測能力)
下面左圖即為欠擬合,中圖為合適的擬合,右圖為過擬合。
(2)過擬合主要原因
過擬合問題往往源自過多的特徵
解決方法
1)減少特徵數量(減少特徵會失去一些信息,即使特徵選的很好)
• 可用人工選擇要保留的特徵;
• 模型選擇演算法;
2)正則化(特徵較多時比較有效)
• 保留所有特徵,但減少θ的大小
(3)正則化方法
正則化是結構風險最小化策略的實現,是在經驗風險上加一個正則化項或懲罰項。正則化項一般是模型復雜度的單調遞增函數,模型越復雜,正則化項就越大。
正則項可以取不同的形式,在回歸問題中取平方損失,就是參數的L2范數,也可以取L1范數。取平方損失時,模型的損失函數變為:
lambda是正則項系數:
• 如果它的值很大,說明對模型的復雜度懲罰大,對擬合數據的損失懲罰小,這樣它就不會過分擬合數據,在訓練數據上的偏差較大,在未知數據上的方差較小,但是可能出現欠擬合的現象;
• 如果它的值很小,說明比較注重對訓練數據的擬合,在訓練數據上的偏差會小,但是可能會導致過擬合。