線性回歸原理

2022-08-31 20:18:08 字數 2240 閱讀 5185

繪製一條 函式曲線 要求是 盡量去符合 觀測到的值

觀測到的 x 和 y

把x帶入到 我們 假設的函式中 得到y_

y-y_

y = w*x+b

w 是 斜率 也可以認為是權重 weight

b 是 截距 也可以認為是偏差 bias

先來看兩張圖

左邊這張是樣本各個點的資料集,那麼我們利用機器學習的線性回歸模型繪製出來的如右圖所示。

根據已有的點 通過調整w和b的值 讓損失函式(所有**值和真實值之間差值的平方和)的值最小,這就是線性回歸做的事情。

可見上式是乙個二次方程,那麼它的函式曲線就是乙個有開口的,有對稱軸的曲線

梯度下降的原理就是在曲線上取任意點,對所在點的位置求導得到k,代入下式中

position - a *k

然後移動a*k個單位,若所在點在最小值點的右側 ,那麼它的導數會逐漸的減小,移動的距離也越小

梯度下降的時間空間複雜度都相對比較高,一般應用於有多個特徵值的時候使用.

(x*w-y)^2 想要獲得這個公式的極小值 需要求導並零導數為0

注意: 這裡的變數是w(我們想知道的是什麼樣的w能夠使得 函式有最佳擬合)

#

求導(x*w-y)^2

2(x*w-y)*x =0

注意:這裡是乙個復合函式的求導

#x^2 a*x+b

求導後得:

x*w=y

這裡的x是乙個矩陣,要計算矩陣就不能簡單的把x除過去了,必須要求得x的逆矩陣,通過逆矩陣與x做點乘得1,把x消去求得w

那麼首先要確保 做 逆矩陣的 矩陣 是方陣 才可以求逆矩陣

所以要乘以x的轉置(任意矩陣和自己的 轉置矩陣 相乘 得到的是乙個方陣)

(x.t*x)^-1*x.t*x*w=(x.t*x)^-1*x.t*y

import

numpy as np

x = np.random.randint(0,10,size=(2,3))

array([[4, 1, 2],

[5, 1, 4]])

x.t

#行變成 列 就是 矩陣的轉置

#任意矩陣和自己的 轉置矩陣 相乘 得到的是乙個方陣

np.dot(x,x.t)

#linalg 線性代數 linear algerithm

np.linalg.inv(np.dot(x,x.t))

a = np.array([[21, 29],

[29, 42]])

b = np.array([[ 1.02439024, -0.70731707],

[-0.70731707, 0.51219512]])

np.dot(a,b)

#趨近於1,趨近於0

array([[1.00000001e+00, 1.00000009e-08],

[2.00000003e-08, 1.00000001e+00]])

得w=(x.t*x)^-1*x.t*y

那麼 我們對這個推導出來的公式進行一次測試

2*x1+3*x2=5

1*x1+1*x2=4

1*x1-1*x2=10

x2 = -3

x1 = 7

x =np.array([

[2,3],

[1,1],

[1,-1]

])

y = np.array([5,4,10])

a =np.linalg.inv(np.dot(x.t,x))

b =np.dot(a,x.t)

np.dot(b,y)

得 array([ 7., -3.])

from sklearn.linear_model import

linearregression

lr = linearregression() #

使用模型的建構函式 來建立乙個新的模型

lr.fit(x,y)

lr.coef_

線性回歸演算法 1 簡單線性回歸原理

一類機器學習演算法的思路 通過分析問題,找到問題的損失函式或者效用函式,通過最優化損失函式或者效用函式,確定機器學習的演算法模型 如圖所示,對於樣本,求一條擬合曲線 y ax b hat 為 的某個樣本 x 的 值,而 y 為樣本的真實值。我們希望 hat 和 y 的差距盡量小 y hat 2 此處...

線性回歸演算法原理及實現

我們之前介紹了幾種機器學習演算法,這些機器學習演算法都是用來進行分類的。今天換換口味,我們來了解一下如何進行回歸,回歸是基於已有的資料對新的資料進行 比如 產品銷量。我們來看看最簡單的線性回歸,基於標準的線性回歸,可以擴充套件出更多的線性回歸演算法,比如基於核函式的區域性加權線性回歸,lasso等。...

線性回歸模型原理及推導

今天我們來看乙個最常見的機器學習模型 線性回歸 linear regression 模型。先舉個例子讓你明白什麼是線性回歸。現在我們有房屋面積和 的一些資料,如下圖 現在我們想知道的是,如果給乙個新的房屋面積130m 能否根據已知的資料來 新的面積對應的 是多少呢?這時,線性回歸模型就派上用場了。我...