線性迴歸, 最簡單的機器學習算法, 當你看完這篇文章, 你就會發現, 線性迴歸是多麼的簡單.php
首先, 什麼是線性迴歸. 簡單的說, 就是在座標系中有不少點, 線性迴歸的目的就是找到一條線使得這些點都在這條直線上或者直線的周圍, 這就是線性迴歸(Linear Regression).html
是否是有畫面感了? 那麼咱們上圖片:
算法
那麼接下來, 就讓咱們來看看具體的線性迴歸吧機器學習
首先, 咱們以二維數據爲例:
咱們有一組數據\(x\)和\(y\), 其中\(x\)是咱們的特徵, \(y\)就是咱們的真實值(也就是每個x對應的值), 咱們須要找到一個\(w\)和\(b\)從而獲得一條直線\(y=wx+b\), 而這條直線的\(w\)和\(b\)就是咱們線性迴歸所須要求的參數函數
那麼, \(w\)和\(b\)須要怎樣求得呢? 那麼咱們須要先來了解一下他的機制學習
如咱們以前所說, 咱們須要這條直線使得全部的點儘量的在直線上或者直線的兩邊, 也就是說, 咱們這些\(x\)在咱們直線上對應的值與咱們真實的值的差儘量的小, 即\(|y-(wx+b)|\)儘量的小, 所以就有了咱們的損失函數:spa
那麼咱們的目標就變成了使得\(L\)儘量的小htm
首先咱們對損失函數求導:blog
求解之後可得:圖片
其中\(\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
以上, 就是咱們的線性迴歸以及使用最小二乘法求線性迴歸了