作者 | 汪雯琦
來源 | CSDN 博客
出品 | AI科技大本營(ID:rgznai100)
學習目標
知道邏輯迴歸的損失函數
知道邏輯迴歸的優化方法
知道sigmoid函數
知道邏輯迴歸的應用場景
應用LogisticRegression實現邏輯迴歸預測
知道精確率、召回率指標的區別
知道如何解決樣本不均衡情況下的評估
瞭解ROC曲線的意義說明AUC指標大小
應用classification_report實現精確率、召回率計算
應用roc_auc_score實現指標計算
邏輯迴歸介紹
邏輯迴歸(Logistic Regression)是機器學習中的一種分類模型,邏輯迴歸是一種分類算法,雖然名字中帶有迴歸,但是它與迴歸之間有一定的聯繫。由於算法的簡單和高效,在實際中應用非常廣泛。
邏輯迴歸的應用場景:
廣告點擊率
是否為垃圾郵件
是否患病
金融詐騙
虛假賬號
看到上面的例子,我們可以發現其中的特點,那就是都屬於兩個類別之間的判斷。邏輯迴歸就是解決二分類問題的利器。
邏輯迴歸的原理
要想掌握邏輯迴歸,必須掌握兩點:
邏輯迴歸中,其輸入值是什麼
如何判斷邏輯迴歸的輸出
1、輸入
邏輯迴歸的輸入就是一個線性迴歸的結果。
2、激活函數
sigmoid函數
判斷標準
迴歸的結果輸入到sigmoid函數當中
輸出結果:[0, 1]區間中的一個概率值,默認為0.5為閾值
邏輯迴歸最終的分類是通過屬於某個類別的概率值來判斷是否屬於某個類別,並且這個類別默認標記為1(正例),另外的一個類別會標記為0(反例)。(方便損失計算)
輸出結果解釋(重要):假設有兩個類別A,B,並且假設我們的概率值為屬於A(1)這個類別的概率值。現在有一個樣本的輸入到邏輯迴歸輸出結果0.6,那麼這個概率值超過0.5,意味著我們訓練或者預測的結果就是A(1)類別。那麼反之,如果得出結果為0.3那麼,訓練或者預測結果就為B(0)類別。
所以接下來我們回憶之前的線性迴歸預測結果我們用均方誤差衡量,那如果對於邏輯迴歸,我們預測的結果不對該怎麼去衡量這個損失呢?我們來看這樣一張圖。
那麼如何去衡量邏輯迴歸的預測結果與真實結果的差異呢?
損失以及優化
1、損失
邏輯迴歸的損失,稱之為對數似然損失,公式如下:
分開類別:
怎麼理解單個的式子呢?這個要根據log的函數圖像來理解
綜合完整損失函數
看到這個式子,其實跟我們講的信息熵類似。
接下來我們就帶入上面那個例子來計算一遍,就能理解意義了。
我們已經知道,log§, P值越大,結果越小,所以我們可以對著這個損失的式子去分析
2、優化
同樣使用梯度下降優化算法,去減少損失函數的值。這樣去更新邏輯迴歸前面對應算法的權重參數,
提升原本屬於1類別的概率,降低原本是0類別的概率。【end】
原力計劃
《原力計劃【第二季】- 學習力挑戰》正式開始!即日起至 3月21日,千萬流量支持原創作者!更有專屬【勳章】等你來挑戰
Python數據清理終極指南(2020版)
無需3D運動數據訓練,最新人體姿勢估計方法達到SOTA | CVPR 2020
前端 Webpack 工程化的最佳實踐
如何與亦敵亦友的 說拜拜?大神原來是這麼做的!
從哈希函數、哈希衝突、開散列出發,一文告訴你哈希思想與哈希表構造到底是什麼!
羅永浩欲直播帶貨,京東說可以幫忙聯繫
閱讀更多 AI科技大本營 的文章