机器学习笔记(十一)——逻辑回归
生活随笔
收集整理的這篇文章主要介紹了
机器学习笔记(十一)——逻辑回归
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、引言
????雖然說是邏輯回歸,其實既可以用它做回歸,也可以用它做分類。一般我們從最簡單的二分類問題開始了解他,當然也可以做多分類。
二、Logistic Regression 的一般步驟
三、二分類問題下Logistic Regression的過程
3.1 Logistic Function
????在機器學習筆記(十)——Logistic Function AND Softmax Function中我們已經討論過了Logistic 函數,因此,建議不熟悉的讀者參考上述文章。
3.2 找一個合適的假設
????假設樣本是各個貸款人的信息,標簽是他是否違約。目標是建立一個模型,用來預測一個貸款人違約的可能性,而銀行根據這個信息決定是否放款給當前的貸款人。那么,很明顯,這是一個分類問題,根據貸款人的一些信息和已知的標簽,我們建立模型,去預測新來的貸款人違約的可能性。這里將貸款人的各個信息,如學歷、年收入、信用卡違約次數等作為x,將他是否違約記為y,其中y=1表示違約,y=0表示不違約。那么,一個貸款人違約的可能性為:
其中, θ是參數向量。通過上式,可以將借款人的各個信息映射到(0,1)之間,表示他是否違約的可能性。
P(y=1|x;θ)=hθ(x)P(y=0|x;θ)=1?hθ(x)
將上式表示成一個式子:
P(y|x;θ)=hθ(x)y(1?hθ(x))1?y
至此,得到了一個給定貸款人信息時,他違約概率的表達式。
3.3 構造損失函數
????在整個樣本集中,m個獨立樣本出現的似然函數是:
L(θ)=∏i=1mP(yi|xi;θ)
利用最大似然求θ,取對數最大似然:
定義下式為損失函數:
J(θ)=?1ml(θ)=?1m∑i=1mlog[hθ(xi)yi(1?hθ(xi))1?yi]=?1m∑i=1m{yiloghθ(xi)+(1?yi)log[1?hθ(xi)]}
最大化 l(θ)相當于最小化 J(θ).
3.4 讓損失函數最小,求出對應的參數值
????優化的目標函數如下:
由于上式中的 θ是一個參數向量,因此,沒辦法用函數導數等于0直接求出,它是沒有解析解的,因此,我們可以采用梯度下降的方法求得極小值。梯度下降方法請參照 最優化學習筆記(三)——梯度下降法。
?J(θ)?θ=?1m∑i=1m{?T(θ)?θ}(1)
其中:
T(θ)=yloghθ(x)+(1?y)log[1?hθ(x)]
?T(θ)?θ=y1hθ(x)?hθ(x)?θ+(1?y)11?hθ(x)(??hθ(x)?θ)=?hθ(x)?θ(yhθ(x)+(y?1)1?hθ(x))=?hθ(x)?θ(y?hθ(x)hθ(x)(1?hθ(x)))
因為:
?hθ(x)?θ=hθ(x)(1?hθ(x))x
則:
T(θ)=(y?hθ(x))x
由于取的是樣本集中的第 i 個樣本,所以將上式代入(1)
?J(θ)?θ=?1m∑i=1m(yi?hθ(xi))xi=1m∑i=1m(hθ(xi)?yi)xi
這樣,就可以得到 θ的迭代公式:
θ=θ+α?J(θ)?θ=θ+α1m∑i=1m(hθ(xi)?yi)xi(2)
需要說明的是,我們可以從2式中看出,每次計算一次 θ,都要進行全部樣本數據的計算,直到 θ收斂,還有一種可以采用隨機梯度法進行計算,這樣只需要遍歷一遍數據集即可,下次討論。
總結
以上是生活随笔為你收集整理的机器学习笔记(十一)——逻辑回归的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL 复制表
- 下一篇: STM32开发 -- patch生成和使