機器學習-----線性迴歸淺談(Linear Regression)
轉自:https://www.cnblogs.com/GuoJiaSheng/p/3928160.html
Linear Regreesion
在現實生活中普遍存在著變數之間的關係,有確定的和非確定的。確定關係指的是變數之間可以使用函式關係式表示,還有一種是屬於非確定的(相關),比如人的身高和體重,一樣的身高體重是不一樣的。
線性迴歸:
1: 函式模型(Model):
假設有訓練資料
那麼為了方便我們寫成矩陣的形式
2: 損失函式(cost):
現在我們需要根據給定的X求解W的值,這裡採用最小二乘法。
a.最小二乘法:
何為最小二乘法,其實很簡單。我們有很多的給定點,這時候我們需要找出一條線去擬合它,那麼我先假設這個線的方程,然後把資料點代入假設的方程得到觀測值,求使得實際值與觀測值相減的平方和最小的引數。對變數求偏導聯立便可求。
因此損失代價函式為:
3: 演算法(algorithm):
現在我們的目的就是求解出一個使得代價函式最小的W:
a.矩陣滿秩可求解時(求導等於0):
b.矩陣不滿秩時(梯度下降):
梯度下降演算法是一種求區域性最優解的方法,對於F(x),在a點的梯度是F(x)增長最快的方向,那麼它的相反方向則是該點下降最快的方向,具體參考wikipedia。
原理:將函式比作一座山,我們站在某個山坡上,往四周看,從哪個方向向下走一小步,能夠下降的最快;
注意:當變數之間大小相差很大時,應該先將他們做處理,使得他們的值在同一個範圍,這樣比較準確。
1)首先對θ賦值,這個值可以是隨機的,也可以讓θ是一個全零的向量。
2)改變θ的值,使得J(θ)按梯度下降的方向進行減少。
描述一下梯度減少的過程,對於我們的函式J(θ)求偏導J:
Repeat until convergence:{
下面是更新的過程,也就是θi會向著梯度最小的方向進行減少。θi表示更新之前的值,-後面的部分表示按梯度方向減少的量,α表示步長,也就是每次按照梯度減少的方向變化多少。
}
假設有資料集D時:
對損失函式求偏導如下:
使用矩陣表示(方便計算)
從概率層面解釋-迴歸模型的目標函式:
基本上每個模型都會有一個對應的目標函式,可以通過不同的最優化求解方法(梯度下降,牛頓法等等)對這些對應的目標函式進行求解。線性迴歸模型,我們知道實際上是通過多個自變數對自變數進行曲線擬合。我們希望找到一條可以較好擬合的曲線,
那我們如何判斷一條曲線的擬合程度的好壞。上面講到,我們採用的是最小二乘法(預測值和真實值得誤差的平方和),那為什麼要用這個作為目標函式呢?
可以從中心極限定理、高斯分佈來分析:
1.中心極限定理:
設有n個隨機變數,X1,X2,X3,Xn,他們之間相互獨立,並且有相同的數學期望和均值。E(X)=u;D(x)=δ2.令Yn為這n個隨機變數之和。
Zn為X這幾個變數的規範和。
2.高斯分佈
假的給定一個輸入樣本x,我們得到預測值和真實值間的存在的誤差e,那麼他們的關係如下:
而這裡,我們就可以假設e服從標準的高斯分佈。
為什麼呢?迴歸模型的最終目標是建立自變數x和y之間的關係,我們希望通過x可以較為準確的表示結果y。而在實際應用場景中,很難甚至不可能把導致y結果的所有變數(特徵)都找到,放到迴歸模型裡面。
我們只存放那些認為比較重要的特徵。根據中心極限定理,把那些對結果影響比較小的(假設獨立分佈)之和認為是符合正態分佈是合理的。
那麼x和y的條件概率:
那麼知道一條樣本的概率,我們就可以通過極大估計求似然函式,優化的目標函式如下:
通過取對數我們可以發現極大似然估計的目標函式和最小平方誤差是一樣。
在概率模型中,目標函式的極大和極小與極大似然估計是等價的。
假設隨機變數為Y,和普通變數x存在相關關係,由於Y是隨機變數,對於x的各個確定值,Y有它的分佈(高斯)。
假設為:
使用極大似然估計可求解。
我們知道對於下面公式:
y為隨機變數,在c=E(y)時達到最小,這表明以E(y)作為y的近似是最好的。
從菜鳥走向大神,這是道路。
相關文章
- 通俗理解線性迴歸(Linear Regression)
- 線性迴歸(Linear Regression)演算法優缺點演算法
- 機器學習:線性迴歸機器學習
- 大資料分析筆記 (4.1) - 線性迴歸分析(Linear Regression)大資料筆記
- 機器學習之線性迴歸機器學習
- 機器學習:線性迴歸(下)機器學習
- 機器學習整理(線性迴歸)機器學習
- 機器學習 | 線性迴歸與邏輯迴歸機器學習邏輯迴歸
- 線性迴歸——lasso迴歸和嶺迴歸(ridge regression)
- 【深度學習基礎-13】非線性迴歸 logistic regression深度學習
- 【機器學習】線性迴歸預測機器學習
- 機器學習5-線性迴歸機器學習
- 【機器學習】線性迴歸python實現機器學習Python
- 【機器學習】線性迴歸原理介紹機器學習
- 【機器學習】線性迴歸sklearn實現機器學習
- 機器學習實戰(一)—— 線性迴歸機器學習
- 機器學習回顧篇(3):線性迴歸機器學習
- 機器學習之線性迴歸(純python實現)機器學習Python
- 機器學習--線性迴歸--梯度下降的實現機器學習梯度
- 機器學習入門:多變數線性迴歸機器學習變數
- 手擼機器學習演算法 - 線性迴歸機器學習演算法
- 【機器學習筆記】:大話線性迴歸(二)機器學習筆記
- 【機器學習筆記】:大話線性迴歸(一)機器學習筆記
- 模式識別與機器學習——迴歸的線性模型模式機器學習模型
- TensorFlow.NET機器學習入門【2】線性迴歸機器學習
- 林軒田機器學習基石課程學習筆記9 — Linear Regression機器學習筆記
- 機器學習——線性迴歸-KNN-決策樹(例項)機器學習KNN
- 機器學習-cs229-線性迴歸-泰勒展開法機器學習
- 從零開始學機器學習——線性和多項式迴歸機器學習
- 機器學習入門學習筆記:(2.1)線性迴歸理論推導機器學習筆記
- 有監督學習——線性迴歸
- 吳恩達機器學習筆記 —— 3 線性迴歸回顧吳恩達機器學習筆記
- [DataAnalysis]機器學習演算法——線性模型(邏輯迴歸+LDA)機器學習演算法模型邏輯迴歸LDA
- 機器學習(課堂筆記)Day04:線性迴歸法機器學習筆記
- 吳恩達機器學習系列1——單變數線性迴歸吳恩達機器學習變數
- 通用機器學習演算法:線性迴歸+決策樹+Xgboost機器學習演算法
- 機器學習程式碼筆記-2-簡單線性迴歸機器學習筆記
- 機器學習-樹迴歸機器學習