1. 程式人生 > >機器學習--吳恩達(線性迴歸,梯度下降,正規方程法)

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

本節課是對監督學習的講解,ng以自動駕駛為例,告訴我們汽車對方向的預測是連續值,故而是迴歸問題。

什麼是迴歸問題?(regression)

確定兩種或兩種以上變數相互依賴的定量關係的一種統計分析方法

迴歸與分類問題的不同

迴歸與分類都屬於預測問題,而回歸預測的結果是連續的值,而分類的結果是離散的值。迴歸問題的要求就是:給定一個模式,根據訓練集推斷它所對應的輸出的y值是多少。也就是使用y=g(x)來推斷任一輸入x所對應的輸出值,分類問題是:給定一個新的模式,根據訓練集推斷它所對應的類別(如:+1-1)。也就是使用y=sign(g(x))來推斷任一輸入x所對應的類別。綜上,迴歸問題和分類問題的本質一樣,不同僅在於他們的輸出的取值範圍不同。分類問題中,輸出只允許取兩個值;而在迴歸問題中,輸出可取任意實數。

線性迴歸(Linear Regression)

統計學中,線性迴歸(Linear Regression)是利用稱為線性迴歸方程的最小平方函式對一個或多個自變數和因變數之間關係進行建模的一種迴歸分析。

邏輯迴歸(Logistic regression)

邏輯迴歸的模型 是一個非線性模型,sigmoid函式,又稱邏輯迴歸函式。但是它本質上又是一個線性迴歸模型,因為除去sigmoid對映函式關係,其他的步驟,演算法都是線性迴歸的。邏輯迴歸線上性迴歸的基礎上,用了這個邏輯函式。



線性迴歸問題舉例

m:訓練資料的大小。x表示輸入變數,是向量,y表示輸出變數,是實數,(x,y)是一個訓練例項,(x(i),y(i))表示第i個訓練例項。

如果用線性問題解決,假設函式如下:


m是樣例的數目,我們找出使這個函式最小的引數值,就得到了擬合訓練集的最佳引數。

優化引數

梯度下降(gradient descent)

Gradient descent 又叫 steepest descent,是利用一階的梯度資訊找到函式區域性最優解的一種方法,也是機器學習裡面最簡單最常用的一種優化方法.

 更新規則:

運用這個規則直到收斂,就是批梯度下降演算法(batch gradient descent)。其
中,收斂的判斷有兩種規則,一是判斷兩次迭代後引數的變化,二是判斷兩次迭
代後目標函式的變化;規則中的α是學習速率,這個需要在實踐中進行調整,其
值過小會導致迭代多次才能

收斂,其值過大會導致越過最優點發生震盪現象

資料量較大時,每迭代一次就要遍歷全部資料一次,
這樣會使得執行變成龜速。為了解決這個問題,一般採用如下的方法:

Repeat Until Converge{
For i=1 to m{
? ? ≔ ? ? − α(ℎ ? (? (?) ) − ? (?) )? ?
(?)(for every j)
}
}
意為更新引數時,不必遍歷整個資料集,只需要一個例項便足夠了。該演算法
可以達到很高的效果,但是會導致遍歷次數增多,不能精確收斂到最優值等問題。
該方法被稱為增量梯度下降(incremental gradient descent)或隨機梯度下降
(stochastic gradient descent)。

正規方程法

最小二乘法可以將誤差方程轉化為有確定解的代數方程組(其方程式數目正好等於未知數的個數),從而可求解出這些未知引數。這個有確定解的代數方程組稱為最小二乘法估計的正規方程(或稱為法方程)。

梯度下降演算法是求目標函式最優值的一種解法,對於上類問題,我們可以直接求出引數值而不用迭代的方法,這就是正規方程法。

如果定義函式f(A)為:

則有



定義一個矩陣,作為設計矩陣,表示樣本輸入,xθ

得到結果後,我們令導數為0,得到:


參考資料

迴歸問題:http://blog.csdn.net/omenglishuixiang1234/article/details/50247143

正規方程法:http://blog.csdn.net/hahajinbu/article/details/49904665

相關推薦

機器學習--線性迴歸梯度下降正規方程

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

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

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

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

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

機器學習 】CS229課程筆記notes1翻譯-Part I線性迴歸

CS229課程筆記 吳恩達 監督學習       讓我們開始談論一些監督學習的例子。假定我們有一個數據集,給出俄勒岡州波特蘭地區47套房屋的居住面積和價格:       我們可以在圖上畫出這些點:       根據這些資料,我們怎麼學習預測波特蘭地區其他房屋的價格,看

機器學習------Week1機器學習概述與單變量線性回歸方程分析

行數 操作 相加 vision 強化學習 machine 其余 tro ram 機器學習概述 Machine Learning: Grew out of work in AI & New capability for computers Examples:

機器學習-線性回歸筆記1

設置 裏的 更新 sha names value p s itl inf 回歸問題的思想(1)先找到損失函數,(2)求損失函數最小化後的參數 假設我們的數據是(m,n)有m行數據,n個特征(feature) 則我們預測函數為 : 寫成向量形式為(xo=1):

機器學習 課程筆記自用持續更新

