ML模型2:邏輯迴歸
一些迴歸演算法可以用來處理分類問題,以及一些分類演算法可以進行迴歸預測,邏輯迴歸就屬於前者。邏輯迴歸一般通過估計一個概率值,來表示一個樣本屬於某一類的概率。假如一個樣本屬於某一類的概率大於50%,那麼就判該樣本屬於這一類。
優點:計算代價不高,易於理解和實現。
缺點:容易欠擬合,分類精度可能不高。
1. 實現分類
邏輯迴歸對樣本概率的估計類似線性迴歸,也是計算出樣本的一系列權重,然後將該權重線性加和之後輸入到sigmoid函式中,進而計算出一個概率值。 其中 即為權重, 即為sigmoid函式,如下: sigmoid函式圖象: sigmoid函式將 的值域從 對映到 (0, 1),從而表示發生事件的概率值,所以我們可以根據計算出來的概率值來進行對樣本進行分類:
2. 損失函式
我們既然是通過sigmoid函式的值來進行概率預測的,那麼我們的目標就應該是找出一組權重引數θ,能夠對於正樣本使得sigmoid函式有一個高的輸出值,而對於負樣本有一個低的輸出。 我們可以通過計算損失函式來逐步達到這一的目標。對於單個樣本來說,損失函式如下公式。與線性迴歸的平方誤差不同,此處使用的是對數損失(Q1. 為什麼?): 對整個資料集損失函式如下: 對以上損失函式並不像最小二乘法般有封閉解,但由於函式是凸函式,可以使用梯度下降的方法尋找最優值。
3. 極大似然估計
概率公式 上面已經給出,對任意一個樣本有 對以上公式整合得: 對所有樣本,發生的概率為 對數似然 引入 作為損失函式,與上面得到的損失函式一致。 下面使用梯度下降求解。
4. 梯度下降求解
雖然損失函式看起來複雜,但得益於sigmoid函式,是其梯度計算後結果十分簡單。 不難證明,對sigmoid函式求導得: 對 求梯度,得: 引數更新: 向量化表示:
5. 多分類問題softmax
softmax其實是Logistic的推廣到多類別分類應用中,不需建立多個二分類分類器來實現多類別分類。softmax分類器的思想很簡單,對於一個新的樣本,softmax迴歸模型對於每一類都先計算出一個分數,然後通過softmax函式得出一個概率值,根據最終的概率值來確定屬於哪一類。
通過下公式來計算並歸一化之後就是輸出的概率值: 計算出每一個分類的概率值後,從得到的各個概率值中選擇最大的一個概率類別,即為預測類別
類似邏輯迴歸,我們可以通過損失函式求得最優解: