1. 程式人生 > >梯度下降法,最小二乘法求線性迴歸

梯度下降法,最小二乘法求線性迴歸

一.梯度下降法:

我們假設迴歸函式為:

        這裡x0 = 1.

定義迴歸函式和實際值之間差的均方和為損失函式:

      ,m為樣本數量

我們的目的是求出使損失函式最小的引數的值。求最小值,對於每個引數,求出梯度並使梯度等於0,此時的即為對於引數來說,損失函式最小。

是包含所有引數的一維向量,我們先初始化一個,在這個值之上,用梯度下降法去求出下一組的值,由於是梯度下降的,所以損失函式的值在下降。當迭代到一定程度,的值趨於穩定,此時的即為要求得的值。

迭代函式如下:

     每次迭代,我們用當前的求出求出等式右邊的值,並覆蓋得到迭代後的值。

這裡

       

二. 隨機梯度下降法(stochastic gradient descent)和批梯度下降法(batch gradient descent)

       隨機梯度下降法和批梯度下降法是對於多樣本迭代的兩種策略,其中,隨機梯度下降法是在每一次迭代中,隨機的選擇m個樣本來求取的值,而批梯度下降法在每次迭代中,需要先求出所有樣本的梯度值。相比之下,隨機梯度下降法高效。

A. 隨機梯度下降法:

     Repeat{

            for i = 1 to m{

                     對於每一個j進行操作

            }

     }

    這裡的m為隨機選擇的m個樣本。

B. 批梯度下降法:

      Repeat 直到收斂{

               對於每一個j進行操作

      }

      這裡的m為整個樣本數。需要先求出在本次迭代中整個樣本關於j的導數和,再計算出,對於大樣本,很耗時。

三.最小二乘法

A. 需要用到的公式

      首先我們定義為一個m*n矩陣,它在(i,j)上的元素值為。定義n*n的方矩陣A的跡trA為

              

      我們可以證明trABCD = trDABC = trCDAB = trBCDA

      同時,下面兩個公式也可以證明:

              

B. 最小二乘法求線性迴歸

       對於m個樣本,每個樣本的n個特徵值可以表示為一維列向量Xi,則m個樣本,可以組成樣本矩陣m*(n+1),其中的1為常量引數:

        這裡每一行為一個樣本的特徵向量;

        我們設Y向量為樣本特徵值對應的目標值,則:

        

        由於,我們可以得到:

         

        到這裡,我們需要求X-Y的平方和,假設各個特徵之間是相互獨立的,則(X-Y)轉置*(X-Y)可以得到除了對角線之外都為0的矩陣,而對角線上的值,為X-Y的平方值。於是有:

        

         對矩陣求導的:

          

      令求導函式等於0,此時

         

     於是:

          

相關推薦

梯度下降乘法線性迴歸

一.梯度下降法: 我們假設迴歸函式為:         ,這裡x0 = 1. 定義迴歸函式和實際值之間差的均方和為損失函式:       ,m為樣本數量 我們的目的是求出使損失函式最小的引數的值。求最小值,對於每個引數,求出梯度並使梯度等於0,此時的即為對於引數來說,損失

乘法線性迴歸方程

四組數 (1,2)(2,4)(3,5)(4,7)x平均=(1+2+3+4)/4=2.5y平均=(2+4+5+7)/4=4.5b=(53-4*2.5*4.5)/(30-4*2.5²)=8/5=1.6a=4.5-1.6*2.5=0.5∴迴歸直線為y=1.6x+0.5

2018.08.28 ali 梯度下降實現

4.3 div 數量 ask pre oss 找到 1.7 二維 - 要理解梯度下降和牛頓叠代法的區別 #include<stdio.h> // 1. 線性多維函數原型是 y = f(x1,x2,x3) = a * x1 + b * x2 + c * x

Andrew Ng機器學習筆記2——梯度下降and乘擬合

今天正式開始學習機器學習的演算法,老師首先舉了一個例項:已知某地區的房屋面積與價格的一個數據集,那麼如何預測給定房屋面積的價格呢?我們大部分人可以想到的就是將畫出房屋面積與價格的散點圖,然後擬合出價格關於面積的曲線,那麼對於一個已知的房屋面積,就可以在擬合的曲線上得到預測的

【機器學習】乘法求解線性迴歸引數

