機器學習 LR和線性回歸講解,區別

2021-09-14 05:02:19 字數 3812 閱讀 2562

回歸演算法是一種通過最小化**值與實際結果值之間的差距,而得到輸入特徵之間的最佳組合方式的一類演算法。對於連續值**有線性回歸等,而對於離散值/類別**,我們也可以把邏輯回歸等也視作回歸演算法的一種。

線性回歸與邏輯回歸是機器學習中比較基礎又很常用的內容。線性回歸主要用來解決**連續值****的問題,邏輯回歸用**來解決分類的問題**,輸出的屬於某個類別的概率,工業界經常會用邏輯回歸來做排序。

線性回歸,是利用數理統計中回歸分析,來確定兩種或兩種以上變數間相互依賴的定量關係的一種統計分析方法,運用十分廣泛。其表達形式為y = w』x+e,e為誤差服從均值為0的正態分佈。中學就有接觸線性回歸,那麼線性回歸應用在什麼地方呢?它適用於有監督學習的**。

一元線性回歸分析:y=

ax+b

y=ax+b

,包括兩個或兩個以上的自變數,並且因變數和自變數是線性關係。

損失函式:是指一種將乙個事件(在乙個樣本空間中的乙個元素)對映到乙個表達與其事件相關的經濟成本或機會成本的實數上的一種函式。更通俗地說,損失函式用來衡量引數選擇的準確性。損失函式定義為: j(

θ0,θ

1,..

.,θn

)=12

m∑i=

1m(h

θ(x(

i))−

y(i)

)2j(θ0,θ1,...,θn)=12m∑i=1m(hθ(x(i))−y(i))2

這個公式計算的是線性回歸分析的值與實際值的距離的平均值。顯然,損失函式得到的值越小,損失也就越小。

怎樣最小化損失函式?損失函式的定義是乙個凸函式,就可以使用凸優化的一些方法:

1) 梯度下降:逐步最小化損失函式的過程。如同下山的過程,找準下山方向(梯度),每次邁進一步,直至山底。如果有多個特徵,對應多個引數θθ

,比如0.01。下圖展示了梯度下降的過程。

2) 牛頓法:速度快適用於小資料,大資料比較耗記憶體。

回歸與欠/過擬合:

1) 欠擬合:函式假設太簡單導致無法覆蓋足夠的原始資料,可能造成資料**的不準確。

2) 擬合問題:比如我們有很多的特徵,假設的函式曲線對原始資料擬合的非常好,從而喪失一般性,導致對新給的待**樣本,**效果差。下圖就是乙個例子,乙個複雜的曲線,把所有點都擬合進去了,但是泛化能力變差了,沒有得到乙個規律性的函式,不能有效的**新樣本。

過擬合解決方法:

1) 減少特徵個數:手工選擇保留特徵、模型選擇的演算法選擇特徵。

2) 正則化:在原來的損失函式中加入θθ

即l2正則化。留下所有的特徵,但是減少引數的大小。

與線性回歸不同,邏輯回歸主要用於解決分類問題,那麼線性回歸能不能做同樣的事情呢?下面舉乙個例子。比如惡性腫瘤和良性腫瘤的判定。假設我們通過擬合資料得到線性回歸方程和乙個閾值,用閾值判定是良性還是惡性:

如圖,size小於某值就是良性,否則惡性。但是「雜訊」對線性方程的影響特別大,會大大降低分類準確性。例如再加三個樣本就可以使方程變成這樣:

那麼,邏輯斯特回歸是怎麼做的呢?如果不能找到乙個絕對的數值判定腫瘤的性質,就用概率的方法,**出乙個概率,比如》0.5判定為惡性的。

邏輯回歸首先把樣本對映到[0,1]之間的數值,這就歸功於sigmoid函式,可以把任何連續的值對映到[0,1]之間,數越大越趨向於0,越小越趨近於1。sigmoid函式公式如下: g(

z)=1

1+e−

zg(z)=11+e−z

函式的影象如下圖,x=0的時候y對應中心點。

判定邊界:對多元線性回歸方程求sigmoid函式hθ

(x)=

g(θ0

+θ1x

1+..

.+θn

xn)hθ(x)=g(θ0+θ1x1+...+θnxn)

