一、邏輯迴歸介紹
邏輯迴歸又稱logistic迴歸分析,是一種廣義的線性迴歸分析模型,常用於數據挖掘,疾病自動診斷,經濟預測等領域。以胃癌病情分析爲例,選擇兩組人羣,一組是胃癌組,一組是非胃癌組,兩組人羣必定具有不同的體徵與生活方式等。因此因變量就爲是否胃癌,值爲“是”或“否”,自變量就可以包括很多了,如年齡、性別、飲食習慣、幽門螺桿菌感染等。自變量既可以是連續的,也可以是分類的。然後通過logistic迴歸分析,可以得到自變量的權重,從而可以大致瞭解到底哪些因素是胃癌的危險因素。同時根據該權值可以根據危險因素預測一個人患癌症的可能性。(摘自百度百科)
Logistic迴歸常用於預測離散型目標變量,經典的二分類算法,(也可做多分類算法)它的優點:穩定,應用廣泛;解釋性強,易於理解。缺點:容易欠擬合,分類精度可能不高。如果拿到一個分類任務,我們可以先用邏輯迴歸做個基礎模型,做好後,再用其他算法優化。另外邏輯迴歸的決策邊界是可以非線性的。
二、Sigmoid函數
爲了實現Logistic迴歸分類器,我們可以將每個特徵乘上一個迴歸係數再相加等到一個線性迴歸預測值(),而這個預測值是的實數,那麼如何將這個預測值映射出我們想要的分類結果呢?這就連想到Sigmoid函數,公式:
由上圖兩個都是sigmoid函數,其自變量z取值爲任意實數,值域都在[0,1]之間。這不就是我們想要的嗎?我們在線性迴歸中得到的預測值映射到sigmoid函數,得到由值到概率的轉換,得到的概率大於0.5的歸爲一類,小於0.5的歸爲一類。所以,Logistic迴歸也可看成是一種概率估計。下圖座標尺度足夠大,可以看到在x=0處,Sigmoid函數看起來很想階躍函數。(海維塞德階躍函數:函數在跳躍點上從0瞬間跳躍到1)