从逻辑回归到神经网络
回顧
小夕在文章《邏輯回歸》中詳細講解了邏輯回歸模型,又在《Sigmoid與Softmax》中詳細講解了Sigmoid的實際意義(代表二類分類問題中,其中一個類別的后驗概率)。
至此,我們已經(jīng)比較透徹的理解了邏輯回歸模型假設(shè)函數(shù)(也就是用于預(yù)測類別的函數(shù))。純從計算順序上來說,邏輯回歸預(yù)測類別的順序即:
1.?輸入樣本X與模型參數(shù)作內(nèi)積,結(jié)果記為z
2.?將中間結(jié)果z輸入到Sigmoid函數(shù),輸出為0到1之間的一個數(shù),a(在前兩文中已經(jīng)證明了這個a即其中一個類的后驗概率)
?
然后,小夕要將上面的過程畫出來。
這里假設(shè)輸入的樣本X是4維的,即,因此模型參數(shù)也是4維,即。為了方便,本文中忽略偏置項b的問題啦,自行腦補上。然后,blingling~釋放小仙女的仙氣~~
?
如上圖,黑色圈圈代表原始的輸入,即4維的特征向量。連接邊代表模型參數(shù),當(dāng)然,這里用w表示啦,代表weight,即特征向量每一維度的權(quán)重。
權(quán)重的末端即X與的內(nèi)積結(jié)果,即z,也是Sigmoid函數(shù)的輸入。粉色圈圈即Sigmoid函數(shù)。輸入z經(jīng)過粉色圈圈后生成a,即某一類別的后驗概率。
一個奇怪的idea
?
誒?你們有沒有想過,同樣對于二類分類任務(wù),我們?nèi)绻麑⒍鄠€邏輯回歸分類器的輸出,作為另一個邏輯回歸分類器的輸入,并讓這個邏輯回歸分類器負(fù)責(zé)輸出分類任務(wù)的類別。比如我們用3個邏輯回歸分類器的輸出作為另1個邏輯回歸分類器的輸入,blingling,施展魔法:
藍色的邏輯回歸分類器和粉色的邏輯回歸分類器的輸出和就是綠色的邏輯回歸分類器的輸入。(好像句子有點長誒)綠色的邏輯回歸分類器的輸出就是二類分類任務(wù)中一個類別的后驗概率。
?
誒?等等,想法看起來是沒錯,雖然綠色的邏輯回歸分類器的分類任務(wù)很明確,就是我們最終的分類任務(wù)。但是藍色和粉色的分類任務(wù)是什么呢?或者說,它們輸出的后驗概率和到底是什么類別的后延概率呢?
?
答:不知道。
?
是真的不知道啊。。。這一次不是小夕調(diào)皮了,是真的不知道。不是小夕不知道,而是全世界都不知道。更嚴(yán)謹(jǐn)?shù)恼f,除了通過實驗觀測的方式可以看懂極少部分模型的這里的類別的含義外,絕大部分情況下,這就是個黑匣子,只有計算機心里自己清楚。
?
哎,不管啦,我們暫且不管藍色和粉色的分類器的分類任務(wù)是什么,就由它自己作吧~我們繼續(xù)。
那么問題來了,既然同樣都是做二類分類,我們?yōu)槭裁创筚M周章,用這么多邏輯回歸分類器,最終還是輸出某個類的后驗概率呢?
?
還記不記得,邏輯回歸是一個線性分類器!
邏輯回歸模型本質(zhì)上就是用y=WX+b這個函數(shù)畫決策面,而這個函數(shù)當(dāng)然就是2維/3維/更高維空間的直線/平面/超平面,因此當(dāng)然是線性分類器啦。
?
因此,對于下面這個分類任務(wù)(黑色是類別0的樣本,紅色是類別1的樣本)單個邏輯回歸分類器的決策面最多只能畫成這樣子了。
?
?
然而,這個分類任務(wù)很明顯決策面不是這樣子的呀,于是,我們上面DIY(自行設(shè)計)的這個“多邏輯回歸組合的模型”要起作用了!
藍色的邏輯回歸分類器或許可以學(xué)習(xí)到如下的決策面
?
?
粉色的邏輯回歸分類器或許可以學(xué)習(xí)到如下決策面
?
?
綠色的邏輯回歸分類器將藍色和粉色的決策結(jié)果結(jié)合起來,畫出最終的如下決策面:
?
?
看~本來線性的邏輯回歸分類器,經(jīng)過組合之后,就成了一個復(fù)雜的非線性分類器了!非常完美的畫出了復(fù)雜的決策邊界!
?
那么這個這么好用的模型叫什么名字呢?
當(dāng)然就是:
神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)blingling登場了~
?
將上面我們DIY的模型對著下面標(biāo)準(zhǔn)的神經(jīng)網(wǎng)絡(luò)模型對號入座吧:
?
我們DIY模型中的特征向量X在這里依然是X,被稱為輸入層,也是神經(jīng)網(wǎng)絡(luò)的第1層。
我們DIY模型中的藍色和粉色邏輯回歸分類器的Sigmoid輸入、Sigmoid函數(shù)、Sigmoid輸出在這里都放在了隱單元和輸出單元中。但是我們DIY的模型中的Sigmoid函數(shù)在神經(jīng)網(wǎng)絡(luò)中被稱為激活函數(shù)(以后會講含義,而且SIgmoid并不是唯一合適的激活函數(shù))。
當(dāng)然啦,我們前面說了,藍色邏輯回歸分類器和粉色邏輯回歸分類器的分類任務(wù)就是個黑匣子,根本不知道它輸出的后驗概率是什么類別的后驗概率。所以說,在神經(jīng)網(wǎng)絡(luò)中,隱單元的數(shù)量一般也只能憑借經(jīng)驗或者交叉驗證等非科學(xué)手段來確定。
各個隱單元組成的這一層被稱為隱含層。
?
最后的輸出單元,實際上也是跟前面一樣,只不過在神經(jīng)網(wǎng)絡(luò)中更習(xí)慣于畫成下面的樣子,讓每個輸出單元代表一個類別:
當(dāng)然,本質(zhì)上是一樣的東西啦。
我們DIY模型中的各個邏輯回歸分類器的模型參數(shù)在這里被稱為各層之間各個神經(jīng)元之間連接邊的權(quán)重。這里的連接邊Wkji就代表第k層到第k+1層之間,第k層的第i個神經(jīng)元到第k+1層的第j個神經(jīng)元之間的連接權(quán)重,這個權(quán)重跟邏輯回歸中的含義一樣,這里代表兩個神經(jīng)元之間的連接強弱。
將其中一個隱單元點開看大圖:
看吧~跟我們DIY的邏輯回歸模型一模一樣,就是輸入X與權(quán)重W(即邏輯回歸中的參數(shù))做內(nèi)積得到z,再丟入Sigmoid函數(shù)出來a。
over,看吧,神經(jīng)網(wǎng)絡(luò)并不是小白教程中找?guī)讉€圈圈連一連,然后跑個BP算法就完事的孤立模型。沒有想到它竟然跟邏輯回歸有這么一腿吧( ̄? ̄)
更多疑問
誒?那這個復(fù)雜的模型如何訓(xùn)練呢?
激活函數(shù)為什么叫激活函數(shù)呢?這個模型又為什么叫神經(jīng)網(wǎng)絡(luò)呢?
在神經(jīng)網(wǎng)絡(luò)中,我們可不可以不局限在邏輯回歸模型里呢?比如我們不用Sigmoid作為激活函數(shù)了,采用其他形式的函數(shù)作為激活函數(shù)可以嗎?其他激活函數(shù)又各會帶來什么新特性呢?
在神經(jīng)網(wǎng)絡(luò)中,我們可不可以增加更多隱含層呢?(相當(dāng)于級聯(lián)更多層的分類器)誒?有深度學(xué)習(xí)的味道了?
?
另外,如果我們要用神經(jīng)網(wǎng)絡(luò)做多類分類的話,又該怎么辦呢?會跟Softmax有關(guān)嗎?
?
眾多疑惑和猜想,待小夕為你一一解開。敬請期待本系列的后續(xù)文章吧~
總結(jié)
以上是生活随笔為你收集整理的从逻辑回归到神经网络的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 质量运营在智能支付业务测试中的初步实践
- 下一篇: 从0到1构建美团压测工具