線性回歸, 最簡單的機器學習算法, 當你看完這篇文章, 你就會發現, 線性回歸是多么的簡單.
首先, 什么是線性回歸. 簡單的說, 就是在坐標系中有很多點, 線性回歸的目的就是找到一條線使得這些點都在這條直線上或者直線的周圍, 這就是線性回歸(Linear Regression).
是不是有畫面感了? 那么我們上圖片:

那么接下來, 就讓我們來看看具體的線性回歸吧
首先, 我們以二維數據為例:
我們有一組數據\(x\)和\(y\), 其中\(x\)是我們的特征, \(y\)就是我們的真實值(也就是每一個x對應的值), 我們需要找到一個\(w\)和\(b\)從而得到一條直線\(y=wx+b\), 而這條直線的\(w\)和\(b\)就是我們線性回歸所需要求的參數
那么, \(w\)和\(b\)需要怎樣求得呢? 那么我們需要先來了解一下他的機制
如我們之前所說, 我們需要這條直線使得所有的點盡可能的在直線上或者直線的兩邊, 也就是說, 我們這些\(x\)在我們直線上對應的值與我們真實的值的差盡可能的小, 即\(|y-(wx+b)|\)盡可能的小, 因此就有了我們的損失函數:
那么我們的目標就變成了使得\(L\)盡可能的小
首先我們對損失函數求導:
求解以后可得:
其中\(\overline x=\frac1n\sum^n_{i=1}x_i\)即\(\overline x\)是\(x\)的均值
而這就是我們的最小二乘法, 求解得到的\(w\)和\(b\)就是我們擬合出來的直線的參數.
那么就下來, 我們來看一看當\(X\)為多維的情況, 也就是多元線性回歸
與上面的一樣, 我們需要擬合一個直線\(w^TX+b\)使得大多數的點在直線上或者在直線周圍, 不同的是, 現在我們的\(w\)是多維的, 而我們的損失函數也就變成了
根據上面的經驗, 我們需要對損失函數求偏導, 在這里就不贅述了, 大家可以參考https://xiaoxiablogs.top/index.php/機器學習/least-square-method.html
以上, 就是我們的線性回歸以及使用最小二乘法求線性回歸了