回顧 迴歸分析之線性迴歸 中我們得到了線性迴歸的損失函式為: J ( θ

純數學手段實現基於乘法線性迴歸

終於,抱著興趣,我利用純數學的手段實現了基於最小二乘法的線性迴歸模型。這是我昨天的目標(今天我還沒有睡覺呢,假設我睡覺後是明天的話),那麼我明天希望能夠利用純數學手段實現基於隨機梯度下降的線性迴歸演算法模型。         下面是筆者手打的最小二乘法的數學原理,然後我們再

資料分析——乘法建立線性迴歸方程(簡單的一元線性模型為例)

概述 別看公式多,其實很簡單 最小二乘法其實又叫最小平方法,是一種資料擬合的優化技術。實質上是利用最小誤差的平方尋求資料的最佳匹配函式,利用最小二乘法可以便捷的求得未知的資料,起到預測的作用,並且是的這些預測的資料與實際資料之間的誤差平方和達到最小。一般應用在曲線擬合的目的上。 原理

[ch04-01] 用乘法解決線性迴歸問題

系列部落格,原文在筆者所維護的github上:https://aka.ms/beginnerAI, 點選star加星不要吝嗇,星越多筆者越努力。 4.1 最小二乘法 4.1.1 歷史 最小二乘法,也叫做最小平方法(Least Square),它通過最小化誤差的平方和尋找資料的最佳函式匹配。利用最小二乘法可以簡

機器學習之--梯度下降乘法線性回歸

http 線性 nbsp mat 需要 圖片 span 數據 .com o1 = 0 o2 = 0 o3 = 0 a = 0.002 x = [1,3,5,3,5,7,2,6,7,3,6,9,4,8,9,6,5,3,3,2,7,1,1,1,2,2,2,3,3,3

深度學習(3)——離散迴歸乘法

監督學習中,如果預測的變數是離散的,我們稱其為分類(svm等,得出的是類,並不是連續的數,所以是離散的),如果預測的變數是連續的,我們稱其為迴歸。在迴歸分析中, 對於一元線性迴歸模型, 假設從總體中獲取了n組觀察值(X1,Y1),(X2,Y2), …,(Xn,Yn)。對於

牛頓迭代乘法

1、牛頓迭代法 牛頓迭代法法是一種計算近似根演算法,對於給定的複雜函式f(x),常用來求該函式在給定初始值x0附近的近似根。該演算法很簡單,就是一個迭代的過程: 迭代終止條件可設為: matla

乘法與嶺迴歸的介紹與對比

一 線性迴歸(最小二乘法) 假設我們有n個樣本資料,每個資料有p個特徵值,然後p個特徵值是線性關係。 即對應的線性模型 寫成矩陣的形式即是Y=XA 由於樣本與模型不一定百分百符合,存在一些噪聲,即誤差,用B表示,B也是一個向量 即B=Y-XA Y為樣本值,XA為模型的計算

乘法AR模型

1.判斷是否為平穩序列設mean(x),var(x)分別為序列{x}的平均值和方差,根據自相關係數ACF判斷是否為平穩序列: 樣本{x}的ACF計算公式是:ACF=∑(x[i]-mean(x))*(x[i+k]-mean(x))/(n*var(x)),0<=k<N,0<=i<N-k p

乘法梯度下降有哪些區別?

https://www.zhihu.com/question/20822481 最小二乘法的目標:求誤差的最小平方和,對應有兩種:線性和非線性。線性最小二乘的解是closed-form即,而非線性最小二乘沒有closed-form,通常用迭代法求解。 迭代法,即在每一步update未知量逐漸

乘法梯度下降

        最近在網易公開課上學習Andrew Ng教授的機器學習課程,從第二講開始就雲裡霧裡了。雖然講的數學概念和公式都很眼熟,但是具體的內容又說不上來。最讓我疑惑的是最小二乘法和梯度下降法,這

機器學習筆記(一):乘法梯度下降

一、最小二乘法 1.一元線性擬合的最小二乘法 先選取最為簡單的一元線性函式擬合助於我們理解最小二乘法的原理。 要讓一條直接最好的擬合紅色的資料點,那麼我們希望每個點到直線的殘差都最小。 設擬合直線為

深度學習-24:數值計算、梯度下降乘法

深度學習-24:數值計算、梯度下降和最小二乘法 深度學習原理與實踐(開源圖書)-總目錄,建議收藏,告別碎片閱讀! 機器學習或人工智慧中會使用大量的數值計算,使用迭代演算法計算估計值來解決既定約束的數學問題,而非使用嚴格的解析過程推匯出公式來解決資料問題。 數值上

乘法原理(後):梯度下降權重引數

在上一篇推送中總結了用數學方法直接求解最小二乘項的權重引數,然而有時引數是無法直接求解的,此時我們就得藉助梯度下降法,不斷迭代直到收斂得到最終的權重引數。首先介紹什麼是梯度下降,然後如何用它求解特徵的權重引數,歡迎您的閱讀學習。 1 梯度下降 梯度是函式在

15-乘法搞不定的讓RANSAC來吧!

統計學 但是 rom 指定 車上 mat table oss div 現實生活總是充滿了雜音。記得高中時,班上某學霸喜歡戴著耳機邊聽JAY的歌邊學習,或許這樣可以幫他進入一個心如止水的境界。剛畢業那會,我也喜歡在班車上戴著耳機聽歌,似乎逃避現實是常態。把嘈雜的現實屏蔽在

#03--具體解釋乘法原理和代碼

column entry 結束 ati alt for args 集合 else 最小二乘法原理 最小二乘法的目標:求誤差的最小平方和,相應有兩種:線性和非線性。線性最小二乘的解是closed-form(例如以下文),而非線性最小二乘沒有closed-