1. 程式人生 > >斯坦福大學公開課機器學習課程(Andrew Ng)五生成學習演算法

斯坦福大學公開課機器學習課程(Andrew Ng)五生成學習演算法

課程概要:

1.生成學習演算法(Generative learning algorithm)
2.高斯判別分析(GDA,Gaussian Discriminant Analysis)

3.GDA與logistic模型的聯絡

4.樸素貝葉斯(Naive Bayes)
5.拉普拉斯平滑(Laplace smoothing)

一、生成學習演算法

兩種學習演算法的定義

1 判別學習演算法:直接學習p(y|x),其中x是某類樣例的特徵,y是某類樣例的分類標記。即給定輸入特徵,輸出所屬的類或學習得到一個假設hθ(x),直接輸出01。通俗的說就是直接對問題求解,比如logistic演算法,在解空間中尋找一條直線從而把兩種類別的樣例分開。

2生成學習演算法:  對p(x|y)(條件概率)p(y)(先驗概率)進行建模,p(x|y)表示在給定所屬的類的情況下,顯示某種特徵的概率。

然後根據貝葉斯公式(Bayes rule)推匯出y在給定x的概率為:


使得後驗概率最大的類別y即是新樣例的預測值:


二、高斯判別分析

       高斯判別分析(GDA)演算法即為一種生成學習演算法。

高斯判別分析的兩個假設:

  • 假設輸入特徵x∈Rn,並且是連續值;
  • p(x|y)是多維正態分佈(即高斯分佈);
2.1 多維正態分佈

       多維正態分佈是正態分佈在多維變數下的拓展。均值向量(mean vector)這裡寫圖片描述,協方差矩陣(convariance matrix)這裡寫圖片描述

(其中n是多維變數的向量長度),寫成z~N(μ,), 其密度函式為:

其中這裡寫圖片描述表示行列式(determinant)。

對於服從多維正態分佈的隨機變數x,均值由下面的公示得到:

協方差矩陣與協方差函式得到:

Cov(Z)=這裡寫圖片描述=這裡寫圖片描述 = ∑                   (5)

對於多維高斯分佈只要注意上述兩個引數即可。

多維高斯分佈圖像與引數的關係

左圖:μ=0,∑=I(單位矩陣)

中圖:μ=0,∑=0.6I,圖形變陡峭

右圖:μ=0,∑=2I,圖形變扁平

三圖中μ=0,∑如下:

可見增加矩陣對角元素的值,即變數間增加相關性,高斯曲面會沿z1=z2(兩個水平軸)方向趨於扁平。其水平面投影圖如下:

即增加∑對角線的元素,圖形會沿45°角,偏轉成一個橢圓形狀。

若∑對角線元素為負,圖形如下:

∑分別為:

不同μ的圖形如下:

μ分別為:

多維高斯分佈圖像與引數總結:

μ決定分佈曲線中心的位置。

協方差決定陡峭程度。

GDA模型

GDA模型針對的是輸入特徵為連續值時的分類問題。

     這個模型的額基本假設是目標值y服從伯努利分佈,條件概率p(x|y)服從多維正態分佈。所以,他們的概率密度為:


所以資料集的極大似然函式的對數如下所示:

對極大似然函式對數最大化,我們就得到了GDA模型的各引數的極大似然估計,即得到了如何使用GDA演算法的方法。
各個引數的極大似然估計如下:

結果如圖所示:

這裡寫圖片描述

三、GDA與logistics模型的聯絡

GDA模型和logistic迴歸有一個很有意思的關係.
如果把 這裡寫圖片描述 看做是x的函式,則有:
這裡寫圖片描述
其中這裡寫圖片描述這裡寫圖片描述的函式,這正是logistic迴歸的形式.。如下圖形:

關於模型的選擇:
剛才說到如果p(x|y)是一個多維的高斯分佈,那麼p(y|x)必然能推出一個logistic函式;反之則不正確,p(y|x)是一個logistic函式並不能推出p(x|y)服從高斯分佈.這說明GDA比logistic迴歸做了更強的模型假設.

  • 如果p(x|y)真的服從或者趨近於服從高斯分佈,則GDA比logistic迴歸效率高.
  • 當訓練樣本很大時,嚴格意義上來說並沒有比GDA更好的演算法(不管預測的多麼精確).
  • 事實證明即使樣本數量很小,GDA相對logisic都是一個更好的演算法.

