機器學習常用算法之線性回歸
時間:2024-01-16 來源:華清遠見
線性回歸已經存在了200多年,并且已經進行了廣泛的研究。 如果可能的話,使用這種技術時的一些經驗法則是去除非常相似(相關)的變量并從數據中移除噪聲。 這是一種快速簡單的技術和良好的一種算法。
1、對于回歸的理解
回歸是統計學中最有力的工具之一。機器學習監督學習算法分為分類算法和回歸算法兩種,其實就是根據類別標簽分布類型為離散型、連續性而定義的。顧名思義,分類算法用于離散型分布預測,如KNN、決策樹、樸素貝葉斯、adaboost、SVM、Logistic回歸都是分類算法;
回歸算法用于連續型分布預測,針對的是數值型的樣本,使用回歸,可以在給定輸入的時候預測出一個數值,這是對分類方法的提升,因為這樣可以預測連續型數據而不僅僅是離散的類別標簽。
回歸的目的就是建立一個回歸方程用來預測目標值,回歸的求解就是求這個回歸方程的回歸系數。預測的方法當然十分簡單,回歸系數乘以輸入值再全部相加就得到了預測值。
2、回歸的定義
回歸最簡單的定義是,給出一個點集D,用一個函數去擬合這個點集,并且使得點集與擬合函數間的誤差最小,如果這個函數曲線是一條直線,那就被稱為線性回歸,如果曲線是一條二次曲線,就被稱為二次回歸。
3、線性回歸方程的求解
假設有連續型值標簽(標簽值分布為Y)的樣本,有X={x1,x2,…,xn}個特征,回歸就是求解回歸系數θ=θ0, θ1,…,θn。那么,如果有一些X和對應的Y,怎樣才能找到θ呢?
在回歸方程里,求得特征對應的最佳回歸系數的方法是最小化誤差的平方和,這里的誤差是指預測y值和真實y值之間的差值,采用平方誤差(最小二乘法)。平方誤差可以寫做:
4、線性回歸的優化方法:最小二乘法
一般情況下為什么要用最小二乘法作為性能度量而不是最小絕對值法(最小一乘法)?
首先最小二乘法不永遠是最優的方法。對于一般情況下我們認為最小二乘法為較優的度量方式;
兩者的定義公式為:
相比于最小絕對值法,最小二乘法有以下的優點:
1、最優解唯一。 對于最小二乘法而言,只要自變量不是多重共線性的,解就是唯一的。但是對于最小絕對值法卻不是固定的。舉例而言,如果我們沒有任何自變量(x),而只用截距去回歸。最小二乘法會用平均值作為預測值,而最小絕對值法會得出中位數,而中位數往往是不唯一的。例如當數據是兩個點:0和2時,最小二乘法會用1作為預測值,但是最小絕對值法會用0~2的任意值作為預測值。
2、求解方便。 對于最小二乘法而言,由于誤差項是處處可導而且導數連續的,所以我們可以寫出求解的等式。但是對于最小絕對值法而言,由于在原點不可導,所以求解會比較復雜。而且由于導數相對恒定(正誤差始終為1,負誤差始終為-1),所以最小絕對值法求解也會有導數過大的問題。
3、有好的解析性質。 最小二乘法在正態分布假設下可以用極大似然估計(MLE)解釋,也可以證明解是最優線性無偏估計。
5、回歸損失函數
是定義在單個樣本上的,是指一個樣本的誤差,度量模型一次預測的好壞。
5.1平方損失函數(quadratic loss function)
是MSE的單個樣本損失,又叫平方損失(squared loss) 是指預測值與實際值差的平方。有時候為了求導方便,在前面乘上一個1/2。
5.2 絕對(值)損失函數(absolute loss function)
是MAE單個樣本損失,又叫絕對偏差(absolute Loss)該損失函數的意義和上面差很少,只不過是取了絕對值而不是求平方和,差距不會被平方放大。
5.3 對數損失函數(logarithmic loss function)
又稱對數似然損失函數(loglikelihood loss function)這個損失函數就比較難理解了。事實上,該損失函數用到了極大似然估計的思想。
P(Y|X)通俗的解釋就是:在當前模型的基礎上,對于樣本X,其預測值為Y,也就是預測正確的幾率。由概率乘法公式可得,概率之間可以相乘,為了將其轉化為加法,我們將其取對數。最后由于是損失函數,所以預測正確的概率越高,其損失值應該是越小,因此再加個負號取個反。
最后總結兩點:
第一點就是對數損失函數很是經常使用。logistic回歸,softmax回歸等都用的是這個損失。
第二點就是對于這個公式的理解。這個公式的意思是在樣本x在分類為y的狀況下,咱們須要讓幾率p(y|x)達到最大值。就是利用目前已知的樣本分布,找到最有可能致使這種分布的參數值。

