精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
學渣筆記 | logistic回歸和感知器(吳恩達CS229《機器學習》lecture 3-3)

內容提要

《機器學習》第三課主要講解以下5方面內容:

  • Locally weighted regression(局部加權回歸)

  • probabilistic interpretation(線性回歸的概率解釋)

  • logistic regression(logistic回歸)

    • 二元分類

    • sigmoid函數

    • 梯度上升

  • digression:perceptron(感知器算法)

  • Newton's method(牛頓方法)

    本篇為lecture 3-3,包括邏輯回歸、感知器算法。牛頓方法將在lecture 4中介紹。


    先回顧lecture 3-1、3-2講過的內容:

    局部加權回歸(LWR):

    如果特征數目選擇過少會出現欠擬合情況,如果特征數目選擇過多會出現過擬合情況,為使數據剛好達到擬合狀態,引入局部加權回歸解決這個問題。僅考慮與查詢點x周圍權重較高的鄰近點,作為數據子集擬合直線,建立線性回歸模型預測結果。使用局部加權回歸算法無需擔心特征選擇問題。另外,該算法是非參數學習算法,其特點是參數數量隨訓練集呈線性增加。

    線性回歸的概率解釋:

    為什么線性回歸要選擇最小二乘法使代價函數J(θ)最小值?通過假設相互獨立的誤差項滿足高斯分布,給定x、以θ為參數、輸出結果y的概率滿足高斯分布,將求數據y的分布轉移為求參數θ的似然值。為了使數據結果y出現的概率盡可能大,因此需要求參數θ的極大似然值。而似然函數通常通過其對數進行求解,將極大似然值轉移為求對數似然函數的極大值。通過公式推導從而證明最小二乘法求代價函數最小值是非常自然的方法。

CS229 lecture 3 課程內容

    以下是監督學習的全新章節:分類問題。本節將介紹解決分類問題所用的logistic回歸模型,以及簡單介紹感知器(perceptron)學習算法。

logistic回歸(logistic regression)

  • 二元分類(binary classification)

    什么是分類問題?

    如果嘗試預測的目標變量x是連續的,比如根據房屋面積預測房屋價格,那么這個學習問題稱為回歸問題(regression)。 如果輸出結果y為少量的離散值(如0、1),例如垃圾郵件分類器,只需要通過算法給出此郵件是1(表示垃圾郵件),還是0(表示不是垃圾郵件)即可,那么該類學習問題稱為分類問題(classification)

    在分類問題中最常見的是二元分類或二分類(binary classification),如0、1。

    其中,0也稱為negative class(負類、負例、陰性結果),用符號“-”負號表示;1也稱為positive class(正類、正例、陽性結果),用符號“+”加號表示。

    另外對于給定的x(i),其相應的y(i)為訓練樣本的標簽(label)(x(i), y(i))表示 ith training example,即第i個訓練樣本。

    基于二分類問題,可以拓展為多元分類問題(multi-class)。其解決方法的核心是分解為二分類進行求解。多分類問題也稱為one-vs-all(一對多)或one-vs-rest(一對余)。

多元分類問題分解為二分類問題

(圖片截圖自網易云課堂《吳恩達機器學習》)

    如上圖所示,將訓練樣本分為三類。建立模型的時候,可以將所有樣本分為三角形樣本和非三角形樣本,以此類推。

    另外,上圖中的紫羅蘭色直線表示決策邊界(decision boundary)。位于直線左側的數據點判斷為三角形,即y=1;直線右側的數據點判斷為非三角形,即y=0。決策邊界可以是直線、非線性等任何形狀。下圖展示非線性決策邊界:

非線性決策邊界

  • 問題:為什么分類問題不能用線性回歸模型?

    以二元分類問題為例,由于要求輸出結果是0至1之間,而線性回歸的結果可能出現大于1或小于0的情況。另外,如果將線性回歸作為分類模型會出現分類不準確的情況。

    舉例說明,根據腫瘤體積大小判斷該腫瘤是良性腫瘤(用0表示)還是惡性腫瘤(用1表示),通過下圖說明。

