日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Coursera公开课笔记: 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)”

發(fā)布時(shí)間:2025/3/21 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Coursera公开课笔记: 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)” 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Coursera公開課筆記: 斯坦福大學(xué)機(jī)器學(xué)習(xí)第六課“邏輯回歸(Logistic Regression)”


斯坦福大學(xué)機(jī)器學(xué)習(xí)第六課”邏輯回歸“學(xué)習(xí)筆記,本次課程主要包括7部分:

1) Classification(分類)

2) Hypothesis Representation

3) Decision boundary(決策邊界)

4) Cost function(代價(jià)函數(shù),成本函數(shù))

5) Simplified cost function and gradient descent(簡(jiǎn)化版代價(jià)函數(shù)及梯度下降算法)

6) Advanced optimization(其他優(yōu)化算法)

7) Multi-class classification: One-vs-all(多類分類問題)

以下是每一部分的詳細(xì)解讀。

1) Classification(分類)

分類問題舉例:

  • 郵件:垃圾郵件/非垃圾郵件?
  • 在線交易:是否欺詐(是/否)?
  • 腫瘤:惡性/良性?
  • 以上問題可以稱之為二分類問題,可以用如下形式定義:

    其中0稱之為負(fù)例,1稱之為正例。

    對(duì)于多分類問題,可以如下定義因變量y:

    y{0,1,2,3,,n}

    如果分類器用的是回歸模型,并且已經(jīng)訓(xùn)練好了一個(gè)模型,可以設(shè)置一個(gè)閾值:

    • 如果hθ(x)0.5,則預(yù)測(cè)y=1,既y屬于正例;
    • 如果hθ(x)<0.5,則預(yù)測(cè)y=0,既y屬于負(fù)例;

    如果是線性回歸模型,對(duì)于腫瘤這個(gè)二分類問題,圖形表示如下:

    但是對(duì)于二分類問題來說,線性回歸模型的Hypothesis輸出值hθ(x)可以大于1也可以小于0。

    這個(gè)時(shí)候我們引出邏輯回歸,邏輯回歸的Hypothesis輸出介于0與1之間,既:

    0hθ(x)1

    注: 以下引自李航博士《統(tǒng)計(jì)學(xué)習(xí)方法》1.8節(jié)關(guān)于分類問題的一點(diǎn)描述:

    分類是監(jiān)督學(xué)習(xí)的一個(gè)核心問題,在監(jiān)督學(xué)習(xí)中,當(dāng)輸出變量Y取有限個(gè)離散值時(shí),預(yù)測(cè)問題便成為分類問題。這時(shí),輸入變量X可以是離散的,也可以是連續(xù)的。監(jiān)督學(xué)習(xí)從數(shù)據(jù)中學(xué)習(xí)一個(gè)分類模型或分類決策函數(shù),稱為分類器(classifier)。分類器對(duì)新的輸入進(jìn)行輸出的預(yù)測(cè)(prediction),稱為分類(classification).

    2) Hypothesis Representation

    邏輯回歸模型:

    上一節(jié)談到,我們需要將Hypothesis的輸出界定在0和1之間,既:

    0hθ(x)1

    但是線性回歸無法做到,這里我們引入一個(gè)函數(shù)g, 令邏輯回歸的Hypothesis表示為:

    hθ(x)=g(θTx)

    這里g稱為Sigmoid function或者Logistic function, 具體表達(dá)式為:

    g(z)=11+e?z

    Sigmoid 函數(shù)在有個(gè)很漂亮的“S”形,如下圖所示(引自維基百科):

    綜合上述兩式,我們得到邏輯回歸模型的數(shù)學(xué)表達(dá)式:

    hθ(x)=11+e?θTx

    其中θ是參數(shù)。
    Hypothesis輸出的直觀解釋:

    hθ(x) = 對(duì)于給定的輸入x,y=1時(shí)估計(jì)的概率

    例如,對(duì)于腫瘤(惡性/良性),如果輸入變量(特征)是腫瘤的大小:

    這里Hypothesis表示的是”病人的腫瘤有70%的可能是惡性的“。

    較正式的說法可以如下表示:

    給定輸入x,參數(shù)化的θ(參數(shù)空間), y=1時(shí)的概率。

    數(shù)學(xué)上可以如下表示:

    hθ(x)=P(y=1|x;θ)

    對(duì)于因變量y=0或1這樣的二分類問題:

    P(y=0|x;θ)+P(y=1|x;θ)=1

    P(y=0|x;θ)=1P(y=1|x;θ)

    3) Decision boundary(決策邊界)

    如上節(jié)所述,邏輯回歸模型可以如下表示:

    假設(shè)給定的閾值是0.5,當(dāng)hθ(x)0.5時(shí), y = 1;

    當(dāng)hθ(x)<0.5時(shí),y = 0;

    再次回顧sigmoid function的圖形,也就是g(z)的圖形:

    當(dāng)g(z)0.5時(shí), z0;

    對(duì)于hθ(x)=g(θTx)0.5, 則θTx0, 此時(shí)意味著預(yù)估y=1;

    反之,當(dāng)預(yù)測(cè)y = 0時(shí),θTx<0;

    我們可以認(rèn)為θTx = 0是一個(gè)決策邊界,當(dāng)它大于0或小于0時(shí),邏輯回歸模型分別預(yù)測(cè)不同的分類結(jié)果。例如,

    hθ(x)=g(θ0+θ1x1+θ2x2)

    θ0,θ1,θ2分別取-3, 1, 1,

    則當(dāng)?3+x1+x20時(shí), y = 1; 則x1+x2?=3是一個(gè)決策邊界,圖形表示如下:

    上述只是一個(gè)線性的決策邊界,當(dāng)hθ(x)更復(fù)雜的時(shí)候,我們可以得到非線性的決策邊界,例如:

    這里當(dāng)x21+x221時(shí),y=1,決策邊界是一個(gè)圓形,如下圖所示:

    更復(fù)雜的例子,請(qǐng)參考官方PPT,這里就不再舉例了。

    4) Cost function(代價(jià)函數(shù),成本函數(shù))

    邏輯回歸概覽:

    邏輯回歸是一種有監(jiān)督的學(xué)習(xí)方法,因此有訓(xùn)練集:

    對(duì)于這m個(gè)訓(xùn)練樣本來說,每個(gè)樣本都包含n+1個(gè)特征:

    其中xRn+1, x0=1,y{0,1}.

    Hypothesis可表示為:

    hθ(x)=11+e?θTx

    與線性回歸相似,我們的問題是如何選擇合適的參數(shù)θ?

    Cost Function:

    線性回歸的Cost? Function定義為:

    J(θ)=1mi=1m12(hθ(x(i))y(i))2

    這里可以把12(hθ(x(i))y(i))2簡(jiǎn)寫為Cost(hθ(x(i),y),更簡(jiǎn)化的表達(dá)式為:

    Cost(hθ(x),y)=12(hθ(x)y)2

    如果和線性回歸相似,這里取 hθ(x)=11+e?θTx,會(huì)存在一個(gè)問題,也就是邏輯回歸的Cost Function是“非凸”的,如下圖所示:

    我們知道,線性回歸的Cost Function是凸函數(shù),具有碗狀的形狀,而凸函數(shù)具有良好的性質(zhì):對(duì)于凸函數(shù)來說局部最小值點(diǎn)即為全局最小值點(diǎn),因此只要能求得這類函數(shù)的一個(gè)最小值點(diǎn),該點(diǎn)一定為全局最小值點(diǎn)。

    因此,上述的Cost Function對(duì)于邏輯回歸是不可行的,我們需要其他形式的Cost Function來保證邏輯回歸的成本函數(shù)是凸函數(shù)。

    這里補(bǔ)充一段李航博士《統(tǒng)計(jì)學(xué)習(xí)方法》里關(guān)于Cost Function或者損失函數(shù)(loss function)的說明,大家就可以理解Cost Function不限于一種方式,而是有多種方式可選,以下摘自書中的1.3.2小節(jié):

    監(jiān)督學(xué)習(xí)問題是在假設(shè)空間F中選取模型f作為決策函數(shù),對(duì)于給定的輸入X,由f(X)給出相應(yīng)的輸出Y,這個(gè)輸出的預(yù)測(cè)值f(X)與真實(shí)值Y可能一致也可能不一致,用一個(gè)損失函數(shù)(loss function)或代價(jià)函數(shù)(cost function)來度量預(yù)測(cè)錯(cuò)誤的程度。損失函數(shù)是f(X)和Y的非負(fù)實(shí)值函數(shù),記作L(Y, f(X)).

    統(tǒng)計(jì)學(xué)習(xí)中常用的損失函數(shù)有以下幾種:

    (1) 0-1損失函數(shù)(0-1 loss function):

    L(Y,f(X))={1,0,Yf(X)Y=f(X)

    (2) 平方損失函數(shù)(quadratic loss function)

    L(Y,f(X))=(Yf(X))2

    (3) 絕對(duì)損失函數(shù)(absolute loss function)

    L(Y,f(X))=|Yf(X)|

    (4) 對(duì)數(shù)損失函數(shù)(logarithmic loss function) 或?qū)?shù)似然損失函數(shù)(log-likelihood loss function)

    L(Y,P(Y|X))=?logP(Y|X)

    損失函數(shù)越小,模型就越好。

    邏輯回歸的Cost Function:

    基于上節(jié)的描述和補(bǔ)充,這里我們選擇對(duì)數(shù)似然損失函數(shù)作為邏輯回歸的Cost Function:

    直觀的來解釋這個(gè)Cost Function,首先看當(dāng)y=1的情況:

    直觀來看, 如果y = 1, hθ(x)=1,則Cost = 0,也就是預(yù)測(cè)的值和真實(shí)的值完全相等的時(shí)候Cost =0;

    但是,當(dāng)hθ(x)0時(shí), Cost

    直觀來看,由于預(yù)測(cè)的結(jié)果南轅北轍:

    如果hθ(x)=0, 也就是預(yù)測(cè)P(y=1|x;θ)=0,也就是y=1的概率是0,但是實(shí)際上y = 1

    因此對(duì)于這個(gè)學(xué)習(xí)算法給予一個(gè)很大的Cost的懲罰。

    同理對(duì)于y=0的情況也適用:

    5) Simplified cost function and gradient descent(簡(jiǎn)化版代價(jià)函數(shù)及梯度下降算法)

    邏輯回歸的Cost Function可以表示為:

    由于y 只能等于0或1,所以可以將邏輯回歸中的Cost function的兩個(gè)公式合并,具體推導(dǎo)如下:

    故邏輯回歸的Cost function可簡(jiǎn)化為:

    對(duì)于這個(gè)公式,這里稍微補(bǔ)充一點(diǎn),注意中括號(hào)中的公式正是對(duì)邏輯回歸進(jìn)行最大似然估計(jì)中的最大似然函數(shù),對(duì)于最大似然函數(shù)求最大值,從而得到參數(shù)(\theta\)的估計(jì)值。反過來,這里為了求一個(gè)合適的參數(shù),需要最小化Cost function,也就是:

    minθJ(θ)

    而對(duì)于新的變量x來說,就是根據(jù)hθ(x)的公式輸出結(jié)果:

    與線性回歸相似,這里我們采用梯度下降算法來學(xué)習(xí)參數(shù)θ,對(duì)于J(θ):

    目標(biāo)是最小化J(θ),則梯度下降算法的如下:

    對(duì)J(θ)求導(dǎo)后,梯度下降算法如下:

    注意,這個(gè)算法和線性回歸里的梯度下降算法幾乎是一致的,除了hθ(x)的表示不同。

    6) Advanced optimization(其他優(yōu)化算法)

    優(yōu)化算法:

    給定參數(shù)θ,我們可以寫成代碼來計(jì)算:

    優(yōu)化算法除了梯度下降算法外,還包括:

    • Conjugate gradient method(共軛梯度法)
    • Quasi-Newton method(擬牛頓法)
    • BFGS method
    • L-BFGS(Limited-memory BFGS)

    后二者由擬牛頓法引申出來,與梯度下降算法相比,這些算法的優(yōu)點(diǎn)是:

    第一,不需要手動(dòng)的選擇步長(zhǎng);

    第二,通常比梯度下降算法快;

    但是缺點(diǎn)是更復(fù)雜-更復(fù)雜也是缺點(diǎn)嗎?其實(shí)也算不上,關(guān)于這些優(yōu)化算法,推薦有興趣的同學(xué)看看52nlp上這個(gè)系列的文章:無約束最優(yōu)化,作者是我的師兄,更深入的了解可以參考這篇文章中推薦的兩本書:

    用于解無約束優(yōu)化算法的Quasi-Newton Method中的LBFGS算法到這里總算初步介紹完了,不過這里筆者要承認(rèn)的是這篇文檔省略了許多內(nèi)容,包括算法收斂性的證明以及收斂速度證明等許多內(nèi)容。因此讀者若希望對(duì)這一塊有一個(gè)更深入的認(rèn)識(shí)可以參考以下兩本書:
    1) Numerical Methods for Unconstrained Optimization and Nonlinear Equations(J.E. Dennis Jr. Robert B. Schnabel)
    2) Numerical Optimization(Jorge Nocedal Stephen J. Wright)

    7) Multi-class classification: One-vs-all(多類分類問題)

    多類分類問題舉例:

    電子郵件分類/標(biāo)注: 工作郵件,朋友郵件,家庭郵件,愛好郵件

    醫(yī)療圖表(medical diagrams): 沒有生病,著涼,流感

    天氣:晴天,多云,雨,雪

    二類分類問題如下圖所示:

    多類分類問題如下所示:

    One-vs-all(one-vs-rest):

    對(duì)于多類分類問題,可以將其看做成二類分類問題:保留其中的一類,剩下的作為另一類。例如,對(duì)于下面這個(gè)例子:

    可以分別計(jì)算其中一類相對(duì)于其他類的概率:

    總結(jié)-One-vs-all方法框架:

    對(duì)于每一個(gè)類 i 訓(xùn)練一個(gè)邏輯回歸模型的分類器h(i)θ(x),并且預(yù)測(cè) y = i時(shí)的概率;

    對(duì)于一個(gè)新的輸入變量x, 分別對(duì)每一個(gè)類進(jìn)行預(yù)測(cè),取概率最大的那個(gè)類作為分類結(jié)果:

    參考資料:

    第六課“邏輯回歸”的課件資料下載鏈接,視頻可以在Coursera機(jī)器學(xué)習(xí)課程上觀看或下載: https://class.coursera.org/ml PPT?? PDF

    李航博士《統(tǒng)計(jì)學(xué)習(xí)方法》

    http://en.wikipedia.org/wiki/Sigmoid_function

    http://en.wikipedia.org/wiki/Logistic_function

    無約束最優(yōu)化

    http://en.wikipedia.org/wiki/Loss_function

    http://en.wikipedia.org/wiki/Conjugate_gradient_method

    http://en.wikipedia.org/wiki/Quasi-Newton_method

    http://en.wikipedia.org/wiki/BFGS_method

    http://en.wikipedia.org/wiki/Limited-memory_BFGS


    出處:http://www.52nlp.cn/coursera%E5%85%AC%E5%BC%80%E8%AF%BE%E7%AC%94%E8%AE%B0-%E6%96%AF%E5%9D%A6%E7%A6%8F%E5%A4%A7%E5%AD%A6%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%AC%AC%E5%85%AD%E8%AF%BE%E9%80%BB%E8%BE%91%E5%9B%9E

    總結(jié)

    以上是生活随笔為你收集整理的Coursera公开课笔记: 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)”的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。