的直線,把樣本分成兩類。把(1,1)代入g函式,概率值<0.5,就判定為負樣本。這條直線就是判定邊界,如下圖:

除了線性判定邊界,還有較複雜的非線性判定邊界。

線性回歸的損失函式對邏輯回歸不可用,因為邏輯回歸的值是0或者1,求距離平均值會是一條不斷彎曲的曲線,不是理想的凸函式。聰明的數學家找到了乙個適合邏輯回歸的損失定義方法: co

st(h

θ(x)

,y)=

{−lo

g(hθ

(x))

,−lo

g(1−

hθ(x

)),if y=

1if y=

0cost(hθ(x),y)={−log(hθ(x)),if y=1−log(1−hθ(x)),if y=0

這個函式依然可以用梯度下降求解。

剛才講述的都是二分類的問題,那如果是多分類的問題,又該怎麼做呢?其實可以套用二分類的方法,根據特徵,一層層細化類別。比如下圖中有三種形狀:

可以先用乙個分類器區分「正方形」和「非正方形」,再用乙個分類器對非正方形區分,得到「三角形」和「非三角形」,然後再用乙個分類器區分叉。

邏輯斯特回歸(lr)是個比較基礎的演算法,在它只會有很多演算法svm/gbdt/randomforest。複雜的演算法比較難以把握,工業界更偏向於用簡單的演算法。

樣本太大怎麼處理?

1) 對特徵離散化,離散化後用one-hot編碼處理成0,1值,再用lr處理會較快收斂;

2) 如果一定要用連續值的話,可以做scaling;

3) 工具的話有 spark mllib,它損失了一小部分的準確度達到速度的提公升;

4) 如果沒有並行化平台,想做大資料就試試取樣。需要注意取樣資料,最好不要隨機取,可以按照日期/使用者/行為,來分層抽樣。

怎麼使樣本平衡?

1) 如果樣本不均衡,樣本充足的情況下可以做下取樣——抽樣,樣本不足的情況下做上取樣——對樣本少的做重複;

2) 修改損失函式,給不同權重。比如負樣本少,就可以給負樣本大一點的權重;

3) 取樣後的predict結果,用作判定請還原。

1) 離散化優點:對映到高維空間,用linear的lr(快,且兼具更好的分割性);稀疏化,0,1向量內積乘法運算速度快,計算結果方 便儲存,容易擴充套件;離散化後,給線性模型帶來一定的非線性;模型穩定,收斂度高,魯棒性好;在一定程度上降低了過擬合風險

2) 通過組合特徵引入個性化因素:比如uuid+tag

3) 注意特徵的頻度: 區分特徵重要度,可以用重要特徵產出層次判定模型

假設只看模型的話:

1) 選擇合適的正則化:l2準確度高,訓練時間長;l1可以做一定的特徵選擇,適合大量資料

2) 收斂閾值e,控制迭代輪數

3) 樣本不均勻時調整loss function,給不同權重

4) bagging或其他方式的模型融合

5) 選擇最優化演算法:liblinear、sag、newton-cg等

邏輯回歸初步

zhewei大佬

機器學習線性回歸案例講解 機器學習例項 線性回歸

一 問題引入 1.首先明確幾個概念目前三大最常見的機器學習任務 1.回歸問題 2.分類問題 3.聚類問題 machine learning機器學習是artificial inteligence的核心,分為四類 1 supervised learning監督學習 是有特徵 feature 和標籤 la...

機器學習 邏輯回歸(LR)

1.模型介紹 logistic regression 雖然被稱為回歸,但其實際上是分類模型,並常用於二分類。logistic regression 因其簡單 可並行化 可解釋強深受工業界喜愛。在正式介紹模型之前,先聊一聊logitstic分布。1.1 邏輯斯諦分布 logistic distribu...

機器學習線性回歸案例講解 機器學習實戰 線性回歸

本文將用 泰坦尼克船員獲救 這一案例展示一下使用線性回歸建模的流程。首先匯入原始的資料並展示資料的前5行,大致了解一下資料的情況。原始資料中分別有以下幾列資訊 passengerid survived pclass name age sibsp parch ticket fare cabin emb...