1. 程式人生 > >1.線性迴歸的推導--梯度下降法

1.線性迴歸的推導--梯度下降法

1.線上性迴歸問題中,我們通常使用下面公式來擬合訓練集:


其中,為特徵向量的個數;

2.如圖假設x是二維的,則有



3.我們可以將損失函式表示為:


4.  我們將目標函式轉成求損失函的最小值,該問題已經轉換成了最小二乘問題,因此我們可以使用梯度下降法對求最小值。

      1) 首先,為了簡化問題,我們假設只有一組樣本,即m=1,對求偏導有:

2).其梯度下降的迭代公式可表示為:


其中,a表示學習率,這裡做一個不嚴謹的類比,假設你在爬山,這會兒正在下山的圖中,那麼你朝著哪個方向下降速度會最快呢?答案顯然是,梯度方向(本例為),a就是你要邁的步子長度。注意:通常a是手動設定的,若a值設的太小,會導致步子邁的太小,你將花較長的時間下山,也就是函式要花很長的時間才能收斂;若a值設的過大,你的演算法可能會邁過最小值,因為你的步子太大了。

5. 我們將3中所求的梯度下降演算法推廣到n維,則其可以寫成:

6.注意:當你使用梯度下降的時候,當你接近區域性最小值的時候,步子會越來越小,最終直到收斂,原因是你在更新的時候,

你會減去乘以梯度,當你達到區域性最小值的時候,梯度也減為0,當你接近區域性最小值的時候,在區域性最小值處梯度是0,

也就是當你梯度下降的每一步都會自動的變得越來越小。

以上所講述的演算法稱為批梯度下降演算法

7.該演算法的缺陷:每次計算都需要遍歷整個訓練集合 ,因為你需要對你的m個訓練樣本進行求和,當我們遇到非常大的 訓練集

合的時候,這種演算法就顯得的不合適了。所以當你有一個很大的訓練集合的時候,那麼你應該使用另外一個稱之為隨機梯度下降的演算法,

亦稱為增量梯度演算法,可表示為:


隨機梯度下降演算法的優點:你不需要在遍歷所有的樣本,提升了收斂速度。所以對大規模的訓練集合,建議使用隨機梯度下降演算法。

隨機梯度下降演算法的缺點:隨機梯度下降演算法,不會精確的收斂到全域性的最小值,但是會逼近最小值,通常達到這個精度就可以了。

8. 現在我們回到我們的問題,我們要計算的問題已經轉化成了損失函式最小化,因此下面我們將開始證明線性迴歸問題:

8.1  回顧下幾個概念:

所以,可以將梯度下降表示為:


若f表示矩陣到實數的對映,則有:


8.2矩陣跡的性質:

1)     設A是n*n方陣,則A的跡為對角陣之和:

8.2.定義一個設計矩陣x,將其定義成包含了訓練集中所有輸入的矩陣:

1.1  定義 代表所有的訓練集合中資料的目標值


相關推薦

斯坦福大學機器學習筆記——多變數的線性迴歸以及梯度下降注意事項(內有程式碼)

在前面部落格中介紹了單變數線性迴歸的實現過程,本文將介紹多變數線性迴歸演算法。 兩者的對比如下: 1.資料方面的差異: 單變數線性迴歸資料: 多變數線性迴歸資料: 對於單變數線性迴歸來說,只有一個特徵(房子的大小),而對於多變數線性特徵迴歸特徵

1.線性迴歸推導--梯度下降

1.線上性迴歸問題中,我們通常使用下面公式來擬合訓練集: 其中,為特徵向量的個數; 2.如圖假設x是二維的,則有 3.我們可以將損失函式表示為: 4.  我們將目標函式轉成求損失函的最小值,該問題已經轉換成了最小二乘問題,因此我們可以使用梯度下降法對求最