但是,logistic迴歸做了更弱的假設,相對於不正確的模型假設,具有更好的魯棒性(robust).許多不同的假設能夠推出logistic函式的形式. 比如說,如果這裡寫圖片描述這裡寫圖片描述那麼p(y|x)是logistic. logstic迴歸在這種型別的Poisson資料中效能很好. 但是如果我們使用GDA模型,把高斯分佈應用於並不是高斯資料中,結果是不好預測的,GDA就不是很好了.

總結:

GDA優點:預測更精確,需要的資料少。缺點:做的假設更強,需要資料服從高斯分佈才會有很好的效果。

logistic適用範圍更廣,魯棒性好。缺點:需要資料多,如果資料近似服從高斯分佈,不如GDA迴歸的好。

四、樸素貝葉斯

樸素貝葉斯(NB)也是一種學習演算法。GDA針對的是特徵向量x為連續值時的問題,而樸素貝葉斯則針對的是特徵向量x為離散值時的問題。

樸素貝葉斯最常用與文字的分類,例如甄別郵件是否為垃圾郵件。

例子:垃圾郵件分類問題
首先是把一封郵件作為輸入特徵,與已有的詞典進行比對,如果出現了該詞,則把向量的xi=1,否則xi=0,例如:

這裡寫圖片描述
我們要對p(x|y)建模,但是假設我們的詞典有50000個詞,那麼這裡寫圖片描述,如果採用多項式建模的方式,會有這裡寫圖片描述,明顯引數太多了,這個方法是行不通的.

為了對p(x|y)建模,我們做一個很強的假設,假設給定y,xi是條件獨立(conditionally independent)的.這個假設成為樸素貝葉斯假設(Naive Bayes assumption).

因此得到下式:

樸素貝葉斯假設在文字分類問題上的解釋為文字中出現某詞語時不會影響其他詞語在文字中出現的頻率。

模型中的引數有:


於是,我們就得到了NB方法的極大似然估計函式:

其中n為詞典大小,最大化該函式,我們得到引數的極大似然估計:

Φi|y=1的分子為標記為1的郵件(垃圾郵件)中出現詞j的郵件數目和,分母為垃圾郵件數,總體意義就是訓練集中出現詞j的垃圾郵件在垃圾郵件中的比例。

Φi|y=0就是出現詞j的非垃圾郵件在非垃圾郵件中的比例。

Φy就是垃圾郵件在所有郵件中的比例。

求出上述引數,就知道了p(x|y)p(y),用伯努利分佈對p(y)建模,用上式中p(xi|y)的乘積對p(x|y)建模,通過貝葉斯公式就可求得p(y|x)

對於新樣本,按照如下公式計算其概率:

總結:樸素貝葉斯的總體思想即根據貝葉斯公式,先求條件概率與先驗概率,在得出結果。具體在本例中即先分別求出為垃圾郵件時出現某詞的頻率,和為非垃圾郵件時出現某詞的頻率以及垃圾郵件的頻率,然後根據貝葉斯公式,求出出現某詞時為垃圾郵件的頻率

樸素貝葉斯的問題:
假設在一封郵件中出現了一個以前郵件從來沒有出現的詞,在詞典的位置是35000,那麼得出的最大似然估計為:
這裡寫圖片描述
也即使說,在訓練樣本的垃圾郵件和非垃圾郵件中都沒有見過的詞,模型認為這個詞在任何一封郵件出現的概率為0.
假設說這封郵件是垃圾郵件的概率比較高,那麼
這裡寫圖片描述
模型失靈.

在統計上來說,在你有限的訓練集中沒有見過就認為概率是0是不科學的.


五、拉普拉斯平滑

   拉普拉斯平滑又稱為加1平滑,是比較常用的平滑方法,使用拉普拉斯平滑即可解決上述概率為0的問題。

對於一個隨機變數,它的取值範圍是{1,2,3...k},m次實驗後的觀測結果為Z(i),極大似然估計按照下式計算:

即值為j的樣本所佔比例,對其用Laplace平滑如下式:

