機器學習實戰之線性回歸

2021-09-20 01:23:02 字數 1383 閱讀 4913

之前我們學習的機器學習演算法都是屬於分類演算法,也就是**值是離散值。當**值為連續值時,就需要使用回歸演算法。本文將介紹線性回歸的原理和**實現。

如圖所示,這時一組二維的資料,我們先想想如何通過一條直線較好的擬合這些散點了?直白的說:盡量讓擬合的直線穿過這些散點(這些點離擬合直線很近)。

目標函式

要使這些點離擬合直線很近,我們需要用數學公式來表示。首先,我們要求的直線公式為:y = xtw。我們這裡要求的就是這個w向量(類似於logistic回歸)。誤差最小,也就是**值y和真實值的y的差值小,我們這裡採用平方誤差:

求解我們所需要做的就是讓這個平方誤差最小即可,那就對w求導,最後w的計算公式為:

我們稱這個方法為ols,也就是「普通最小二乘法」

資料情況

我們首先讀入資料並用matplotlib庫來顯示這些資料。

回歸演算法

這裡直接求w就行,然後對直線進行視覺化。

def standregres(xarr,yarr):

x = mat(xarr);y = mat(yarr).t

xtx = x.t * x

if linalg.det(xtx) == 0:

print('不能求逆')

機器學習實戰之線性回歸

線性回歸原理與推導 如圖所示,這時一組二維的資料,我們先想想如何通過一條直線較好的擬合這些散點了?直白的說 盡量讓擬合的直線穿過這些散點 這些點離擬合直線很近 目標函式 要使這些點離擬合直線很近,我們需要用數學公式來表示。首先,我們要求的直線公式為 y xtw。我們這裡要求的就是這個w向量 類似於l...

線性回歸 機器學習實戰筆記

前言 剛開始看到線性回歸,總覺得這是不是和羅輯回歸又啥關係。對比一下吧。線性回歸用於數值 羅輯回歸用於分類。對於羅輯回歸 來說,用於分類的神經網路的最後一層也是乙個羅輯回歸。線性回歸 線性回歸比較簡單,找到一條最佳直線來擬合資料。擬合的目標可以是均方誤差最小。求最優的線性回歸直線的解法就是使用最小二...

機器學習之線性回歸

訓練樣例 x y 輸入變數 特徵 x ps n 1行,1 列 輸出變數 目標變數 y訓練樣例總數 m 特徵維度 n第 i 個訓練樣例 x i y i 所有訓練樣例的輸入變數組成的矩陣 x ps m行,n 1 列,每行是 x i t 所有訓練樣例的輸出變數組成的矩陣 y ps m行,1 列 下表是某地...