機器學習--吳恩達(線性迴歸梯度下降,正規方程

本節課是對監督學習的講解,ng以自動駕駛為例,告訴我們汽車對方向的預測是連續值,故而是迴歸問題。 什麼是迴歸問題?(regression) 確定兩種或兩種以上變數相互依賴的定量關係的一種統計分析方法 迴歸與分類問題的不同 迴歸與分類都屬於預測問題,而回歸預測的結果是連續的值

《機器學習實戰》學習筆記(四)之Logistic(上)基礎理論及演算法推導線性迴歸梯度下降演算法

轉載請註明作者和出處:http://blog.csdn.net/john_bh/ 執行平臺: Windows Python版本: Python3.6 IDE: Sublime text3 一、概述 Logistic迴歸是統計學習中的經典

Machine Learning(Stanford)| 斯坦福大學機器學習筆記--第二週(1.多元線性迴歸及多元線性迴歸梯度下降

一.Multivariate Linear regression(多元線性迴歸) 現在起將開始介紹一種新的更為有效的線性迴歸形式。這種形式適用於多個變數或者多特徵量的情況。 在之前學習過的線性迴歸中

線性迴歸梯度下降講解與程式碼

本文也是根據吳恩達機器學習課程作業的答案。 迴歸:預測值是連續的; 分類:預測值是離散的; 建模誤差:預測值與實際值之間的差距; 目標:選擇模型引數,使得建模誤差的平方和能夠最小,即代價函式最小; 代價函式:選擇平方誤差函式,是解決迴歸問題最常用的手段;代價函式是幫助我們選擇最優

斯坦福CS229機器學習課程筆記一:線性迴歸梯度下降演算法

機器學習三要素 機器學習的三要素為:模型、策略、演算法。 模型:就是所要學習的條件概率分佈或決策函式。線性迴歸模型 策略:按照什麼樣的準則學習或選擇最優的模型。最小化均方誤差,即所謂的 least-squares(在spss裡線性迴歸對應的模組就叫OLS即Ordinary Least Squares):

機器學習入門 線性迴歸梯度下降

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

線性迴歸梯度下降演算法與 tensorflow

舉個栗子 考慮一個二手房交易記錄資料集. 已知房屋面積,臥室數量和交易價格: 根據這個資料集,要求我們估算當前某個給定房屋價格. 我們應該怎麼做? 線性迴歸 迴歸就是根據已知資料來預測另一個數值型資料的目標值. 假設特徵和結果滿足線性關係: h(x

Tensorflow環境下 線性迴歸梯度下降)的練手例項(完整原始碼+說明)

Tensorflow 入門篇-最小二乘法的線性迴歸演算法    本文將藉助Tensorflow來實現最小二乘法的線性迴歸演算法。    大體的思路:首先生成隨機紊亂的資料集,然後構建線性迴歸的Graph,最後在Session中迭代train器,得到擬合的引數w和b,最後畫出擬

機器學習入門:線性迴歸梯度下降(附matlab程式碼)

 本文會講到: (1)線性迴歸的定義 (2)單變數線性迴歸 (3)cost function:評價線性迴歸是否擬合訓練集的方法 (4)梯度下降:解決線性迴歸的方法之一 (5)feature scaling:加快梯度下降執行速度的方法 (6)多變數線性迴歸 Linea

線性迴歸梯度下降演算法詳解

一、線性迴歸問題   迴歸最簡單的定義是,給出一個點集D,用一個函式去擬合這個點集,並且使得點集與擬合函式間的誤差最小,如果這個函式曲線是一條直線,那就被稱為線性迴歸,如果曲線是一條二次曲線,就被稱為二次迴歸。   總的來說,迴歸的目的就是建立一個迴歸方程用

機器學習:單變數線性迴歸梯度下降

***************************************** 注:本系列部落格是博主學習Stanford大學 Andrew Ng 教授的《機器學習》課程筆記。博主深感學過課程後,不進行總結很容易遺忘,根據課程加上自己對不明白問題的補充遂有此係列部落格。

【機器學習】【線性迴歸梯度下降的三種方式(BGD+SGD+MSGD)以及三種調優方法(加快收斂速度)

1.梯度下降演算法梯度下降演算法的核心思路和公式推導,可以詳見前面的文章:梯度下降演算法的核心思路和公式推導如果代價函式是凸函式,用梯度下降演算法一定可以求得最優解。2.梯度下降的三種方式在ML中,梯度下降有三種方式:1)批量梯度下降(Batch Gradient  Desc

線性迴歸梯度下降

線性迴歸(Linear Regression) 從這篇文章開始,主要介紹機器學習的一些列基本演算法,本文介紹線性迴歸問題,以及利用最小均方和梯度下降解決線性迴歸問題。 (以下內容是根據斯坦福大學ng教授的機器學習公開課總結的內容) 監督學習:即訓練資料中既包含了輸入資

【機器學習詳解】線性迴歸梯度下降、最小二乘的幾何和概率解釋

線性迴歸 即線性擬合,給定N個樣本資料(x1,y1),(x2,y2)....(xN,yN)其中xi為輸入向量,yi表示目標值,即想要預測的值。採用曲線擬合方式,找到最佳的函式曲線來逼近原始資料。通過使得代價函式最小來決定函式引數值。 採用斯坦福大學公開課的

邏輯迴歸梯度下降

轉載自:http://www.cnblogs.com/yysblog/p/3268508.html 一、邏輯迴歸 1) Classification(分類) 分類問題舉例: 郵件:垃圾郵件/非垃圾郵件?線上交易:是否欺詐(是/否)?腫瘤:惡性/良性? 以上問題可以

第一個機器學習演算法:線性迴歸梯度下降

# 第一個機器學習演算法:線性迴歸與梯度下降 ## 符號解釋 * $x^{(i)}$,$y^{(i)}$:某個訓練樣本 * $m$:樣本總數量 * $h_{\theta}$:假設函式 ## Linear regression(線性迴歸) ### 如何獲得一個線性迴歸模型? * 將**訓練資料**放入

機器學習(二):理解線性迴歸梯度下降並做簡單預測

# 預測從瞎猜開始 按[上一篇文章](https://mp.weixin.qq.com/s/-KsbtgOc3C3ry-8P5f8K-Q)所說,機器學習是應用數學方法在資料中發現規律的過程。既然數學是對現實世界的解釋,那麼我們迴歸現實世界,做一些對照的想象。 想象我們面前有一塊塑料泡沫做的白板,白板上

Stanford機器學習課程(Andrew Ng) Week 1 Parameter Learning --- 線性迴歸中的梯度下降

本節將梯度下降與代價函式結合,並擬合到線性迴歸的函式中 這是我們上兩節課得到的函式,包括: 梯度下降的公式 用於擬合的線性假設和h(x) 平方誤差代價函式 J