對于分類問題線性回歸是個糟糕的模型

    圖中位于x軸的紅色叉號表示良性腫瘤,即y=0;y=1的紅色叉號表示惡性腫瘤。以線性回歸為模型,可以看到y<0.5的點(紫羅蘭色直線左側)為良性腫瘤,y>=0.5的點(紫羅蘭色直線右側)為惡性腫瘤。

    但隨著訓練輸入的惡性腫瘤樣本越來越多、x坐標軸足夠長的時候,發現原先的線性回歸函數已經不能滿足需求,更新函數后發現y<0.5的點(藍色直線左側),本該是良性腫瘤的數據點中包含有惡性腫瘤樣本,因此分類問題用線性回歸模型是個很糟糕的決定。

  • 假設模型:sigmoid函數

    為了解決上述問題,將假設函數h(x)定義如下:

其中,g(z)函數定義如下:

    線性回歸中假設函數h(x)=θTx,為了將線性回歸的輸出結果限制在0~1之間,將其輸出結果θTx整體作為自變量,放入g(z)函數中。線性回歸中h(x)的假設如下:

    g(z)函數稱為logistic函數sigmoid函數,它的函數圖像如下:

sigmoid函數圖像

(關于繪制圖像的python代碼請參考下篇文章)

    從圖中我們可以看出,當g(z)趨近于1時,z趨近于無窮大(z→∞);當g(z)趨近于0時,z趨近于無窮大(z→-∞)。因為g(z)的結果在0-1之間,所以根據h(x)=g(θTx),因此h(x)的輸出結果很自然地限制在0-1之間。

    同樣的根據慣例,令x0=1,θTx的結果整理為

    因此選擇logistic函數為分類模型,其求導結果在后面的推導中用到,即

g’(z)=g(z)(1-g(z))。


    g(z)具體求導過程如下:

g(z)具體求導過程

  • 擬合參數θ

    確定合適的模型(即logistic回歸模型)后,參考線性回歸的分析方法,接下來是確定參數θ。

    那么參考線性回歸的概率解釋,將分類模型賦予一系列概率假設,通過極大似然估計擬合參數。

step1:概率表達式

    假設

    說明:上式表示給定x,以θ作為參數,y=1的概率為hθ(x);y=0的概率為1-hθ(x)。因為y的輸出結果要么是1,要么是0,所以兩者出現的概率之和為1。

    將上述假設合二為一,寫成簡潔的形式如下:

    說明:當y=1時,1-y=0,任何數的零次方結果是1,則第二項1-hθ(x)的結果為1,表達式為p(y|x;θ)=(hθ(x))y;當y=0時,第一項(hθ(x))0=1,所以概率表達式為p(y|x;θ)=(1-hθ(x))1-y。是不是很巧妙~

step2:參數θ的似然函數

    假設m個訓練樣本是獨立生成的(樣本間相互獨立),因此參數θ的似然函數等于m個樣本的數據向量y出現的概率,等于第i個樣本數據y概率的連乘積結果,將上式代入,整理結果如下。

step3:參數θ的對數似然函數

    參考線性回歸的概率解釋,求參數θ的極大似然估計,等同于求其對數似然函數?(θ)的極大值,所以對似然函數L(θ)取對數進行處理,得到如下表達式。

    ?(θ)表達式的整理過程如下:

對數似然函數?(θ)表達式的整理過程

  • 梯度上升

    其實從?(θ)的表達式中不能直接得出極大似然值結果,所以為了擬合參數θ,參考線性回歸求參數θ的方法。

    在線性回歸中,為了得到代價函數J(θ)最小值,采用梯度下降法。而分類問題(logistic回歸)想要得到極大似然值,則采用梯度上升算法(gradient ascent),將對數似然函數?(θ)求導。

梯度上升算法:

    梯度上升算法:不斷將新生成的θ替換原來的θ,加上學習率α,乘以代價函數(這里是對數似然函數)的梯度。注意:梯度上升采用“+”加號。(梯度下降采用“-”減號)

