吴恩达机器学习 -- 逻辑回归(Logistic Regression)
7.1? 分類問題
如果要預測的變量 是離散值,此時我們應用 logistics regression。
在分類問題中,我們對某一事物進行分類,有二分類和多分類問題。此節先討論二分類問題,即只有兩個分類。
將因變量(dependent variable)可能屬于的兩個類分別稱為負向類(negative class)和正向類(positive class),則因變量? , 0 表示負向類,1 表示正向類。
用線性回歸算法解決分類問題往往不是一個好方法,我們用邏輯回歸去解決。
邏輯回歸算法雖然帶著“回歸”二字,但是卻是一個分類算法,適用于標簽 取值離散的情況。
?
7.2 假說陳述
邏輯回歸模型的假設函數為: ,其中? 代表特征向量, 代表邏輯函數, 是一個常用的S型邏輯函數(sigmoid function),公式為 ,該函數的圖像為:
將 代入有邏輯函數 ,有
的作用是:對給定的輸入變量x,在給定的參數 下,計算輸出變量=1的可能性,即
例如,如果對于給定的 ,通過已經確定的參數計算得出,則表示有70%的幾率為正向類,相應地為負向類的幾率為1-0.7=0.3。
?
7.3 決策邊界
在邏輯回歸中,我們預測:
時,
時,
根據上圖,可以知道:
時,
時,
又 ,即當 時,預測 ,當 時,預測
假設有一個模型:
假設我們已經利用代價函數擬合出參數?,參數向量?
則當 時,預測 ,可以繪制直線 ,將預測為1的區域和預測為 0的區域分隔開。
注意:決策邊界是參數 的性質,不是數據集的性質。當確定了參數 ,就可以確定決策邊界,訓練集用來擬合參數 。
?
7.4 代價函數
對于線性回歸模型,定義的代價函數是 。
理論上來說,我們也可以對邏輯回歸模型沿用這個定義,但是問題在于,當我們將帶入到這樣定義了的代價函數中時,我們得到的代價函數將是一個非凸函數(non-convexfunction),它會有很多局部最優值,當使用梯度下降法時,不能保證會收斂到全局最優值。
重新定義邏輯回歸模型的代價函數為:
,其中:
與 之前的關系如下:
分析上圖可知:
當 , 時,誤差為0;而當 時,誤差卻急劇增大,趨向于
當 , 時,誤差為0;而當 時,誤差卻急劇增大,趨向于
?
7.5 簡化代價函數與梯度下降
將構建的 作如下簡化:
,代入代價函數得到:
得到代價函數后,就可以利用梯度下降法來求得能使代價函數最小的參數了,算法為:
求偏導后得到:
注:雖然得到的梯度下降算法表面上看上去與線性回歸的梯度下降算法一樣,但是這里的 與線性回歸中不同,所以實際上是不一樣的。除此之外,在運行梯度下降算法之前,進行特征縮放依舊是非常必要的。
?
7.6 高級優化
除了梯度下降算法以外,還有一些常被用來令代價函數最小的算法,這些算法更加復雜和優越,而且通常不需要人工選擇學習率,通常比梯度下降算法要更加快速。這些算法有:共軛梯度(Conjugate Gradient),局部優化法(Broyden fletcher goldfarb shann,BFGS)和有限內存局部優化法(LBFGS)
?
7.7 多類別分類:一對多
用邏輯回歸模型也可以解決多分類問題。對于一個多分類問題,數據集類似這樣:
用一對多的思想,用在多類分類問題。
可以使用一個訓練集,將其分成3個二元分類問題
拿上圖來說,可以創建一個,新的"偽"訓練集,類型2和類型3定為負類,類型1設定為正類。下面訓練一個標準的邏輯回歸分類器,這樣就得到一個正邊界。
為了能實現這樣的轉變,將多個類中的一個類標記為正向類(),然后將其他所有類都標記為負向類,這個模型記作。接著,類似地第我們選擇另一個類標記為正向類(),再將其它類都標記為負向類,將這個模型記作 ,依此類推。 最后我們得到一系列的模型簡記為:, 其中:
然后要做的就是訓練這個邏輯回歸分類器:, 其中 對應每一個可能的? ,最后,為了做出預測,給出輸入一個新的 值,用這個做預測。我們要做的就是在我們三個分類器里面輸入? ,然后我們選擇一個讓 最大的.
?
總結
以上是生活随笔為你收集整理的吴恩达机器学习 -- 逻辑回归(Logistic Regression)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机组成原理 -- 概念点整理
- 下一篇: 吴恩达机器学习 -- 正则化