機器學習之線性回歸以及Logistic回歸

2022-05-24 18:39:12 字數 2601 閱讀 9961

1、線性回歸

回歸的目的是**數值型資料的目標值。目標值的計算是通過乙個線性方程得到的,這個方程稱為回歸方程,各未知量(特徵)前的係數為回歸係數,求這些係數的過程就是回歸。

對於普通線性回歸使用的損失函式一般為平方誤差。把其用最小二乘法進行優化得到的關於係數w求導所得到的矩陣形式的表示式求得的

w便為最優解了。

線性回歸可以參考:

2.logistic回歸

邏輯回歸假設資料服從伯努利分布,是一種廣義的線性回歸模型,以最大化條件概率為學習策略,以對數似然函式為損失函式,運用梯度下降法來優化引數,以sigmoid函式為分類決策函式,進而達到將資料二分類的目的。

logistic回歸是一種分類演算法,既可以處理二分類也可以處理多分類,一般把其用於二分類的分類器。logistic本質上是乙個基於條件概率的判別模型(discriminativemodel)。利用了sigmoid函式值域在[0,1]這個特性,以0.5作為分界線。利用了線性回歸的原理,只不過線性回歸最後求得的是數值型的結果,而logistic回歸最後會利用sigmoid函式把求得的結果轉化為0-1之間的值,把大於0.5的判定為1,小於0.5的判定為0。logistic回歸的損失函式是最大似然估計的直接產物。

3.logistic回歸中為什麼選用sigmoid函式

說的比較好的,尤其是最後的總結:

先看一下淺層較好理解的解釋:

邏輯回歸(lr)模型的主要任務是給定一些歷史的,其中x是樣本n個特徵值,y的取值是代表正例與負例,通過對這些歷史樣本的學習,從而得到乙個數學模型,給定乙個新的x,能夠**出y。lr模型是乙個二分類模型,即對於乙個x,**其發生或不發生。但事實上,對於乙個事件發生的情況,往往不能得到100%的**,因此lr可以得到乙個事件發生的可能性,超過50%則認為事件發生,低於50%則認為事件不發生.

從lr的目的上來看,在選擇函式時,有兩個條件是必須要滿足的:

1)取值範圍在0~1之間。

2.)對於乙個事件發生情況,50%是其結果的分水嶺,選擇函式應該在0.5中心對稱。

從這兩個條件來看,sigmoid很好的符合了lr的需求。

但是符合以上兩個條件的函式有很多,但是為什麼選用sigmoid函式?

其中乙個較好的解釋是從最大熵方面進行解釋的:

最大熵原理是概率模型(lr也是乙個概率模型)學習的乙個準則,最大熵原理認為,學習概率模型時,在所有可能的概率模型中,熵最大的模型是最好的模型。

在我們給定了某些假設之後,我們希望在給定假設前提下,分布盡可能的均勻。對於logistic regression,我們假設了對於,我們**的目標是p(y|x),並假設認為服從伯努利分布,所以我們只需要知道p(y|x);其次我們需要乙個線性模型,所以p(y|x)=f(wx)。接下來我們就只需要知道f是什麼就行了。而我們可以通過最大熵原則推出的這個f,就是sigmoid。具體推導可以參考**(

最後的總結:

為什麼要選用sigmoid函式呢?為什麼不選用其他函式,如probit函式?

其實,無論是sigmoid函式還是probit函式都是廣義線性模型的連線函式(link function)中的一種。選用聯接函式是因為,從統計學角度而言,普通線性回歸模型是基於響應變數和誤差項均服從正態分佈的假設,且誤差項具有零均值,同方差的特性。但是,例如分類任務(判斷腫瘤是否為良性、判斷郵件是否為垃圾郵件),其響應變數一般不服從於正態分佈,其服從於二項分布,所以選用普通線性回歸模型來擬合是不準確的,因為不符合假設,所以,我們需要選用廣義線性模型來擬合資料,通過標準聯接函式(canonical link or standard link function)來對映響應變數,如:正態分佈對應於恒等式,泊松分布對應於自然對數函式,二項分布對應於logit函式(二項分布是特殊的泊松分布)。因此,說了這麼多是想表達聯接函式的選取除了必須適應於具體的研究案例,不用糾結於為什麼現有的logistic回歸會選用sigmoid函式,而不選用probit函式,雖然網上也有不少說法說明為什麼選擇sigmoid函式,例如「該函式有個漂亮的s型」,「在遠離x=0的地方函式的值會很快接近0/1」,「函式在定義域內可微可導」,這些說法未免有些「馬後炮」的感覺,哪個說法仔細分析都不能站住腳,我覺得選用sigmoid函式也就是因為該函式滿足分類任務,用的人多了也就成了預設說法,這跟給物體取名字有點類似的感覺,都有些主觀因素在其中。

4、為什麼lr中經常會對連續資料離散化

1)稀疏向量內積乘法運算速度快,計算結果方便儲存,容易擴充套件。

2) 離散化後的特徵對異常資料有很強的魯棒性:比如乙個特徵是年齡》30是1,否則0。如果特徵沒有離散化,乙個異常資料「年齡300歲」會給模型造成很大的干擾。

3)邏輯回歸屬於廣義線性模型,表達能力受限;單變數離散化為n個後,每個變數有單獨的權重,相當於為模型引入了非線性,能夠提公升模型表達能力,加大擬合。

4)離散化後可以進行特徵交叉,由m+n個變數變為m*n個變數,進一步引入非線性,提公升表達能力。

5)特徵離散化後,模型會更穩定,比如如果對使用者年齡離散化,20-30作為乙個區間,不會因為乙個使用者年齡長了一歲就變成乙個完全不同的人。當然處於區間相鄰處的樣本會剛好相反,所以怎麼劃分區間是門學問。

總的來說:能夠加快計算速度,能夠增加模型的泛化能力,降低雜訊對模型的的影響。

5.lr需不需要對資料進行預處理

這裡的預處理是指對資料進行標準化處理,對於lr,不進行預處理也行,但是對資料進行標準化處理能夠加快模型的收斂速度。

機器學習之線性回歸

訓練樣例 x y 輸入變數 特徵 x ps n 1行,1 列 輸出變數 目標變數 y訓練樣例總數 m 特徵維度 n第 i 個訓練樣例 x i y i 所有訓練樣例的輸入變數組成的矩陣 x ps m行,n 1 列,每行是 x i t 所有訓練樣例的輸出變數組成的矩陣 y ps m行,1 列 下表是某地...

機器學習之線性回歸

線性回歸就是用線性方程去擬合一組資料,x 的最高端是1,用方程可以表示為 h x 0 1x1 n xn我們令 x0 1則上式可以改寫為 h x i 0n ixi tx 既然是擬合的模型,則肯定會存在不符合該模型的點,第 i 個點的真實值與模型 的值之間的差稱為誤差 e h x i y i 假設總共有...

機器學習之線性回歸

線性回歸分析 regression analysis 其資料集是給定乙個函式和他的一些座標點,然後通過回歸分析的演算法,來估計原函式的模型,求得最符合這些資料集的函式解析式。然後我們就可以用來預估未知資料,輸入乙個自變數便會根據這個模型解析式輸出因變數,這些自變數就是特徵向量,因變數即為標籤,而且標...