1,邏輯迴歸(Logistic Regression)正則表達式
監督學習除了線性迴歸以外,還有邏輯迴歸(Logistic Regression),也叫分類(Classifycation)算法
分類問題輸入和線性迴歸問題同樣,不過它的輸出是離散值。函數
咱們先來學習簡單二元分類(輸出值只有0和1)學習
問題就是給定n個特徵值Xi,輸出它的類別0或1.atom
由於輸出只有0和1,線性迴歸的假設函數就不適合,須要找一種輸出值是0到1的函數,可使用S函數(Sigmoid Function),也叫邏輯函數(Logistic Function)代替咱們的假設函數spa
\(h_{\theta}(x)= g(\theta ^{T}x)\)3d
\(z= \theta ^{T}x\)orm
\(g(z)= \frac{1}{1 + e^{-z}}\)blog
\(h_{\theta}(x) = g(z)\)ci
\(g(z)\)函數圖以下所示
能夠發現0<=\(g(z) = h_{\theta}(x)\)<=1,符合咱們的條件,咱們能夠對半分,根據hθ(x)更靠近0仍是1來分類
hθ(x)≥0.5→y=1
hθ(x)<0.5→y=0
或者解釋hθ(x)爲類1的機率,那麼獲得以下公式
hθ(x)=P(y=1|x;θ)=1−P(y=0|x;θ)
P(y=0|x;θ)+P(y=1|x;θ)=1
\(z=0\)
\(e^{0}=1 \Rightarrow g(z)=1/2 \)
\(z \to \infty, e^{-\infty} \to 0 \Rightarrow g(z)=1 \)
\(z \to -\infty, e^{\infty}\to \infty \Rightarrow g(z)=0 \)
\(y=1\rightarrow h_{\theta}(x) \geq 0.5 \rightarrow h_{\theta}(x)= \frac{1}{1 + e^{-z}} \geq 0.5\rightarrow \frac{e^{z}}{e^{z} + 1} \geq 0.5\rightarrow \frac{e^{\theta^{T} x}}{e^{\theta^{T} x} + 1} \geq 0.5 \rightarrow \theta^{T} x \geq 0\)
\(y=0 \rightarrow \theta^{T} x < 0\)
z = 0也稱爲決策邊界(Decision Boundary),是分隔0和1的界線
還有多是非線性多項式的決策邊界
2,代價函數(Cost Function)
若是使用相似線性迴歸的代價函數,在使用梯度降低法的時候,隨着\( \theta \)減少,代價函數會出現多個局部最小值,並不能達到全局最小值,是非凸函數,須要另外選代價函數,能夠選擇以下代價函數
當y=1和0時的代價函數Cost圖像以下
不管y=0仍是1,hθ(x)都是與y越接近越小,越遠越大,符合代價函數的最初定義
y=0和1合併可得單個樣例的代價函數
全部樣例的代價函數
改爲向量形式
梯度降低法求偏導後
最後結果的公式和線性迴歸如出一轍,除了假設函數hθ(x)
3,咱們能夠用Octave內部已經集成好的算法,如"Conjugate gradient", "BFGS", and "L-BFGS",來求線性迴歸和邏輯迴歸,這些比梯度降低法快的多,並且還不須要選擇學習速率α
只須要寫一個求代價函數cost的函數
,再調用 fminunc(@costFunction, initialTheta, options)
4,多元分類
當類別爲n(>=3)個時,咱們能夠把它當作n個2元分類問題,取機率最大的hθ(x)
5,解決過分擬合問題
第一幅圖是欠擬合(Underfittting),也可叫作高誤差(High Bias),特徵太少,沒法經過僅有的幾個特徵模擬線性迴歸模型
第二幅圖是正好,特徵正好
第三幅圖過分擬合(Overfitting),也可叫作高方差(High Variance),特徵太多,構建的模型不只僅模擬了原有的迴歸模型,還多出了本來模型不具有的特徵
解決過分擬合有兩種方法
1) 減小特徵值
2) 正則化
6,正則化
當咱們有以下假設函數時
能夠經過加入λθj2來下降θj
至關於懲罰θj
完整正則化公式 ,λ也叫正則參數,後面並有沒有θ0
線性迴歸模型的梯度降低迭代法的正則表達式
移項獲得
由於α*λ/m小於1,因此至關於θj減去一個常值,後面就和裸的的線性迴歸模型同樣了
正規方程(Normal Equation)經過以下正則化
當m<=n,加了λ⋅L以後,XTX + λ⋅就可逆了
同理可得,邏輯迴歸的過分擬合,代價函數和正則化