按照回歸線的形狀分類時(shí),如果在回歸分析中,只包括一個(gè)自變量和一個(gè)因變量,且二者的關(guān)系可用一條直線近似表示,則這種回歸分析稱為一元線性回歸分析;如果回歸分析中包括兩個(gè)或兩個(gè)以上的自變量,且因變量和自變量之間是非線性關(guān)系,則稱為多元非線. 線性回歸線性回歸是世界上最知名的建模方法之一。在線性回歸中,數(shù)據(jù)使用線性預(yù)測(cè)函數(shù)來(lái)建模,并且未知的模型參數(shù)也是通過(guò)數(shù)據(jù)來(lái)估計(jì)的。這些模型被叫作線性模型。在線性模型中,因變量是連續(xù)型的,自變量可以是連續(xù)型或離散型的,回歸線)一元線性回歸
Y 通常叫作響應(yīng)輸出或因變量,X 叫作輸入、回歸量、解釋變量或自變量。線性回歸最適合用直線(回歸線)去建立因變量 Y 和一個(gè)或多個(gè)自變量 X 之間的關(guān)系,如圖 1 所示。可以用以下公式來(lái)表示。Y = a+b x X+e其中,a 為截距,b 為回歸線的斜率,e 是誤差項(xiàng)。要找到回歸線,就是要確定回歸系數(shù) a 和 b。假定變量 y 的方差是一個(gè)常量,可以用最小二乘法來(lái)計(jì)算這些系數(shù),使實(shí)際數(shù)據(jù)點(diǎn)和估計(jì)回歸直線之間的誤差最小,只有把誤差做到最小時(shí)得出的參數(shù),才是我們最需要的參數(shù)。這些殘差平方和常常被稱為回歸直線的誤差平方和,用 SSE 來(lái)表示,如下。
線性回歸模型的解釋性很強(qiáng),模型的權(quán)值向量十分直觀地表達(dá)了樣本中每一個(gè)屬性在預(yù)測(cè)中的重要度。例如,要預(yù)測(cè)今天是否會(huì)下雨,并且已經(jīng)基于歷史數(shù)據(jù)學(xué)習(xí)到了模型中的權(quán)重向量和截距么則可以綜合考慮各個(gè)屬性來(lái)判斷今天是否會(huì)下雨。
其中,X1 表示風(fēng)力,X2 表示濕度,X3 表示空氣質(zhì)量。在訓(xùn)練模型時(shí),要讓預(yù)測(cè)值盡量逼近真實(shí)值,做到誤差最小,而均方誤差就是表達(dá)這種誤差的一種方法,所以求解多元線性回歸模型,就求解使均方誤差最小化時(shí)對(duì)應(yīng)的參數(shù)。
線性回歸的理解和解釋都非常直觀,還能通過(guò)正則化來(lái)避免過(guò)擬合。此外,線性回歸模型很容易通過(guò)隨機(jī)梯度下降法來(lái)更新數(shù)據(jù)模型。但是,線性回歸在處理非線性關(guān)系時(shí)非常糟糕,在識(shí)別復(fù)雜的模式上也不夠靈活,而添加正確的相互作用項(xiàng)或多項(xiàng)式又極為棘手且耗時(shí)。
Spark MLlib 的 SGD 線性回歸算法是由 LinearRegressionWithSGD 類實(shí)現(xiàn)的,該類是基于無(wú)正規(guī)化的隨機(jī)梯度下降算法,使用由(標(biāo)簽,特征序列)組成的 RDD 來(lái)訓(xùn)練線性回歸模型的。
該實(shí)例使用的數(shù)據(jù)存放在 lrws_data.txt 文檔中,提供了 67 個(gè)數(shù)據(jù)點(diǎn),每個(gè)數(shù)據(jù)點(diǎn)為 1 行,每行由 1 個(gè)標(biāo)簽值和 8 個(gè)特征值組成,每行的數(shù)據(jù)格式如下。標(biāo)簽值,特征 1 特征 2 特征 3 特征 4 特征 5 特征 6 特征 7 特征 8
醫(yī)生希望通過(guò)腫瘤的大小 X1、長(zhǎng)度X2、種類 X3 等特征來(lái)判斷病人的腫瘤是惡性腫瘤還是良性腫瘤,這時(shí)目標(biāo)變量 y 就是分類變量(0 表示良性腫瘤,1 表示惡性腫瘤)。線性回歸是通過(guò)一些 x 與 y 之間的線性關(guān)系來(lái)進(jìn)行預(yù)測(cè)的,但是此時(shí)由于 y 是分類變量,它的取值只能是 0、1,或者 0、1、2 等,而不能是負(fù)無(wú)窮到正無(wú)窮,所以引入了一個(gè) sigmoid 函數(shù),即
邏輯回歸特別適合用于分類場(chǎng)景,尤其是因變量是二分類的場(chǎng)景,如垃圾郵件判斷,是否患某種疾病,廣告是否點(diǎn)擊等。邏輯回歸的優(yōu)點(diǎn)是,模型比線性回歸更簡(jiǎn)單,好理解,并且實(shí)現(xiàn)起來(lái)比較方便,特別是大規(guī)模線性分類時(shí)。