[机器学习] Coursera ML笔记 - 逻辑回归(Logistic Regression)
引言
機(jī)器學(xué)習(xí)欄目記錄我在學(xué)習(xí)Machine Learning過程的一些心得筆記,涵蓋線性回歸、邏輯回歸、Softmax回歸、神經(jīng)網(wǎng)絡(luò)和SVM等等。主要學(xué)習(xí)資料來自Standford Andrew Ng老師在Coursera的教程以及UFLDL Tutorial,Stanford CS231n等在線課程和Tutorial,同一時(shí)候也參考了大量網(wǎng)上的相關(guān)資料(在后面列出)。
前言
本文主要介紹邏輯回歸的基礎(chǔ)知識(shí)。文章小節(jié)安排例如以下:
1)邏輯回歸定義
2)如果函數(shù)(Hypothesis function)
3)決策邊界(Decision Boundary)
4)代價(jià)函數(shù)(Cost Function)
5)優(yōu)化方法
邏輯回歸定義
簡(jiǎn)單來說,
邏輯回歸(Logistic Regression)是一種用于解決二分類(0 or 1)問題的機(jī)器學(xué)習(xí)方法。用于預(yù)計(jì)某種事物的可能性。比方某用戶購(gòu)買某商品的可能性。某病人患有某種疾病的可能性,以及某廣告被用戶點(diǎn)擊的可能性等。
注意。這里用的是“可能性”。而非數(shù)學(xué)上的“概率”,logisitc回歸的結(jié)果并不是數(shù)學(xué)定義中的概率值,不能夠直接當(dāng)做概率值來用。該結(jié)果往往用于和其它特征值加權(quán)求和,而非直接相乘。
那么邏輯回歸與線性回歸是什么關(guān)系呢?
邏輯回歸(Logistic Regression)與線性回歸(Linear Regression)都是一種廣義線性模型(generalized linear model)。
邏輯回歸如果因變量 y 服從伯努利分布。而線性回歸如果因變量 y 服從 高斯分布。
因此與線性回歸有非常多同樣之處,去除Sigmoid映射函數(shù)的話。算法就是一個(gè)線性回歸。能夠說。邏輯回歸是以線性回歸為理論支持的,可是邏輯回歸通過Sigmoid函數(shù)引入了非線性因素。因此能夠輕松處理0/1分類問題。
機(jī)器學(xué)習(xí)中的不論什么算法都有著數(shù)學(xué)基礎(chǔ),有著不同的前提如果和對(duì)應(yīng)的約束。因此如果想要深入的掌握機(jī)器學(xué)習(xí)算法。必須要撿起數(shù)學(xué)課本,包含統(tǒng)計(jì)、概率、微積分等。
如果函數(shù)(Hypothesis function)
邏輯回歸的如果函數(shù)形式例如以下:
這個(gè)函數(shù)稱為Sigmoid函數(shù),也稱為邏輯函數(shù)(Logistic function)。其函數(shù)曲線例如以下:
從上圖能夠看到sigmoid函數(shù)是一個(gè)s形的曲線。它的取值在[0, 1]之間,在遠(yuǎn)離0的地方函數(shù)的值會(huì)非常快接近0/1。這個(gè)性質(zhì)使我們能夠以概率的方式來解釋。
一個(gè)機(jī)器學(xué)習(xí)的模型。實(shí)際上是把決策函數(shù)限定在某一組條件下,這組限定條件就決定了模型的如果空間。當(dāng)然。我們還希望這組限定條件簡(jiǎn)單而合理。
而邏輯回歸模型所做的如果是:
這里的 g(h) 是上邊提到的 sigmoid 函數(shù)。對(duì)應(yīng)的決策函數(shù)為:
選擇0.5作為閾值是一個(gè)一般的做法。實(shí)際應(yīng)用時(shí)特定的情況能夠選擇不同閾值。如果對(duì)正例的判別準(zhǔn)確性要求高,能夠選擇閾值大一些。對(duì)正例的召回要求高,則能夠選擇閾值小一些。
決策邊界(Decision Boundary)
決策邊界,也稱為決策面。是用于在N維空間。將不同類別樣本分開的平面或曲面。
首先看Andrew Ng老師課程上的兩張圖:
線性決策邊界:
決策邊界:
非線性決策邊界:
決策邊界:
上面兩張圖非常清晰的解釋了什么是決策邊界,決策邊界事實(shí)上就是一個(gè)方程,在邏輯回歸中。決策邊界由theta’X=0定義。
要注意理解如果函數(shù)和決策邊界函數(shù)的差別與聯(lián)系。決策邊界是如果函數(shù)的屬性,由如果函數(shù)的參數(shù)決定。
在邏輯回歸中,如果函數(shù)(h=g(z))用于計(jì)算樣本屬于某類別的可能性;決策函數(shù)(h=1(g(z)>0.5))用于計(jì)算(給出)樣本的類別。決策邊界(θ^Tx=0)是一個(gè)方程。用于標(biāo)識(shí)出分類函數(shù)(模型)的分類邊界。
代價(jià)函數(shù)(Cost Function)
線性回歸中的代價(jià)函數(shù):
線性回歸中的代價(jià)函數(shù)看上去非常好理解。但卻不能用于邏輯回歸。原因例如以下:
如果我們使用這個(gè)代價(jià)值形式,J(θ)會(huì)變成參數(shù)θ的非凸函數(shù),由于在邏輯回歸中,H(θ)是一個(gè)Sigmoid函數(shù),其曲線例如以下:
該函數(shù)是一個(gè)非凸函數(shù),有非常多局部最優(yōu)值。
如果你把梯度下降法用在一個(gè)這種函數(shù)上,不能保證它會(huì)收斂到全局最小值。
對(duì)應(yīng)地我們希望我們的代價(jià)函數(shù)J(θ)是一個(gè)凸函數(shù),是一個(gè)單弓形函數(shù),例如以下:
如果對(duì)它使用梯度下降法。我們能夠保證梯度下降法會(huì)收斂到該函數(shù)的全局最小值。
由于H(θ)是一個(gè)sigmoid函數(shù),導(dǎo)致J(θ)成為一個(gè)非凸函數(shù),因此。我們須要另外找到一個(gè)不同的代價(jià)函數(shù),它是凸函數(shù),使得我們能夠使用非常好的算法,如梯度下降法,并且能保證找到全局最小值。
因此,我們採(cǎi)用例如以下的形式計(jì)算樣本的代價(jià)值:
邏輯回歸中的代價(jià)函數(shù):
補(bǔ)充資料:極值 和 最優(yōu)化問題
所謂極值。簡(jiǎn)單地說,是指一群同類量中的最大量(或最小量).對(duì)于極值問題的研究,歷來被視為一個(gè)引人入勝的課題.波利亞說過:“雖然每一個(gè)人都有他自己的 問題,我們能夠注意到。這些問題大多是些極大或極小問題.我們總希望以盡可能低的代價(jià)來達(dá)到某個(gè)目標(biāo)。或者以一定的努力來獲得盡可能大的效果,或者在一定 的時(shí)間內(nèi)做最大的功,當(dāng)然,我們還希望冒最小的風(fēng)險(xiǎn)。
我相信數(shù)學(xué)上關(guān)于極大和極小的問題,之所以引起我們的興趣,是由于它能使我們?nèi)粘I钪械膯栴}理想 化.”波利亞,《數(shù)學(xué)與猜想》,第一卷。第133頁(yè)我們將看到。很多實(shí)際問題和數(shù)學(xué)問題。都可歸結(jié)為形形色色的極值問題,才干得到統(tǒng)一地解決.
優(yōu)化方法
在邏輯回歸中,依舊使用梯度下降法對(duì)代價(jià)函數(shù)進(jìn)行優(yōu)化。完整形式例如以下:
注意:
邏輯回歸和線性回歸問題中。梯度下降算法的形式看上去是一致的(更新參數(shù)的規(guī)則看起來基本同樣),但實(shí)際上兩者是全然不同的。由于如果函數(shù)是不同的,須要特別注意這一點(diǎn)。
其向量化實(shí)現(xiàn)(vectorized implementation)例如以下:
總結(jié)
以上是生活随笔為你收集整理的[机器学习] Coursera ML笔记 - 逻辑回归(Logistic Regression)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 了解区块链,从挖矿开始
- 下一篇: Java线程与并发编程实践----同步器