新聞中心
問題背景
假設(shè)有這樣的一個需求:判斷某一朵花是不是鳶尾花。我們知道不同品種的花,其長得是不一樣,所以我們可以通過花的若干外觀特征(花萼長度、花萼寬度、花瓣長度、花瓣寬度等)來表示這一朵花。基于這個思路,我們采集N朵花并對其標注,得到以下的數(shù)據(jù)集。圖片

創(chuàng)新互聯(lián)公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元扶溝做網(wǎng)站,已為上家服務(wù),為扶溝各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108
考慮最簡單的一種情形,Y(是否為鳶尾花),與特征X線性相關(guān),W定義為相關(guān)系數(shù),即模型F可以用下面公式表述:
化簡寫成向量化形式:
圖片也就是線性回歸:
現(xiàn)在問題來了,是和否是兩種狀態(tài),在計算機科學上我們常用1/0開關(guān)量來表述,但是從表示式的值域上看數(shù)學公式:
能取任意值,這是沒辦法直接成表述0/1開關(guān)量。那如何解決這個問題呢?通過一個轉(zhuǎn)換函數(shù)(又稱為激活函數(shù)),將線性回歸轉(zhuǎn)換邏輯回歸。
建模思路
并不是任意函數(shù)都可以作激活函數(shù)使用的,激活函數(shù)具有以下幾種良好的性質(zhì):
非線性,線性函數(shù)的復(fù)合線性函數(shù)仍是線性函數(shù),故線性激活函數(shù)不能帶來非線性的變換,使用這樣激活函數(shù)不能增強模型的表達能力,如此一來就沒辦法擬合復(fù)雜的實現(xiàn)問題了,所以激活函數(shù)必須非線性的。
連續(xù)可微,如果函數(shù)不可微分,就沒辦法通過梯度下降法來迭代優(yōu)化,以得到近似的最優(yōu)解了。如果激活函數(shù)不可微,可能需要其他各復(fù)雜的數(shù)學工具來求解,一是未必會有解,二是計算成本太高,難以實現(xiàn)和落地。
單調(diào)性,線性函數(shù)本身是單調(diào),這個本身是一定的物理意義的,所以經(jīng)過激活函數(shù)轉(zhuǎn)換后也保持這個性質(zhì),不能改變其單調(diào)性。滿足
直接轉(zhuǎn)換
通過一個分段函數(shù),把f(x)直接映射成0或1,如公式所示:
但是,這個分段函數(shù)不連續(xù)不可微不單調(diào),還帶一個額外的參數(shù)k,所以這種分段函數(shù)并不適合作激活函數(shù)使用。
間接映射
不直接映射成0或1,而是將f(x)的值域壓縮到(0,1)之間,如公式所示:
這就是sigmoid函數(shù)了,下圖為sigmoid函數(shù)的圖像。
顯然是這個函數(shù)是具有上面提到的激活函數(shù)的三種優(yōu)良性質(zhì)。同時將輸出壓縮到(0,1)區(qū)間上,有一個很直觀感受是,我們可以把這個輸出值理解為一種概率,在這個問題上指的是鳶尾花的概率,當這個概率值大于0.5,說明鳶尾花概率大即1,反之則不是鳶尾花即0,這就能實現(xiàn)分類的判別了。
實現(xiàn)邏輯
那既然現(xiàn)在有了sigmoid激活函數(shù),我們該如何利用它訓練模型呢?模型之所以能訓練是依賴于兩個神器:損失函數(shù)和梯度下降,前者能量化我們模型預(yù)測與真實結(jié)果的誤差、確定優(yōu)化的目標函數(shù),后者能知道如何去減少誤差、具體地優(yōu)化目標函數(shù)。
損失函數(shù)
sigmoid激活函數(shù)輸出值可以看作是概率,具體地我們可以把這個概率,看成是預(yù)測結(jié)果為是的概率。
我們需要預(yù)測的分類結(jié)果要么為是要么為否,只有兩種情況,顯然樣本X是服從伯努利(0-1)分布。假定樣本X,當分類標簽真值y為1時,我們就看y_pred也是sigmoid的輸出值(模型預(yù)測為是的概率),0是1的互斥事件,當分類標簽真值為0時,我們就看1-y_pred(模型預(yù)測為否的概率),所以條件概率P(Y|X)可以量化出模型預(yù)測的準確程度了。
合并化簡,整合成統(tǒng)一形式
P(Y|X)就是模型預(yù)測結(jié)果,顯然P(Y|X)的值越接近于1,說明模型預(yù)測結(jié)果越準。一個數(shù)據(jù)集有N個樣本,每個樣本之間獨立的,所以在模型在整個數(shù)據(jù)上好壞,可以這樣定義:
顯然,要使得模型的效果最佳,則得找到一個最佳參數(shù)
使得
能取到最大值,這個就是最優(yōu)化方法里面的極大使然估計(MLE)了,我們找到損失函數(shù)了。
接下來,我們得看看如何轉(zhuǎn)換這個損失函數(shù):加負號(最大值問題轉(zhuǎn)化最小值問題,梯度下降能找最小值),取對數(shù)(不改單調(diào)性,把復(fù)雜的連乘變成簡單的連加)
梯度下降
確定了目標函數(shù)之后,接下來就可以利用梯度下降,用迭代更新參數(shù)W,使其不斷逼近目標函數(shù)的極值點。
梯度推導(dǎo):
聯(lián)立式②③可見
由此可見,t+1時刻模型預(yù)測誤差總會比在t時刻更小,通過這樣迭代,模型就能不斷學習和調(diào)整,一直到偏導(dǎo)數(shù)為0的(局部)最優(yōu)極值點,這時候參數(shù)便無法再繼續(xù)調(diào)整了,模型也就停止再訓練了。
結(jié)語
邏輯回歸(Logistic Regression)是機器學習上面一個最簡單、最基礎(chǔ)的模型框架和基本范式,不夸張地說它是機器學習奠基石之一,后續(xù)的機器學習模型,很多都是立足于這個基礎(chǔ)的模型框架上,提出各種形式拓展與改進。
深刻地理解邏輯回歸模型,梳理邏輯回歸模型背后建模思路、因果緣由、實現(xiàn)邏輯,能讓我們對機器學習的方法論有一個更全面更清晰的認知。
分享標題:機器學習進階之深入思考邏輯回歸
網(wǎng)頁網(wǎng)址:http://m.fisionsoft.com.cn/article/dpjeoig.html


咨詢
建站咨詢
