機器學習演算法 線性模型 線性回歸

2021-08-28 20:07:54 字數 2523 閱讀 8712

「線性回歸」是試圖學得乙個線性模型盡可能準確地**實值輸出標記。(西瓜書)

個人通俗理解就是簡單線性回歸找到一條直線盡可能到給出的樣本點距離要小,多維則變成找乙個超平面。

如上圖(3.1)(3.2)

均方誤差最小的直線,均方誤差即學習器到真實值的距離的平方和,來刻畫擬合直線到樣本點的差距

一元回歸不需要用到矩陣求導,直接對w和b求導,等於0後反解w和b,此時的w和b是使得均方誤差最小的引數。參考上圖的(3.5)-(3.8)

多元的回歸需要用到矩陣求導,上圖右側手寫字型有必要的矩陣求導規則求導,要注意ols最小二乘要求x』x(x』是x的轉置)可逆,同時x』x必定是對稱的。

如果x』x不可逆,比如變數個數大於樣本個數,這種情況可以出現在生物基因統計裡,基因位點個數很多(變數)可以達到上百萬個,但是樣本(人)的個可能只有幾百個,這樣x』x是不可逆的,會解出多個w,解決這個問題的常見做法是加入正則化項。

以上這種方法稱為解正則方程組。

通過均方誤差來衡量擬合的偏差,我們將其看作我們的損失函式,偏差越大損失越大(擬合的程度越差)

如果對損失函式使用梯度下降、批量梯度下降、隨機梯度下降等迭代方法,初始化引數 θ

\theta

θ,即可避免用解正則方程組時可能遇到的xtx

x^tx

xtx不可逆的情況。

舉乙個簡單回歸的例子:

我們取均方誤差代價函式

我們想要的**函式應該是這樣的

代價函式中的變數有兩個,求解出代價函式的梯度,也就是分別對兩個變數進行求導

然後開始迭代

**實現如下

import numpy as np

m = 20

x0 = np.ones((m, 1))

x1 = np.arange(1, m+1).reshape(m, 1)

x = np.hstack((x0, x1))

y = np.array([3, 4, 5, 5, 2, 4, 7, 8, 11, 8, 12,11, 13, 13, 16, 17, 18, 17, 19, 21]).reshape(m, 1)

alpha = 0.01

def costfunc(theta, x, y):

'''error function j definition.'''

diff = np.dot(x, theta) - y

return (1./2*m) * np.dot(np.transpose(diff), diff)

def gradientfunc(theta, x, y):

diff = np.dot(x, theta) - y

return (1./m) * np.dot(np.transpose(x), diff)

def calculate_gradient(x, y, alpha):

theta = np.array([1, 1]).reshape(2, 1)

gradient = gradient_function(theta, x, y)

while not np.all(np.absolute(gradient) <= 1e-5):

theta = theta - alpha * gradient

gradient = gradient_function(theta, x, y)

return theta

solution = gradient_descent(x, y, alpha)

print(solution)

如果是在sklearn中則(這個是直接解正則方程組的)

from sklearn.linear_model import linearregression

lm = linearregression()

lm.fit(train_x, train_y)

1.

2.

機器學習演算法 線性回歸

線性回歸應該算機器學習演算法裡面最基礎的演算法了,分別用作回歸 y值為連續值 和分類 y值為離散 在學習線性回歸的過程中,有很多機器學習的概念和方法是在這時候提出的。在現實中變數之間的關係,是有確定的和非確定的。確定關係指的是變數之間可以使用函式關係式表示,非確定的部分我們可以用概率分布來表示,如乙...

機器學習演算法 線性回歸

樣本特徵只有乙個的線性回歸問題,為簡單線性回歸。樣本特徵有多個的線性回歸問題,為多元線性回歸。兩個變數之間的關係是一次函式關係的 圖象是直線,這樣的兩個變數之間的關係就是 線性關係 如果不是一次函式關係的 圖象不是直線,就是 非線性關係 線性回歸演算法將無數的訓練集資料放在乙個座標系中,以座標系的乙...

機器學習演算法 線性回歸

線性回歸是利用數理統計中回歸分析,來確定兩種或兩種以上變數間相互依賴的定量關係的一種統計分析方法,運用十分廣泛。其表達形式為y w x e,e為誤差服從均值為0的正態分佈。回歸分析中,只包括乙個自變數和乙個因變數,且二者的關係可用一條直線近似表示,這種回歸分析稱為一元線性回歸分析。如果回歸分析中包括...