step4:極大似然估計(梯度上升求導?(θ)

    以一例訓練樣本(x,y)為例,利用隨機梯度上升法對?(θ)求導。因為隨機梯度上升法每次更新參數只需迭代一個樣本,速度快。關于隨機梯度下降算法的介紹參見文章:從入門到放棄:監督學習之梯度下降(吳恩達《機器學習》監督學習筆記)

    ?(θ)求導結果如下:

    在求導過程中,應用了g’(z)=g(z)(1-g(z))的這一結論。?(θ)具體求導過程如下,供參考。

?(θ)具體求導過程

    將?(θ)求導結果代入梯度上升表達式,得到如下結果,即為擬合θ的表達式。

    雖然上述表達式從形式上看起來很像梯度下降使用的LMS更新法則(least mean square update rules),但它們之間沒有任何關系,因為假設函數h(x)不同。

表    梯度上升與梯度下降的比

    雖然表面上結論相似,但這是個完全不同的算法。這并不是巧合,可以推廣為廣義的學習算法。

感知器(perceptron learning algorithm)

    如果強制logistic回歸精準輸出0或1,那么需要修改g(z)函數為閾值函數(threshold function),如下所示:

    與logistic回歸不同的是,這里的g(z)稱為階躍函數(step function),即數值直接從0跳躍到1。階躍函數圖像為:

階躍函數圖像

    根據前面logistic回歸提到的假設hθ(x)=g(θTx),以及上述g(z)函數,結合更新學習規則:

得到感知器學習算法。

    感知器這個名詞最初來自于建立人腦神經元工作的模型。

    雖然感知器學習規則與logistic回歸中的梯度上升出奇的相似,但與其他算法相比,這是一類非常不同的學習規則。在以后的算法學習中,會利用其簡單性作為基本構造步驟。

    另外,感知器算法的風格和之前的最小二乘回歸以及logistic回歸相比,十分不同。因為它生成的值要么是1,要么是0。實際上,為感知器賦予概率意義非常困難。

總 結

    關于logistic回歸:

1、給出分類問題不能用線性回歸解決的原因

    因為分類問題要求輸出結果y∈{0,1},而線性回歸存在y<0或y>1的情況,加之線性回歸模型對結果分類不準確,所以線性回歸不合適解決分類問題。

2、提出假設,尋找合適的模型

    利用sigmoid函數(也稱為logistic函數)輸出結果在0-1之間的特性,將線性回歸結果限制在0-1之間,因此將logistic回歸作為解決分類問題的模型。

    其實,logistic回歸與“回歸”一點關系也沒有,因為歷史原因寫成regression,其實logistic回歸是classification分類問題。

3、擬合參數θ

    我將求解θ的套路稱之為神奇四步走:

step1:概率表達式

step2:參數θ的似然函數

step3:參數θ的對數似然函數

step4:極大似然估計(利用梯度上升對?(θ)求導)

    雖然logistic回歸與線性回歸在最后求參數θ的表達式(學習規則)相同,但由于二者所用的h(x)假設不同,所以是不同的算法。

    關于感知器算法,將線性回歸結果套用在階躍函數上,強制其輸出結果要么是0要么是1。該算法也是與線性回歸、logistic回歸完全不同的算法。

補充:

Binary classification 二元分類

gradient ascent 梯度上升

step function 階躍函數(階梯函數)

參考視頻

https://open.163.com/movie/2008/1/E/B/M6SGF6VB4_M6SGHM4EB.html

參考講義

http://cs229.stanford.edu/notes/cs229-notes1.pdf

相關文章

筆記 | 線性回歸的概率解釋(吳恩達CS229《機器學習》lecture 3-2)

機器學習筆記 | 局部加權回歸(吳恩達《機器學習》lecture 3-1)

從入門到放棄:監督學習之梯度下降(吳恩達《機器學習》監督學習筆記)lecture 2-2

用探索八卦的好奇心學習線性回歸(吳恩達《機器學習》監督學習整理筆記)lecture 2-1

吳恩達《機器學習》課程入門介紹的整理筆記 lecture 1


版權聲明:公號千萬篇,版權第一條。轉載不規范,博主兩行淚。

本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
監督學習(機器學習)
邏輯回歸(Logistic Regression)
邏輯回歸的深入理解總結
SoftMax回歸詳解
機器學習十七:感知機
Coursera公開課筆記: 斯坦福大學機器學習第六課“邏輯回歸(Logistic Regression)”
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 靖西县| 策勒县| 浠水县| 甘肃省| 增城市| 泾阳县| 府谷县| 德庆县| 邮箱| 资中县| 亳州市| 太仓市| 和平县| 印江| 霞浦县| 谷城县| 乌兰县| 葫芦岛市| 南部县| 双辽市| 博爱县| 雷山县| 达尔| 宜昌市| 北流市| 吉木乃县| 五原县| 太湖县| 彭泽县| 洛阳市| 田阳县| 上杭县| 崇义县| 即墨市| 靖江市| 长海县| 双鸭山市| 苏州市| 金坛市| 桃园市| 庆城县|