干貨|簡單理解邏輯回歸基礎
點擊上方“小白學視覺”,選擇加"星標"或“置頂”
重磅干貨,第一時間送達
分類問題其實和回歸問題很相似,但是它的輸出值y值(也即是說我們打算預測的值)只是少量的一些離散值,像是如果我們只是想要機器通過“觀察”某個西瓜的一些特征從而來告訴我們這個西瓜是好是壞,那么我們就可以設輸出值y為0表示壞瓜,1表示好瓜,那么判斷這個西瓜好壞的過程其實就是一個分類問題,它的輸出值就是離散的(僅為0或者1)?。
而分類問題中最簡單的是二元分類,顧名思義,就是輸出值只有兩個,就像上面那個例子,結果只有好瓜和壞瓜,不會輸出“不好不壞的”這種莫名其妙的瓜。
在二元分類中,我們常常用0和1來限定y值,繼續(xù)套用上面那個分瓜的例子,我們假設x(i)?表示西瓜的特征,那么y就被稱作西瓜的標簽(也就是類別),y的0值往往被稱作西瓜的“負類”,1值便稱作西瓜的“正類”。有時候我們還會用“+”和“-”來代替1和0,像是在圖上的時候,這樣會表現(xiàn)的更清楚。
既然分類問題和回歸問題的區(qū)別僅僅是輸出值不同,那么線性回歸是不是也能拿來當作分類問題的模型使用呢?就像是那個西瓜,我們?nèi)绻扔镁€性回歸學習一批好瓜和壞瓜的特征,然后似乎就可以用訓練好的模型來預測一個新出現(xiàn)的西瓜是更接近好瓜還是壞瓜了。
這樣做確實可以,但得到的結果往往非常不理想。既然我們已經(jīng)很清楚的知道y要么是0要么是1,就沒有必要再用這種吃力不討好的方式去強行擬合一條回歸曲線。但“回歸”的假設函數(shù)hθ(x)的原理是沒有毛病的,因此,我們只需要對原來的線性回歸的假設函數(shù)做出一些修改:

就可以讓原來的“回歸”曲線變成一條分類曲線。
這里的
也被叫做邏輯函數(shù)或Sigmoid函數(shù),它的圖像如下:

這個時候g(z)在z→∞的時候趨向于1,在z→?∞的時候趨向于0而且除了g(z),它上面的函數(shù)h(x)也被限制在區(qū)間(0,1)之間取值。這個sigmoid函數(shù)是一個非常神奇的函數(shù),它不僅把輸出y映射在了0,1之內(nèi),還是一個非常符合“自然”的函數(shù),因為它默認了樣本服從高斯分布——太詳細的內(nèi)容我們在之后的“廣義生成模型”中討論,現(xiàn)在講這個就跑的太遠啦。目前的話,我們就先姑且認為我們通過一個神奇的函數(shù)把線性回歸變成了用于解決分類問題的邏輯回歸。
像之前一樣,我們讓x0=1,可以得到:

然后,又因為sigmoid函數(shù)擁有的優(yōu)良求導性質(zhì):

我們就可以利用這個函數(shù)來擬合邏輯回歸模型了。
根據(jù)我們對線性回歸應用的在一系列假設的情況下求極大似然的方式,我們可以賦予我們的分類模型一系列概率假設,然后通過最大似然來估計擬合參數(shù)。假設:

當然,這個兩個式子可以合為:

假設訓練集中的m個訓練樣本是相互獨立的,我們可以這樣寫出參數(shù)的似然估計:

同線性回歸中的運算方式一樣,我們?nèi)?shù)似然函數(shù):

為了讓l(θ)取到最大值,我們這次使用梯度上升法,它與梯度下降一樣,只不過方向θ要增大,因此,θ的梯度更新方程為:

這個方程中我們使用了加號(線性回歸中的梯度下降我們用的是負號),因為我們想要求的是函數(shù)的最大值。(這也是它被稱為梯度上升的原因)。
假設訓練集中只有一個訓練樣本(x,y),我們對l(θ)求導以此來獲得隨機梯度上升的規(guī)則:

然后,我們將得出的結果應用到隨機梯度上升的θ更新公式:

若是應用到批梯度上升則是:

將他們和之前的最小均方法里面的梯度下降的θ的更新公式作比較,會發(fā)現(xiàn)二者一模一樣。但是,事實上這里的hθ(x)已經(jīng)變?yōu)殛P于θTx(i)的非線性函數(shù)(它的函數(shù)式和線性回歸地h(x)是不一樣的),所以這與我們的線性回歸并不是同一個算法。
如果你還關注過其它的一些關于機器學習的消息的話,你會覺得這個函數(shù)很眼熟,因為這個函數(shù),事實上也是神經(jīng)網(wǎng)絡中單個神經(jīng)元常用的激勵函數(shù)。
交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~

