線性迴歸 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分類問題。