比如如果一支球隊連勝7場,那他下一場也被擊敗的概率是多少?如果按照樸素貝葉斯演算法,那麼它下一場被擊敗的概率為0(p=0/5+0),這顯然是不合理的;按照拉普拉斯平滑,它下場被擊敗的概率為1/(7+1+0+1)=1/9,這個結果看起來還是挺合理的。如果用拉普拉斯平滑計算太陽明天不會照常升起的概率就是大約1/46億了。

回到樸素貝葉斯問題,通過laplace平滑:
這裡寫圖片描述

分子加1,分母加1就把分母為零的問題解決了.


相關推薦

斯坦福大學開課機器學習課程Andrew Ng生成學習演算法

課程概要: 1.生成學習演算法(Generative learning algorithm) 2.高斯判別分析(GDA,Gaussian Discriminant Analysis) 3.GDA與logistic模型的聯絡 4.樸素貝葉斯(Naive Bayes) 5.

斯坦福大學開課機器學習課程Andrew Ng四牛頓方法與廣義線性模型

本次課所講主要內容: 1、  牛頓方法:對Logistic模型進行擬合 2、 指數分佈族 3、  廣義線性模型(GLM):聯絡Logistic迴歸和最小二乘模型 一、牛頓方法        牛頓方法與梯度下降法的功能一樣,都是對解空間進行搜尋的方法。 假設有函

斯坦福大學開課機器學習:Neural Networks,representation: non-linear hypotheses為什麽需要做非線性分類器

繼續 例子 產生 成本 log repr 概率 .cn 成了 如上圖所示,如果用邏輯回歸來解決這個問題,首先需要構造一個包含很多非線性項的邏輯回歸函數g(x)。這裏g仍是s型函數(即 )。我們能讓函數包含很多像這的多項式,當多項式足夠多時,那麽你也許能夠得到可以

斯坦福大學開課機器學習:Neural network-model representation神經網絡模型及神經單元的理解

如何 work 單元 pre 結果 mda s函數 額外 權重 神經網絡是在模仿大腦中的神經元或者神經網絡時發明的。因此,要解釋如何表示模型假設,我們先來看單個神經元在大腦中是什麽樣的。如下圖,我們的大腦中充滿了神經元,神經元是大腦中的細胞,其中有兩點值得我們註意,一是神經

斯坦福大學開課機器學習: advice for applying machine learning - evaluatin a phpothesis怎麽評估學習算法得到的假設以及如何防止過擬合或欠擬合

class 中一 技術分享 cnblogs 訓練數據 是否 多個 期望 部分 怎樣評價我們的學習算法得到的假設以及如何防止過擬合和欠擬合的問題。 當我們確定學習算法的參數時,我們考慮的是選擇參數來使訓練誤差最小化。有人認為,得到一個很小的訓練誤差一定是一件好事。但其實,僅

斯坦福大學開課機器學習: advice for applying machine learning | regularization and bais/variance機器學習中方差和偏差如何相互影響、以及和算法的正則化之間的相互關系

交叉 來講 相對 同時 test 如果 開始 遞增 相互 算法正則化可以有效地防止過擬合, 但正則化跟算法的偏差和方差又有什麽關系呢?下面主要討論一下方差和偏差兩者之間是如何相互影響的、以及和算法的正則化之間的相互關系 假如我們要對高階的多項式進行擬合,為了防止過擬合現象

斯坦福大學開課機器學習:advice for applying machine learning | learning curves 改進學習算法:高偏差和高方差與學習曲線的關系

繪制 學習曲線 pos 情況 但我 容量 繼續 並且 inf 繪制學習曲線非常有用,比如你想檢查你的學習算法,運行是否正常。或者你希望改進算法的表現或效果。那麽學習曲線就是一種很好的工具。學習曲線可以判斷某一個學習算法,是偏差、方差問題,或是二者皆有。 為了繪制一條學習曲

斯坦福大學開課機器學習: advice for applying machine learning | deciding what to try next(revisited)針對高偏差、高方差問題的解決方法以及隱藏層數的選擇

ice 簡單 pos .com img 想要 技術 分割 就是 針對高偏差、高方差問題的解決方法: 1、解決高方差問題的方案:增大訓練樣本量、縮小特征量、增大lambda值 2、解決高偏差問題的方案:增大特征量、增加多項式特征(比如x1*x2,x1的平方等等)、減少la

