目錄
1 邏輯回歸理論知識
邏輯回歸算法是幹什麼的?
邏輯回歸模型的假設函數:
決策邊界(decision boundary)
損失函數
為什麼用這損失函數?
損失函數的求導:
2 代碼複現
1 邏輯回歸理論知識
邏輯回歸算法是幹什麼的?
答:(單變量)線性回歸算法是試圖找到一條直線去拟合資料,而邏輯回歸算法是試圖找到一根線,去分隔資料,是一種分類算法,如下圖:
邏輯回歸模型的假設函數:
-
- 其中,X代表特征向量,g代表邏輯函數,一個常用的邏輯函數是sigmoid函數。
- 為什麼要用個sigmoid函數?答:對于給定的輸入變量,函數要輸出一個分類的機率值,取值在0~1之間。
決策邊界(decision boundary)
損失函數
線上性回歸中,我們用誤差平方和作為損失函數,但是如果将下面這種假設函數帶入誤差平方和損失函數中,它會是一個非凸函數,即有很多局部最小值,會影響梯度下降尋找全局最小值。
線性回歸的損失函數是:
我們重新定義邏輯回歸損失函數為如下:
為什麼用這損失函數?
- 要知道,y即分類标簽,其值要麼是1要麼是0,這就有:
- 公式中log就是ln()函數:
- h取值在0~1之間(因為是sigmoid的輸出),是以 h 和 Cost 關系圖如下:
損失函數的求導:
2 代碼複現
用numpy複現了文章開頭兩個案例圖的邏輯回歸,具體代碼在:
https://github.com/YM2025/machine_learning/tree/master/2_logistic_regression