機器學習 吳恩達 簡介 本筆記為自用筆記,因此只記錄了自己覺得重要的部分,所以不建議想要系統學習的人閱讀此筆記。 緒論 監督學習 我們給演算法一個數據集,其中包含了正確的答案,目的為給出更多的正確答案 “迴歸問題”:regression “分類問題”:cla

機器學習 】CS229課程筆記notes1翻譯-Part II分類和logistic迴歸

CS229 課程筆記 吳恩達 Part II  分類和logistic迴歸       我們現在談論分類問題。分類問題與迴歸問題類似,區別是在分類問題中,我們現在想要預測的y值只取少量的離散值。現在,我們聚焦於二值分類問題,y只取兩個值,0和1。(我們在這裡說的大多數

機器學習--正規方程多變量回歸公式

com .cn bsp 學習 http ria family mage -1 矩陣的跡 A為nXn的矩陣 機器學習-吳恩達-正規方程多變量回歸公式

coursera-斯坦福-機器學習--筆記week2

線性 歸一化 有變 擬合 分享 選擇 多元線性回歸 縮放 轉置 1 多元線性回歸 1.1 假設函數 多元線性回歸是指有多個特征特征變量的情況。此時我們修改假設函數hθ(x)=θ0+θ1?x為hθ(x)=θ0+θ1x1+θ2x2+?+θnxn。設x0=1,x為特征向量,θ為參

coursera-斯坦福-機器學習--筆記week3

發生 足夠 bfgs clas 方法 技術 影響 限制 分享 1 邏輯回歸 1. classification 分類 eg:垃圾郵件分類、交易是否是欺詐、腫瘤類別。分類的結果是離散值。 2. sigmoid函數   使用線性方法來判斷分類問題,會出現上圖中的問題,需要

機器學習 | 機器學習第四周程式設計作業(Python版本)

實驗指導書       下載密碼:u8dl 本篇部落格主要講解,吳恩達機器學習第四周的程式設計作業,作業內容主要是對手寫數字進行識別,是一個十分類問題,要求使用兩種不同的方法實現:一是用之前講過的邏輯迴歸實現手寫數字識別,二是用本週講的神經網路實現手寫數字

機器學習 | 機器學習第四周學習筆記

課程視訊連結 第四周課件       下載密碼:kx0q 上一篇部落格主要介紹了第三週的課程的內容,主要講解分類問題,引入了邏輯迴歸模型來解決分類問題,並詳細的介紹了邏輯迴歸模型的細節,包括假設函式,代價函式,優化求解方法包括之前學習的梯度下降法和更高

機器學習 | 機器學習第二週程式設計作業(Python版

實驗指導書   下載密碼:hso0 本篇部落格主要講解,吳恩達機器學習第二週的程式設計作業,作業內容主要是實現單元/多元線性迴歸演算法。實驗的原始版本是用Matlab實現的,本篇部落格主要用Python來實現。   目錄 1.實驗包含的檔案 2.單元

機器學習 | 機器學習第三週程式設計作業(Python版)

實驗指導書  下載密碼:fja4 本篇部落格主要講解,吳恩達機器學習第三週的程式設計作業,作業內容主要是利用邏輯迴歸演算法(正則化)進行二分類。實驗的原始版本是用Matlab實現的,本篇部落格主要用Python來實現。   目錄 1.實驗包含的檔案 2.使用邏

機器學習 | 機器學習第六週學習筆記

課程視訊連結 第六週PPT  下載密碼:zgkq 本週主要講解了如何設計機器學習系統和如何改進機器學習系統,包括一些模型選擇的方法,模型效能的評價指標,模型改進的方法等。 目錄 一、應用機器學習建議 1.決定下一步做什麼 2.評估假設函式 3.模型選擇和訓練、驗

機器學習 | 機器學習第八週學習筆記

課程視訊連結 第八週PPT 下載密碼:qedd 上週主要講解了支援向量機SVM的原理包括優化目標、大間隔以及核函式等SVM核心內容,以及SVM的使用。本週主要講解經典的無監督聚類演算法k-means,包括k-means的優化目標,原理以及一些引數設定細節;和降維演算法PCA的原理,

機器學習 | 機器學習第八週程式設計作業(Python版

實驗指導書   下載密碼:higl 本篇部落格主要講解,吳恩達機器學習第八週的程式設計作業,主要包含KMeans實驗和PCA實驗兩部分。原始實驗使用Matlab實現,本篇部落格提供Python版本。 目錄 1.實驗包含的檔案 2.KMeans實驗 3.K-me

機器學習 | 機器學習第七週程式設計作業(Python版)

實驗指導書  下載密碼:a15g 本篇部落格主要講解,吳恩達機器學習第七週的程式設計作業,包含兩個實驗,一是線性svm和帶有高斯核函式的svm的基本使用;二是利用svm進行垃圾郵件分類。原始實驗使用Matlab實現,本篇部落格提供Python版本。   目錄 1.

機器學習 | 機器學習第七週學習筆記

課程視訊連結 第七週PPT 下載密碼:tmss 上週主要講解了如何設計機器學習系統和如何改進機器學習系統,包括一些模型選擇的方法,模型效能的評價指標,模型改進的方法等。本週主要講解支援向量機SVM的原理包括優化目標、大間隔以及核函式等SVM核心內容,以及SVM的使用。 &nbs