1. 程式人生 > >Andrew Ng機器學習課程之學習筆記---牛頓方法

Andrew Ng機器學習課程之學習筆記---牛頓方法

牛頓方法

本次課程大綱:

1、  牛頓方法:對Logistic模型進行擬合

2、 指數分佈族

3、  廣義線性模型(GLM:聯絡Logistic迴歸和最小二乘模型

複習:

Logistic迴歸:分類演算法

假設給定x為引數的y=1y=0的概率:

求對數似然性:

對其求偏導數,應用梯度上升方法,求得:

本次課程介紹的牛頓方法是一種比梯度上升快很多的方法,用於擬合Logistic迴歸

1、 牛頓方法

假設有函式,需要找使=0的

步驟:

1)       給出一個的初始值

2)       對求導,求導數為0的值(就是求切線與x軸交點)

3)       重複步驟2

因為該點的導數值即為切線斜率,而斜率=

該點y軸的值/該點x軸的變化值,所以每次的變化值:

*使用這個方法需要f滿足一定條件,適用於Logistic迴歸和廣義線性模型

* 一般初始化為0

應用於Logistic迴歸:

求對數似然的最大值,即求0時的,根據上述推論,更新規則如下:

 

牛頓方法的收斂速度:二次收斂

每次迭代使解的有效數字的數目加倍:假設當前誤差是0.1,一次迭代後,誤差為0.001,再一次迭代,誤差為0.0000001。該性質當解距離最優質的足夠近才會發現。

牛頓方法的一般化

是一個向量而不是一個數字,一般化的公式為:

是目標函式的梯度,HHessian矩陣,規模是n*nn為特徵的數量,它的每個元素表示一個二階導數:

上述公式的意義就是,用一個一階導數的向量乘以一個二階導數矩陣的逆

優點:若特徵數和樣本數合理,牛頓方法的迭代次數比梯度上升要少得多

缺點:每次迭代都要重新計算Hessian矩陣,如果特徵很多,則H矩陣計算代價很大

2、 指數分佈族

回顧學過的兩種演算法:

對於

y屬於實數,滿足高斯分佈,得到基於最小二乘法的線性迴歸;

y{0,1},滿足伯努利分佈,得到Logistic迴歸。

問題:如Logistic迴歸中,為何選擇sigmoid函式?sigmoid函式是最自然的預設選擇。

接下來,會以這兩個演算法為例,說明它們都是廣義線性模型的特例。

考慮上述兩個分佈,伯努利分佈和高斯分佈:

1)       伯努利分佈

設有一組只能取01的資料,用伯努利隨機變數對其建模:

,則,改變引數φ,y=1這一事件就會有不同概率,會得到一類概率分佈(而非固定的)。

2)       高斯分佈

,改變引數μ,也會得到不同的高斯分佈,即一類概率分佈。

上述這些分佈都是一類分佈的特例,這類分佈稱為指數分佈族

指數分佈族的定義:

若一類概率分佈可以寫成如下形式,那麼它就屬於指數分佈族:

η - 自然引數,通常是一個實數

T(y) – 充分統計量,通常,T(y)=y,實際上是一個概率分佈的充分統計量(統計學知識)

對於給定的abT三個函式,上式定義了一個以η為引數的概率分佈集合,即改變η可以得到不同的概率分佈。

證明伯努利分佈是指數分佈族:

可知:

由上式可見,η=log(φ/(1-φ)),可解出:φ=1/(1+exp(-η)),發現得到logistic函式(之後討論其原因),則:

 

證明高斯分佈是指數分佈族:

,設方差為1(方差並不影響結果,僅僅是變數y的比例因子)

這種情況下高斯密度函式為:

可得:

 

*指數分佈族包括:

高斯分佈(正態分佈),多元正態分佈;

伯努利分佈(01問題建模),多項式分佈(對k個結果的事件建模);

泊松分佈(對計數過程建模);

伽馬分佈,指數分佈(對實數的間隔問題建模);

β分佈,Dirichlet分佈(對小數建模);

Wishart分佈(協方差矩陣的分佈)

3、 廣義線性模型GLM

選定了一個指數分佈族後,怎樣來推匯出一個GLM呢?

假設:

(1),即假設試圖預測的變數y在給定x,以θ作為引數的條件概率,屬於以η作為自然引數的指數分佈族

例:若要統計網站點選量y,用泊松分佈建模

(2) 給定x,目標是求出以x為條件的T(y)的期望E[T(y)|x],即讓學習演算法輸出h(x) = E[T(y)|x]

(3),即自然引數和輸入特徵x之間線性相關,關係由θ決定。僅當η是實數時才有意義。若η是一個向量,

推導伯努利分佈的GLM

,伯努利分佈屬於指數分佈族

對給定的xθ,學習演算法進行一次預測的輸出:

