① 邏輯回歸原理
邏輯回歸原理基本概念
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是正則項系數:
• 如果它的值很大,說明對模型的復雜度懲罰大,對擬合數據的損失懲罰小,這樣它就不會過分擬合數據,在訓練數據上的偏差較大,在未知數據上的方差較小,但是可能出現欠擬合的現象;
• 如果它的值很小,說明比較注重對訓練數據的擬合,在訓練數據上的偏差會小,但是可能會導致過擬合。
② 機器學習故事匯-邏輯回歸演算法
機器學習故事匯-邏輯回歸演算法
今天我們要來討論的一個分類演算法-邏輯回歸(你有沒有搞錯,這不還是回歸嗎,雖然名字帶上了回歸其實它是一個非常實用的分類演算法)。,適合對數學很頭疼的同學們,小板凳走起!
先來吹一吹邏輯回歸的應用,基本上所有的機器學習分類問題都可以使用邏輯回歸來求解,當前拿到一份數據想做一個分類任務的時候第一手准備一定要拿邏輯回歸來嘗試(雖然有很多復雜的模型比如神經網路,支持向量機的名氣更大,但是邏輯回歸卻更接地氣,用的最多的還是它)!在機器學習中無論是演算法的推導還是實際的應用一直有這樣的一種思想,如果一個問題能用簡單的演算法去解決那麼絕對沒必要去套用復雜的模型。
在邏輯回歸中最核心的概念就是Sigmoid函數了,首先我們先來觀察一下它的自變數取值范圍以及值域,自變數可以是任何實數(這沒啥特別的!)但是我們觀察值域的范圍是[0,1]也就是任意的一個輸入都會映射到[0,1]的區間上,我們來想一想這個區間有什麼特別的含義嗎?在我們做分類任務的時候一般我都都會認為一個數據來了它要麼是0要麼是1(只考慮二分類問題),我們其實可以更細致一點得出來它是0或者1的可能性有多大,由此我們就得出了一個輸入屬於某一個類別的概率值,這個[0,1]不就恰好是這個概率嗎!
在這里我們的預測函數還是跟線性回歸沒有多大差別,只不過我們將結果又輸入到Sigmoid函數中,這樣得到了數據屬於類別的概率值。在推導過程中,我們假定分類是兩個類別的(邏輯回歸是經典的而分類器)。設定y(標簽)要麼取0要麼取1,這樣就可以把兩個類別進行整合,得到一個更直觀的表達。
對於邏輯回歸的求解,已然沿用我們上次跟大家討論的梯度下降演算法。給出似然函數,轉換對數似然(跟線性回歸一致),但是我們現在的優化目標卻跟之前不太一樣了,線性回歸的時候我們要求解的是最小值(最小二乘法),但是現在我們想得到的卻是使得該事件發生得最大值,為了沿用梯度下降來求解,可以做一個簡單的轉換添加一個負號以及一個常數很簡單的兩步就可以把原始問題依然轉換成梯度下降可以求解的問題。
此處求導過程看起來有些長,但也都是非常非常基本的運算了,感興趣拿起一支筆來實際算算吧!
最終就是參數更新了,迭代更新是機器學習的常規套路了。但是我們來簡單想一想另外的一個問題,現在我們說的邏輯回歸是一個二分類演算法,那如果我的實際問題是一個多分類該怎麼辦呢?這個時候就需要Softmax啦,引入了歸一化機制,來將得分值映射成概率值。
最後一句話總結一下吧,任何時候(沒錯就是這么狠)當我們一個實際任務來了,第一個演算法就是邏輯回歸啦,可以把它當成我們的基礎模型,然後不斷改進對比!
③ 怎樣正確理解邏輯回歸(logistic regression)
邏輯回歸通常用於解決分類問題,“分類”是應用邏輯回歸的目的和結果,但中間過程依舊是“回歸”。
結果P也可以理解為概率,換句話說概率大於0.5的屬於1分類,概率小於0.5的屬於0分類,這就達到了分類的目的。
邏輯回歸有什麼優點
LR能以概率的形式輸出結果,而非只是0,1判定。
LR的可解釋性強,可控度高(你要給老闆講的嘛…)。
訓練快,feature engineering之後效果贊。
因為結果是概率,可以做ranking model。
邏輯回歸有哪些應用
CTR預估/推薦系統的learning to rank/各種分類場景。
某搜索引擎廠的廣告CTR預估基線版是LR。
某電商搜索排序/廣告CTR預估基線版是LR。
某電商的購物搭配推薦用了大量LR。
某現在一天廣告賺1000w+的新聞app排序基線是LR。
④ 弱分類器的強勢體 邏輯回歸演算法與推導
弱分類器的強勢體:邏輯回歸演算法與推導
邏輯回歸的函數表達式為
用極大似然估計求解
每個樣本發生的後驗概率為
則所以樣本發生總概率即似然函數為
L(θ)即為目標函數,-L(θ)即為loss函數,求-L(θ)最小
對數L(θ)函數為
對θ求導,即
無法求解。
用梯度下降法逼近最佳值,這里用的是梯度上升法,因為要求L(θ)最大值,其實道理一樣。
整體梯度上升演算法:
初始化wT=1
重復直至收斂:
計算整體梯度(?l(θ)/?θ)
根據θ+α*(?l(θ)/?θ)來更新回歸系數wT
隨機梯度上升演算法:
初始化wT=1
重復直至收斂:
計算隨機每個樣本梯度(?l(θ)/?θ)
根據θ+α*(?l(θ)/?θ)來更新回歸系數wT
邏輯回歸的優點是實現簡單,分類快。缺點是容易欠擬合,只能處理二分類問題(加上softmax優化可用於多分類),但是必須是線性可分的數據。
⑤ 機器學習的方法之回歸演算法
我們都知道,機器學習是一個十分實用的技術,而這一實用的技術中涉及到了很多的演算法。所以說,我們要了解機器學習的話就要對這些演算法掌握通透。在這篇文章中我們就給大家詳細介紹一下機器學習中的回歸演算法,希望這篇文章能夠幫助到大家。
一般來說,回歸演算法是機器學習中第一個要學習的演算法。具體的原因,第一就是回歸演算法比較簡單,可以讓人直接從統計學過渡到機器學習中。第二就是回歸演算法是後面若干強大演算法的基石,如果不理解回歸演算法,無法學習其他的演算法。而回歸演算法有兩個重要的子類:即線性回歸和邏輯回歸。
那麼什麼是線性回歸呢?其實線性回歸就是我們常見的直線函數。如何擬合出一條直線最佳匹配我所有的數據?這就需要最小二乘法來求解。那麼最小二乘法的思想是什麼呢?假設我們擬合出的直線代表數據的真實值,而觀測到的數據代表擁有誤差的值。為了盡可能減小誤差的影響,需要求解一條直線使所有誤差的平方和最小。最小二乘法將最優問題轉化為求函數極值問題。
那麼什麼是邏輯回歸呢?邏輯回歸是一種與線性回歸非常類似的演算法,但是,從本質上講,線型回歸處理的問題類型與邏輯回歸不一致。線性回歸處理的是數值問題,也就是最後預測出的結果是數字。而邏輯回歸屬於分類演算法,也就是說,邏輯回歸預測結果是離散的分類。而邏輯回歸演算法劃出的分類線基本都是線性的(也有劃出非線性分類線的邏輯回歸,不過那樣的模型在處理數據量較大的時候效率會很低),這意味著當兩類之間的界線不是線性時,邏輯回歸的表達能力就不足。下面的兩個演算法是機器學習界最強大且重要的演算法,都可以擬合出非線性的分類線。這就是有關邏輯回歸的相關事項。
在這篇文章中我們簡單給大家介紹了機器學習中的回歸演算法的相關知識,通過這篇文章我們不難發現回歸演算法是一個比較簡答的演算法,回歸演算法是線性回歸和邏輯回歸組成的演算法,而線性回歸和邏輯回歸都有自己實現功能的用處。這一點是需要大家理解的並掌握的,最後祝願大家能夠早日學會回歸演算法。
⑥ 回歸演算法有哪些
回歸演算法有:
線性回歸使用最佳的擬合直線(也就是回歸線)在因變數(Y)和一個或多個自變數(X)之間建立一種關系。
用一個方程式來表示它,即Y=a+b*X + e,其中a表示截距,b表示直線的斜率,e是誤差項。這個方程可以根據給定的預測變數(s)來預測目標變數的值。
邏輯回歸是用來計算「事件=Success」和「事件=Failure」的概率。當因變數的類型屬於二元(1 / 0,真/假,是/否)變數時,我們就應該使用邏輯回歸。這里,Y的值從0到1,它可以方程表示。