斯坦福大學開課機器學習:machine learning system design | trading off precision and recallF score公式的提出:學習算法中如何平衡取舍查準率和召回率的數值

ron 需要 color 不可 關系 machine 同時 機器學習 pos 一般來說,召回率和查準率的關系如下:1、如果需要很高的置信度的話,查準率會很高,相應的召回率很低;2、如果需要避免假陰性的話,召回率會很高,查準率會很低。下圖右邊顯示的是召回率和查準率在一個學習算

斯坦福大學開課機器學習:machine learning system design | data for machine learning數據量很大時,學習算法表現比較好的原理

ali 很多 好的 info 可能 斯坦福大學公開課 數據 div http 下圖為四種不同算法應用在不同大小數據量時的表現,可以看出,隨著數據量的增大,算法的表現趨於接近。即不管多麽糟糕的算法,數據量非常大的時候,算法表現也可以很好。 數據量很大時,學習算法表現比

斯坦福大學開課 iOS應用開發教程學習筆記(第四課) Views 檢視

第四課名稱: Views 檢視 課程開始老師懷念了一會老喬。接著介紹這次的課程分為兩部分,一部分是Calculator的Demo,一部分是Views. 課程開始到第四課,其實斯坦福的課程裡是有作業的,人家已經做完了第一個作業了,就是完善計算器這個程式,完成一個比較複雜

AI-005: 吳恩達教授Andrew Ng機器學習課程學習筆記15-20

本文是學習Andrew Ng的機器學習系列教程的學習筆記。教學視訊地址: 本文中的白色背景視訊截圖來自Andrew Ng的視訊腳程, 思維導圖為原創總結。 多變數的線性迴歸: 15. Linear Regression with multiple variables

AI-004: 吳恩達教授Andrew Ng機器學習課程學習筆記1-14

本文是學習Andrew Ng的機器學習系列教程的學習筆記。教學視訊地址: 本文中的白色背景視訊截圖來自Andrew Ng的視訊腳程, 思維導圖為原創總結。 ML基礎介紹,單變數的線性迴歸: Introduce ML: grew out of work in A

AI-009: 吳恩達教授Andrew Ng機器學習課程學習筆記38-47

本文是學習Andrew Ng的機器學習系列教程的學習筆記。教學視訊地址: 38. Neural Networks - Representation - Non-linear hypotheses Why neural networks? Simple linear

AI-008: 吳恩達教授Andrew Ng機器學習課程學習筆記34-37

本文是學習Andrew Ng的機器學習系列教程的學習筆記。教學視訊地址: 正則化來解決過擬合問題: 34. Regularization - the problem of overfitting What’s overfitting? 過擬合就是我們的假設函式與樣本

AI-007: 吳恩達教授Andrew Ng機器學習課程學習筆記27-33

本文是學習Andrew Ng的機器學習系列教程的學習筆記。教學視訊地址: 分類問題思維導圖: 27. Logistic Regression - Classification Example: It is not good to use linear regr

AI-014: 吳恩達教授Andrew Ng機器學習課程學習筆記49

本文是學習Andrew Ng的機器學習系列教程的學習筆記。教學視訊地址: 49. Machine learning system design: prioritizing what to work on: spam classification example 以建立

支援向量機斯坦福大學課程講義Andrew Ng

SVM演算法是最流行的監督學習演算法之一(很多人認為是最好的)。為了講清楚SVM演算法,我們需要先討論一下間隔(margin)和分離資料的間隙(gap)。 下一步,我們將會討論最優間隔分類器,其中用到了拉格朗日對偶。 我們也會接觸到核函式,核函式提供了一種將SV

吳恩達Andrew Ng機器學習課程筆記1第1周——機器學習簡介,單變數線性迴歸

吳恩達(Andrew Ng)在 Coursera 上開設的機器學習入門課《Machine Learning》: 目錄 一、引言 一、引言 1.1、機器學習(Machine Learni

吳恩達Andrew Ng機器學習課程筆記2第2周——多變數線性迴歸

目錄 四、多變數線性迴歸(Linear Regression with multiple variables) 4.1. 多維特徵(Multiple features) 前面介紹的是單變數線性迴歸如下圖所示: