線性迴歸理解-ML EveryDay

線性迴歸 Linear Regression

概念等同於數學中的線性迴歸模型,機器學習的本質是模型的擬合。

即在二維問題中求一條直線來擬合各個點(x,y)

其中x是自變量,或者叫輸入參數/特徵值,y是因變量,也就是結果/標籤

(x一般在數學問題中叫做參數,在機器學習中叫特徵值)

或者在多維問題中,求一個曲面(二維),或立體/域 來擬合所符合的各個點/域

假設一個n維問題中,輸入n個特徵值,x1 x2 x3 …… xn 輸出爲一個結果y

則 Y=W1X1+W2X2+W3X3+……+WnXn+b是最簡單的線性迴歸模型,

即對於每個特徵值都有一個參數,還有一個偏移量bias

 

我們可以將式子寫成加權平均

 

Y=W1X1+W2X2+W3X3+……+WnXn+bX0

 

X0是我們延伸出來的,假設其值爲1,這樣我們就有N+1個輸入變量x 和 N+1個參數

“矩陣乘法,即左行乘右列,左邊行中的值與右邊值對應相乘並相加”

矩陣運算效率較高,就可以用矩陣相乘的方法相計算。

 

對於損失,求線性迴歸中的損失較爲重要,損失或者誤差可以認爲是真實值與預測值之間的誤差。

損失函數Loss即我們用來衡量損失。

 

線性迴歸的過程即輸入訓練集進行訓練,因爲線性迴歸模型一般參數較少,訓練的時間較短。

輸入訓練集訓練的過程即

1.輸入訓練集中數據的參數,

2.代入模型中計算

3.梯度下降調參數

4.反覆迭代

 

其中梯度下降即爲對於一個參數模型,利用導數最小梯度下降來求其最小值,即精確參數。

設置學習率,對於參數每次變化的值。

 

廣義的線性迴歸包括線性迴歸和邏輯迴歸

狹義的線性迴歸與邏輯迴歸相比較,

線性迴歸適用於預測問題,利用已知的數據集,經過迴歸之後,得到一個目標函數y=f(x)。然後給定一個新的x,可以預測得到目標y

邏輯迴歸適用於分類問題,在二分類問題中,原始數據迴歸之後得到的模型,對於新輸入的x,利用模型輸出,最後經過激活函數 可以判斷其所在分類。

可以認爲線性迴歸的輸出y=wx+b就是邏輯迴歸的輸入,邏輯迴歸要找這樣一個函數f(wx+b),使得輸入與輸出的分類對應。

個人感覺邏輯迴歸和線性迴歸首先都是廣義的線性迴歸,其次經典線性模型的優化目標函數是最小二乘,而邏輯迴歸則是似然函數,另外線性迴歸在整個實數域範圍內進行預測,敏感度一致,而分類範圍,需要在[0,1]。邏輯迴歸就是一種減小預測範圍,將預測值限定爲[0,1]間的一種迴歸模型,因而對於這類問題來說,邏輯迴歸的魯棒性比線性迴歸的要好。

邏輯迴歸的模型本質上是一個線性迴歸模型,邏輯迴歸都是以線性迴歸爲理論支持的。但線性迴歸模型無法做到sigmoid的非線性形式,sigmoid可以輕鬆處理0/1分類問題。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章