假設如今有一些數據點,咱們用一條直線對這些點進行擬合,這個擬合過程稱做迴歸。利用logistic迴歸進行分類的主要思想是:根據現有數據對分類邊界線創建迴歸公式,以此進行分類。算法
基於Logistic迴歸和Sigmoid函數的分類機器學習
咱們想要的函數應該是,能接受全部的輸入而後預測出類別。在兩個分類的狀況下,上述函數輸出0或者1。咱們能夠選擇sigmoid函數,計算公式以下:函數
y=1/(1+e-x)。學習
爲了實現Logistic迴歸分類器,咱們能夠在每一個特徵上都乘以一個迴歸 係數,而後把全部的結果值相加,將這個總和代入sigmoid函數中,進而獲得一個範圍在0~1之間的數值。任何大於0.5的數據被分入1類,小於0.5的即被納入0類。肯定了分類器的函數形式以後,如今問題變成了:最佳迴歸係數是多少?如何肯定它們的大小?優化
基於最優化方法的最佳迴歸係數肯定遍歷
梯度上升法基於的思想是:要找到某函數的最大值,最好的方法是沿着該函數的梯度方向探尋。方法
梯度上升算法的迭代公式以下:數據
w:=w+α*∂f(w)/∂w。gis
該公式將一直被迭代執行,直到達到某個中止條件爲止,好比迭代次數達到某個指定值或算法達到某個能夠容許的偏差範圍。
隨機梯度上升
梯度上升算法在每次更新迴歸係數時都須要遍歷整個數據集,該方法的的計算複雜度過高了。一種改進算法時一次僅使用一個樣本點來更新迴歸係數,該方法稱爲隨機梯度上升算法。因爲能夠在新樣本到來時對分類器進行增量式更新,於是隨機梯度上升算法是一個在線學習算法。
處理缺失值的方法:
1>使用可用特徵的均值來填補缺失值
2>使用特殊值來填補缺失值,如(-一、0)(更新時不影響係數)
3>忽略有缺失值的樣本
4>使用類似樣本的均值添補缺失值
5>使用另外的機器學習算法去預測缺失值