邏輯迴歸算法(Logistics Regression),雖然叫回歸算法,可是主要用於處理因變量爲分類變量的迴歸問題。算法
常見的是二分類或二項分佈問題,也能夠處理多分類問題,它其實是屬於一種分類算法。函數
因爲邏輯迴歸主要用於處理兩分類問題。咱們須要先找到一個預測函數(h),顯然,該函數的輸出必須是兩個值(分別表明兩個類別)。因此利用了Logistic函數(或稱爲Sigmoid函數),函數形式爲:3d
二分類問題的機率與自變量之間的關係圖形每每是一個S型曲線,如圖所示,採用的Sigmoid函數實現:code
該函數能夠將任意的輸入映射至[0,1]區間。咱們在線性迴歸中,能夠獲得一個預測值,再將該值映射到Sigmoid函數中,就完成了由值到機率的轉變。也就是分類問題。blog
下面咱們以二元邏輯迴歸爲例子,假設咱們的樣本輸出是0或者1兩類。則:io
合併上式:變量
其中y=0或者1。這樣就獲得了y的機率分佈函數表達式。接下來咱們用似然函數最大化來求解咱們須要的模型參數 。原理
爲了方便求解,咱們用對數似然函數最大化,對數似然函數取反即爲咱們的損失函數 。im
對數似然函數表達式爲:數據
對數似然函數表達式,即損失函數的表達式爲:
對上式求導:
i表明樣本,j表明樣本的特徵。
轉換爲梯度降低任務:
參數更新:
- 優勢:
1. 直接對分類可能性進行建模,無需實現假設數據分佈,這樣就避免了假設分佈不許確所帶來的問題。 2. 形式簡單,模型的可解釋性很是好,特徵的權重能夠看到不一樣的特徵對最後結果的影響。 3. 除了類別,還能獲得近似機率預測,這對許多需利用機率輔助決策的任務頗有用。
- 缺點:
1. 準確率不是很高,由於形式很是的簡單,很難去擬合數據的真實分佈。 2. 自己沒法篩選特徵。