邏輯回歸
什么是邏輯回歸?
邏輯回歸是用來做分類的演算法,處理離散型的資料
我們在了解了線性回歸之后,其實邏輯回歸就很簡單啦,線性回歸是什么,其實說白了就是一個線性組合比如說wx+b,而邏輯回歸是什么呀,最終的輸出值是不是只有0,1,或者說是【0,1】的一個概率值,那我們就想是不是可以找到一個激活函式去給這個線性組合做一個映射,而在邏輯回歸中采用的這個映射的激活函式就是sigmoid,
怎么做的分類?
把輸出的結果,帶入到sigmoid激活函式中,取值范圍[0,1],同時呢這個也可以看作是概率,如果我們設定了一個閾值0.5,那么大于0.5的值可以看做正樣本,小于0.5的可以看做負樣本,這就進行了分類,
什么是sigmoid函式?
公式:1 /(1+e-z)
我們也可以帶入一下,如果z=∞的時候,結果值是不是很接近1,如果z=0的時候,值是不是=0.5,如果z=-∞的時候,那么結果是不是接近0.,那么得出的影像就像下圖一樣,

我們知道,邏輯回歸是線性回歸通過一個映射關系的來的,這個映射關系又是sigmoid,那么此時的邏輯回歸模型可以表達成什么?
Y = sigmoid(wx+b)
發現模型中的引數其實就是w,問題來啦,在做線性回歸的時候,只對模型進行建模之后,模型求出來的值直接就是預測值,然后真實值直接去對比就可以了,就可以得出來誤差,但是邏輯回歸并不能,但是思路應該是一樣的


p是預測出來的概率值,那么通過這個概率值的出來相應的預測值y,可以看出來,我們這個公式是分成兩種情況的對不對,那么代價是不是也可以分為兩種情況,1.如果真實值的y=1的時候,預測出來的p越小,代價是不是就越大,如果預測出來的p越大那么代價是不是就會越小,2.如果真實值y=0的情況下,如果預測出來的p越大,說明我預測成1的概率也就越大,那這很明顯又是很大的概率會出錯,因此代價也是會更大,
那么既然知道它們之間有這個關系,是不是我們將這個關系表示出來就可以進行求解了?
那么應該如何去表示?
為什么要用log函式去表示呢?Log函式如下:

那么cost=-log(p),是不是就是把上邊的影像反過來就好了,又因為其中的變數p(概率)的取值肯定實在(0,1)之間的,因此得到的函式如下:

同理是不是也可以畫出來cost=-log(1-p)的函式影像:

那么到現在可以理解為什么要使用log函式去作為懲罰函式
但是寫成兩個函式的話總歸是很不方便的,同時我們考慮它是不是也可以寫成一個函式:

他們這兩個式子是等價的,假設說y=1是,前半部分就是log(p),后半部分就是0,
然后拓展到m個樣本上:

然后將p帶入:

這個式子就是我們最終的道德邏輯回歸的代價公式,那么這個這么復雜的式子肯定不能像線性回歸的正規方程那樣直接求出解,不能直接求出最優的引數,不過雖然不能直接的進行求解,但是可以使用梯度下降法進行求解,
接下來說邏輯回歸做的經典任務就是二分類問題,那么它可不可以去實作多分類問題?
可以,比如說有三類,可以將class1作為1類,另外的兩類作為0類,進行劃分,然后將class2作為1類,其他兩類作為0類,進行劃分,最終的出如下結果:

為什么邏輯回歸的處理要進行離散化?
- 速度快,離散的稀疏向量的計算要更快,比如說:123456789,對比0,0,0,0,0,
- 魯棒性強,比如說線性回歸中有一個年齡值為300歲,很明顯是個例外點,但是它是w*X+b的形式,所以300這個值仍然會影響到權重的變化,但是如果是離散性的,就是比如說大于70歲為長壽,小于為正常,如果有300歲這個值并不會對產生什么影響,
- 準確率、精確率、召回率、F1_score
以分類演算法為例,假設班里有50個同學,其中男生30個,女生20個,我們根據身高、體重、頭發長度、聲音分貝等等特征,想找到所有女生,比如已經有這樣一個分類器了,得到結果如下:

這里我們是要找到所有女同學,故把女同學作為正樣本(positive),男同學作為負樣本(Negative),預測結果正確為True,預測結果錯誤為False,基于此,我們結合上面的資料給出如下定義和值:
TP(True Positive): 真實是女生,預測結果也是女生的數量(18個)
FN(False Negative): 真實是女生,預測結果是男生的數量(2個)
TN(True Negative): 真實是男生,預測結果也是男生(25個)
FP(False Postive): 真實是男生,預測結果是女生(5個)

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/384138.html
標籤:AI