得到logistic迴歸演算法。

正則響應函式g(η) = E[y;η],將自然引數η和y的期望聯絡起來

正則關聯函式g-1

推導多項式分佈的GLM

多項式分佈是在k個可能取值上的分佈,即y{1,…,k},如將收到的郵件分成k類,診斷某病人為k種病中的一種等問題。

(1)將多項式分佈寫成指數分佈族的形式:

設多項式分佈的引數:,且,φi表示第i個取值的概率分佈,最後一個引數可以由前k-1個推匯出,所以只將前k-1視為引數。

多項式分佈是少數幾個T(y)!=y的分佈,T(1)~T(k)都定義成一個k-1維的列向量,表示為:

這樣定義T(y)是為了將多項式分佈寫成指數分佈族形式。

*定義符號:指示函式,1{.}

1{True} = 1, 1{False} = 0,即大括號內命題為真,值為1,;否則為0

例:1{2=3} = 0, 1{1+1=2} = 1

T(y)i表示T(y)的第i個元素,則T(y)i = 1{y=i}

根據引數φ的意義(φi表示第i個取值的概率分佈),可推出:

可得:

證明多項式分散式指數分佈族。

再用η表示φ:

(2)根據上述假設(3)中自然引數和輸入x的線性關係,可求得:

 

(3)根據上述假設(2)中的輸出h(x) = E[T(y)|x],可求得:

稱這種迴歸演算法為softmax迴歸,是logistic迴歸的推廣。

Softmax迴歸的訓練方法和logistic相似,通過極大似然估計找到引數θ,其對數似然性為:

再通過梯度上升或牛頓方法找對數似然性的最大值,即可求出引數θ

相關推薦

Andrew Ng機器學習課程學習筆記---牛頓方法

牛頓方法 本次課程大綱: 1、  牛頓方法:對Logistic模型進行擬合 2、 指數分佈族 3、  廣義線性模型(GLM):聯絡Logistic迴歸和最小二乘模型 複習: Logistic迴歸:分類演算法 假設給定x以為引數的y=1和y=0的概率: 求對數似然性: 對其求偏導數,應用梯度上升

Andrew Ng機器學習課程筆記(四)神經網絡

sca 優化 介紹 www 之間 output 現在 利用 href Andrew Ng機器學習課程筆記(四)之神經網絡 版權聲明:本文為博主原創文章,轉載請指明轉載地址 http://www.cnblogs.com/fydeblog/p/7365730.html 前言

Andrew Ng機器學習課程筆記(十三)無監督學習EM演算法

Preface Jensen’s Inequality(Jensen不等式) Expectation-Maximization Algorithm(EM演算法) Jensen’s Inequality 對於凸函式 令f(x)f(x)為

Andrew Ng機器學習課程筆記(十二)無監督學習K-means聚類演算法

Preface Unsupervised Learning(無監督學習) K-means聚類演算法 Unsupervised Learning 我們以前介紹的所有演算法都是基於有類別標籤的資料集,當我們對於沒有標籤的資料進行分類時,以前的方

Andrew Ng機器學習課程筆記(十六)無監督學習因子分析模型與EM演算法

Preface Marginals and Conditionals of Gaussians(高斯分佈的邊緣分佈與條件分佈) Restrictions of ΣΣ(限制協方差矩陣) Factor Analysis(因子分析模型) EM Alg

Andrew NG機器學習課程筆記系列——Introduction to Machine Learning

引言 本系列文章是本人對Andrew NG的機器學習課程的一些筆記,如有錯誤,請讀者以課程為準。 在現實生活中,我們每天都可能在不知不覺中使用了各種各樣的機器學習演算法。 例如,當你每一次使用 Google 時,它之所以可以執行良好,其中一個重要原因便是由 Google 實

【原】Coursera—Andrew Ng機器學習課程筆記 Lecture 10—Advice for applying machine learning

Lecture 10—Advice for applying machine learning   10.1 如何除錯一個機器學習演算法? 有多種方案: 1、獲得更多訓練資料;2、嘗試更少特徵;3、嘗試更多特徵;4、嘗試新增多項式特徵;5、減小 λ;6、增大 λ 為了避免一個方案一個方

【原】Coursera—Andrew Ng機器學習課程筆記 Lecture 11—Machine Learning System Design

Lecture 11—Machine Learning System Design 11.1 垃圾郵件分類 本章中用一個實際例子: 垃圾郵件Spam的分類 來描述機器學習系統設計方法。首先來看兩封郵件,左邊是一封垃圾郵件Spam,右邊是一封非垃圾郵件Non-Spam:垃圾郵件有很多features。如果我

【原】Coursera—Andrew Ng機器學習—彙總(課程筆記、測驗習題答案、程式設計作業原始碼)

一、Coursera 斯坦福機器學習課程,Andrew Ng Coursera連線不上,修改hosts檔案 機器學習工具Octave安裝(Win10環境) 課程地址和軟體下載  

【原】Coursera—Andrew Ng機器學習課程筆記 Lecture 12—Support Vector Machines 支援向量機

Lecture 12 支援向量機 Support Vector Machines 12.1 優化目標 Optimization Objective 支援向量機(Support Vector Machine) 是一個更加強大的演算法,廣泛應用於工業界和學術界。與邏輯迴歸和神經網路相比, SVM在學習複雜的非

【原】Coursera—Andrew Ng機器學習課程筆記 Lecture 14—Dimensionality Reduction 降維

Lecture 14 Dimensionality Reduction 降維 14.1 降維的動機一:資料壓縮 Data Compression 現在討論第二種無監督學習問題:降維。 降維的一方面作用是資料壓縮,允許我們使用較少的記憶體或磁碟空間,也加快演算法速度。 例子: 假設我們用兩個特徵描述一個物

【原】Coursera—Andrew Ng機器學習課程筆記 Lecture 15—Anomaly Detection異常檢測

Lecture 15 Anomaly Detection 異常檢測 15.1 異常檢測問題的動機 Problem Motivation 異常檢測(Anomaly detection)問題是機器學習演算法的一個常見應用。這種演算法雖然主要用於無監督學習問題,但從某些角度看,它又類似於一些監督學習問題。舉例:

【原】Coursera—Andrew Ng機器學習課程筆記 Lecture 16—Recommender Systems 推薦系統

Lecture 16 Recommender Systems 推薦系統 16.1 問題形式化 Problem Formulation 在機器學習領域,對於一些問題存在一些演算法, 能試圖自動地替你學習到一組優良的特徵。通過推薦系統(recommender systems),將領略一小部分特徵學習的思想。

【原】Coursera—Andrew Ng機器學習課程筆記 Lecture 17—Large Scale Machine Learning 大規模機器學習

Lecture17 Large Scale Machine Learning大規模機器學習 17.1 大型資料集的學習 Learning With Large Datasets 如果有一個低方差的模型, 通常通過增加資料集的規模,可以獲得更好的結果。 但是如果資料集特別大,則首先應該檢查這麼大規模是否真

【原】Coursera—Andrew Ng機器學習課程筆記 Lecture 18—Photo OCR 應用例項:圖片文字識別

Lecture 18—Photo OCR 應用例項:圖片文字識別 18.1 問題描述和流程圖 Problem Description and Pipeline 影象文字識別需要如下步驟: 1.文字偵測(Text detection)——將圖片上的文字與其他環境物件分離開來2.字元切分(Character

Andrew NG機器學習課程筆記(十)

特徵選擇嚴格上來說也是模型選擇的一種。這裡不去辨析他們的關係,重點說明問題。假設我們想對維度為n的樣本進行迴歸,然後,n可能大多以至於遠遠大於訓練樣例數。但是我們感覺很多特徵對於結果是無用的,想剔除n中的無用特徵。n個特徵就有2^n種情況。如果我們去列舉這些情況,然後利用交叉驗證去選,太麻煩了。因此需要一些啟

非監督學習混合高斯模型和EM演算法——Andrew Ng機器學習筆記(十)

0、內容提要 這篇博文主要介紹: - 混合高斯模型(mixture of Gaussians model) - EM演算法(Expectation-Maximization algorithm) 1、引入 假設給定一個訓練集{x(1),...,x(m)

Andrew NG機器學習課程筆記(六)

支援向量機學習方法包括構建由簡至繁的模型:線性可分支援向量機,線性支援向量機,以及非線性支援向量機。簡單模型是複雜模型的基礎,也是複雜模型的特殊情況。當訓練資料線性可分時,通過硬間隔最大化,學習一個線性的分類器,即線性支援向量機,又稱為硬間隔支援向量機。當訓練集近似線性可分時,通過軟間隔最大化,也學習一個線性

學習理論模型選擇——Andrew Ng機器學習筆記(八)

內容提要 這篇部落格主要的內容有: 1. 模型選擇 2. 貝葉斯統計和規則化(Bayesian statistics and regularization) 最為核心的就是模型的選擇,雖然沒有那麼多複雜的公式,但是,他提供了更加巨集觀的指導,而且很多時候

非監督學習k-means聚類演算法——Andrew Ng機器學習筆記(九)

寫在前面的話 在聚類問題中,我們給定一個訓練集,演算法根據某種策略將訓練集分成若干類。在監督式學習中,訓練集中每一個數據都有一個標籤,但是在分類問題中沒有,所以類似的我們可以將聚類演算法稱之為非監督式學習演算法。這兩種演算法最大的區別還在於:監督式學習有正確答