监督学习:逻辑回归
目錄
1 邏輯回歸理論知識
邏輯回歸算法是干什么的?
邏輯回歸模型的假設(shè)函數(shù):
決策邊界(decision boundary)
損失函數(shù)
為什么用這損失函數(shù)?
損失函數(shù)的求導(dǎo):
2 代碼復(fù)現(xiàn)
1 邏輯回歸理論知識
邏輯回歸算法是干什么的?
答:(單變量)線性回歸算法是試圖找到一條直線去擬合數(shù)據(jù),而邏輯回歸算法是試圖找到一根線,去分隔數(shù)據(jù),是一種分類算法,如下圖:
邏輯回歸模型的假設(shè)函數(shù):
- 其中,X代表特征向量,g代表邏輯函數(shù),一個常用的邏輯函數(shù)是sigmoid函數(shù)。
- 為什么要用個sigmoid函數(shù)?答:對于給定的輸入變量,函數(shù)要輸出一個分類的概率值,取值在0~1之間。
決策邊界(decision boundary)
損失函數(shù)
在線性回歸中,我們用誤差平方和作為損失函數(shù),但是如果將下面這種假設(shè)函數(shù)帶入誤差平方和損失函數(shù)中,它會是一個非凸函數(shù),即有很多局部最小值,會影響梯度下降尋找全局最小值。
線性回歸的損失函數(shù)是:
我們重新定義邏輯回歸損失函數(shù)為如下:
為什么用這損失函數(shù)?
- 要知道,y即分類標(biāo)簽,其值要么是1要么是0,這就有:
- 公式中l(wèi)og就是ln()函數(shù):
- h取值在0~1之間(因為是sigmoid的輸出),所以 h 和 Cost 關(guān)系圖如下:
損失函數(shù)的求導(dǎo):
2 代碼復(fù)現(xiàn)
用numpy復(fù)現(xiàn)了文章開頭兩個案例圖的邏輯回歸,具體代碼在:
https://github.com/YM2025/machine_learning/tree/master/2_logistic_regression
總結(jié)
- 上一篇: 监督学习:线性回归
- 下一篇: 并发编程之多进程编程(python版)