从Logistic回归到神经网络的一点感悟
從Logistic回歸到神經(jīng)網(wǎng)絡(luò)的一點(diǎn)感悟
- 第一次寫(xiě)博客,是自己剛邁入新的學(xué)習(xí)節(jié)奏,想寫(xiě)一點(diǎn)東西,整理一下思緒的時(shí)候;也希望為數(shù)據(jù)分析學(xué)會(huì)的每周技術(shù)帖分享起個(gè)頭。
- 主要是記錄自己的感悟,當(dāng)做學(xué)習(xí)筆記來(lái)寫(xiě);有錯(cuò)誤的地方歡迎指正。
- 從Logistic回歸到神經(jīng)網(wǎng)絡(luò)的一點(diǎn)感悟
- 線性回歸 Linear Regression
- 回歸來(lái)源
- 線性回歸總結(jié)
- Gauss-Markov 假設(shè)
- 常見(jiàn)問(wèn)題及解決辦法
- 感知機(jī) Perceptron
- 定義
- 學(xué)習(xí)策略
- Logistic Regression
- 怎么來(lái)的
- 怎么求解
- 首先介紹一下常見(jiàn)的幾種損失函數(shù)
- Logistic回歸的損失函數(shù)負(fù)對(duì)數(shù)損失
- Tips
- 神經(jīng)網(wǎng)絡(luò) Neural Network
- 怎么理解
- 最簡(jiǎn)單的幾種形式
- 感知機(jī)
- Logistic回歸
- 后記
- 線性回歸 Linear Regression
1 線性回歸 (Linear Regression)
大略總結(jié)下
回歸來(lái)源
我們關(guān)心的東西沒(méi)有辦法用一個(gè)或多個(gè)變量確定的表示,即無(wú)函數(shù)關(guān)系;但是又存在著較強(qiáng)的關(guān)聯(lián)性。這種關(guān)系就叫統(tǒng)計(jì)關(guān)系或相關(guān)關(guān)系。衍生兩個(gè)分支是回歸分析和相關(guān)分析。二者側(cè)重不同,回歸分析用的更廣泛。
回歸分析中,x稱為解釋變量,是非隨機(jī)變量;y稱為響應(yīng)變量,是隨機(jī)變量。
回歸有線性回歸和非線性回歸;以最小二乘法(Least Square)為主的線性回歸是最經(jīng)典的回歸模型。
回歸和分類的問(wèn)題是相同的,僅區(qū)別于響應(yīng)變量的形式。y是分類變量時(shí)(例:0-1),模型為分類;是連續(xù)變量時(shí)稱為回歸。
線性回歸總結(jié)
Gauss-Markov 假設(shè):
高斯-馬爾科夫是核心假設(shè),后面回歸出現(xiàn)的問(wèn)題都由此而來(lái)。
常見(jiàn)問(wèn)題及解決辦法
- 異方差性:即GM假設(shè)第5條不滿足,σi不再是常數(shù)。解決辦法:加權(quán)最小二乘。打個(gè)廣告,解決異方差性,這篇推送寫(xiě)的不錯(cuò):如何收服異方差性
多重共線性:第3條不滿足。舉例:自變量同時(shí)有一天進(jìn)食量和中午以后進(jìn)食量。解決辦法:根據(jù)多重共線性檢驗(yàn)刪除一些不重要的變量;逐步回歸、主成分回歸、偏最小二乘,Ridge,Lasso(嶺回歸與LASSO為正則化方法,在解釋性上強(qiáng)于前面兩種)
當(dāng)響應(yīng)變量是定性變量。解決辦法:
- 在數(shù)據(jù)處理上設(shè)置啞變量(dummy variable)
- 響應(yīng)變量是定性變量在生活中有廣泛的應(yīng)用,其屬于廣義線性模型(generialized linear model,GLM)的研究范疇。
2 感知機(jī) (Perceptron)
定義
當(dāng)響應(yīng)變量 y 是分類變量時(shí),建模過(guò)程就是分類了。感知機(jī)(Perceptron)是二分類的線性分類模型。可以看做是線性回歸的兄弟(線性分類)。同時(shí)也是神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)(support vector machine)的基礎(chǔ)。
下一篇學(xué)習(xí)筆記會(huì)試著寫(xiě)寫(xiě)從感知機(jī)到支持向量機(jī)。
在周志華老師的機(jī)器學(xué)習(xí)一書(shū)中側(cè)重于將其作為神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)概念,對(duì)感知機(jī)的定義如下:
感知機(jī)由兩層神經(jīng)元組成,輸入層接受外界輸入信號(hào)后傳遞給輸出層,輸出層是M-P神經(jīng)元,亦稱“閾值邏輯單元”(threshold logic unit)。如下圖所示:
學(xué)習(xí)策略
在感知機(jī)模型中,假設(shè)數(shù)據(jù)集是線性可分的。因此,感知機(jī)的目標(biāo)是找到一個(gè)超平面,將兩類點(diǎn)(正 or 負(fù))完全分隔開(kāi)來(lái)。因此,學(xué)習(xí)策略的核心是找到這樣的超平面方程:wx+b=0
因此,訓(xùn)練需要得到的參數(shù)是 w 和 b。采用誤分類點(diǎn)到該超平面的距離來(lái)作為損失函數(shù);這里不選誤分類點(diǎn)的總個(gè)數(shù)是因?yàn)檫@樣的損失函數(shù)不是參數(shù) w 和 b的連續(xù)可導(dǎo)函數(shù),不便于優(yōu)化。
損失函數(shù):
L(w,b)=?∑xi∈Myi(w?xi+b)其中 M是誤分類點(diǎn)的集合。這個(gè)損失函數(shù)就是感知機(jī)學(xué)習(xí)的經(jīng)驗(yàn)風(fēng)險(xiǎn)函數(shù);所以問(wèn)題就轉(zhuǎn)化為一個(gè)求解損失函數(shù)最小的最優(yōu)化問(wèn)題,最優(yōu)化的方法是隨機(jī)梯度下降(Stochastic gradient descent)。對(duì)于更多細(xì)節(jié)可以看李航的統(tǒng)計(jì)學(xué)習(xí)方法這本書(shū);感知機(jī)這部分在書(shū)中有很全面的介紹。
3 Logistic Regression
怎么來(lái)的
在前面已經(jīng)提到了廣義線性模型,其一般表示形式為:
其中,函數(shù) g(?) 稱為連接函數(shù)(link funtion),且要求是單調(diào)可微的。廣義線性模型中,要求響應(yīng)變量 y 服從指數(shù)分布族中的已知分布。常見(jiàn)的正態(tài)分布、泊松分布、二項(xiàng)分布等都屬于指數(shù)分布族。
那為什么要求服從指數(shù)分布族呢?
個(gè)人認(rèn)為:如果我們這樣求出來(lái)的一個(gè)值y,而不知道被解釋變量的分布情況,沒(méi)啥用,什么也干不了。 (歡迎大佬補(bǔ)充)
因此在Logistic回歸中,取連接函數(shù)為logit函數(shù):g(p)=ln(p1?p),
當(dāng)yi~Bin(n,pi),相應(yīng)的GLM模型為:
那大佬們說(shuō)的Sigmoid函數(shù)是什么意思呢?
我們將上式寫(xiě)成回歸函數(shù)的樣子(兩邊取指數(shù),挪一挪就得了):
機(jī)器學(xué)習(xí)中,一般令 z=wTx+b ,且有 p(y=1|x)=σ(z),其中σ(z)=11+e?z 。
我們稱 σ(z) 為 Sigmoid函數(shù),圖像長(zhǎng)這個(gè)樣子:
可以看到函數(shù)圖像是一個(gè) S型 的曲線,它將線性模型 z=wTx+b非線性映射到 [0,1] 區(qū)間里。
因此可以簡(jiǎn)單的認(rèn)為:Logistic回歸分兩個(gè)部分,第一部分線性回歸形式z=wT+b ,第二部分是非線性映射 p(y=1|x)=σ(z)
怎么求解
首先介紹一下常見(jiàn)的幾種損失函數(shù) :
平方損失:
很容易發(fā)現(xiàn),我們普通最小二乘回歸所用的的損失函數(shù)就是平方損失。帶了平方項(xiàng),使得殘差累計(jì)不能夠正負(fù)抵消,且損失函數(shù)是連續(xù)可導(dǎo)的凸函數(shù):求起來(lái)也比較容易,局部最小就是全局最小。
絕對(duì)值損失
當(dāng)回歸用絕對(duì)值損失時(shí),則稱為最小一乘回歸,它使得殘差絕對(duì)值的和最小。最小一乘回歸是分位數(shù)回歸(quantile regression)的特例。
LASSO損失
給損失函數(shù)加了參數(shù) β 的一范數(shù)作為懲罰項(xiàng)。
Logistic回歸的損失函數(shù):負(fù)對(duì)數(shù)損失
我們已經(jīng)得到了Logistic回歸模型,等式左邊的 p(y=1|x) 是在已有的信息 x 下,y 等于 1 的概率作為響應(yīng)變量 y^。那么就有 p(y=0|x)=1?y^ 。為了使用 極大似然估計(jì) (Maximum Likelihood Estimate) 來(lái)估計(jì)參數(shù) w 和 b , 我們寫(xiě)出其似然函數(shù):
即:當(dāng) y=1 時(shí),(1-y) =0 ,任何式子的 0 冪次都等于0 ,等式取第一個(gè);當(dāng) y=0 時(shí), y=0 ,任何式子的 0 冪次都等于0 ,等式取第二個(gè)。
由于 Log為單調(diào)增函數(shù),不改變損失函數(shù)的極大值點(diǎn) ,且將冪運(yùn)算變?yōu)槌朔?#xff0c;簡(jiǎn)化計(jì)算,所以似然項(xiàng)可重寫(xiě)為: p(y|x)=y?log(y^)+(1?y)?log(1?y^)
極大似然估計(jì)要使上式最大化,得到參數(shù) w,b 。最優(yōu)化理論中,我們習(xí)慣求解極小化問(wèn)題,所以添個(gè)負(fù)號(hào),變?yōu)檎易钚≈档膬?yōu)化問(wèn)題。 l(w,b)=?∑ni=1[yi?log(y^i)+(1?yi)?log(1?y^i)]
這個(gè)時(shí)候損失函數(shù)是高階可導(dǎo)的連續(xù)凸函數(shù),梯度下降法就可以求解了。
Tips
統(tǒng)計(jì)中關(guān)心的 比值 odds 和 比值的比:優(yōu)勢(shì)比(odds ratio)
Odds =p(y=1|)1?p(y=1|x)比值 p1?p代表 正樣本的概率 除以 負(fù)樣本的概率,使得原來(lái) [0,1] 上的取值 放大到了 0到正無(wú)窮;且使二者分得更開(kāi)。若在取個(gè)對(duì)數(shù),得到 log(p(y=1|)1?p(y=1|x)) ,值域從0到正無(wú)窮 擴(kuò)大到 負(fù)無(wú)窮到正無(wú)窮,吻合一般的線性模型對(duì)響應(yīng)變量的要求。 odds ratio=odds(x1)odds(x2)=ewT(x1?x2)
優(yōu)勢(shì)比經(jīng)常被用來(lái)解釋變量的變動(dòng)帶來(lái)的事件 風(fēng)險(xiǎn)變化。 log(odds ratio)=wT(x1?x2)
參加交大研究夏令營(yíng)面試的時(shí)候,一位生物統(tǒng)計(jì)的老師問(wèn)到這個(gè),當(dāng)時(shí)有點(diǎn)懵圈,因?yàn)樯险n的時(shí)候老師也沒(méi)咋講。誒,想學(xué)生物統(tǒng)計(jì)的還是把這一塊好好了解一下吧。
4 神經(jīng)網(wǎng)絡(luò) (Neural Network)
怎么理解
神經(jīng)元:
上圖是一個(gè)神經(jīng)元,高中生物學(xué)過(guò)。簡(jiǎn)要來(lái)說(shuō):樹(shù)突接受信號(hào),胞體處理信號(hào),如果信號(hào)產(chǎn)生的電位達(dá)到閾值(threshold),胞體變?yōu)椤芭d奮”狀態(tài)(激活狀態(tài)),通過(guò)軸突給下一個(gè)神經(jīng)元傳出信號(hào)。
神經(jīng)元模型:
在機(jī)器學(xué)習(xí)中,談?wù)撋窠?jīng)網(wǎng)絡(luò)時(shí)指的是 “神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)“,是機(jī)器學(xué)習(xí)和生物神經(jīng)網(wǎng)絡(luò)的交叉部分。
神經(jīng)元模型是神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)中最基本的成分。下圖可以抽象的看做神經(jīng)元模型,和上面的生物神經(jīng)元對(duì)照著看。
左邊的x1,x2,....xn對(duì)應(yīng)數(shù)據(jù)的輸入(樹(shù)突結(jié)構(gòu)信號(hào)的傳入),圓圈相當(dāng)于胞體結(jié)構(gòu),胞體得到信息后和閾值做比較(θ 代表閾值);最后通過(guò)激活函數(shù)(activation function)決定輸出 y.
舉個(gè)例子:用手撓一下神經(jīng)元,可能強(qiáng)度達(dá)不到閾值,神經(jīng)元不理你;如果你用針用力刺一下它,疼痛感立馬大于閾值,神經(jīng)元分泌化學(xué)物質(zhì),即輸出相應(yīng)的信號(hào)。
最簡(jiǎn)單的幾種形式
感知機(jī)
前面介紹了感知機(jī),它可以看做是兩層神經(jīng)元組成,激活函數(shù)是 Heaviside函數(shù)(階躍函數(shù))的神經(jīng)元模型。當(dāng)輸入信號(hào)大于閾值,神經(jīng)元興奮,輸出1;否則神經(jīng)元抑制,輸出 0。
Logistic回歸
Logistic回歸可以看做是兩層神經(jīng)元,激活函數(shù)是Sigmoid函數(shù)的神經(jīng)網(wǎng)絡(luò)。
正如前面所說(shuō),可以給Logistic回歸看做兩步驟,第一:z=wTx+b,第二: y^=σ(z) 。
后記
多層的我也不知道咋解釋,函數(shù)一層嵌套一層的,現(xiàn)在也很難解釋。
有理論證明:神經(jīng)網(wǎng)絡(luò)層數(shù)多一點(diǎn),比一層個(gè)數(shù)里面多一點(diǎn)效果好;可以模擬任何的函數(shù);隨著樣本量的增大,效果會(huì)好起來(lái),但是肯定有極限。
反正第一次寫(xiě),不知道寫(xiě)多了還是寫(xiě)少了。有什么意見(jiàn)盡管提,爭(zhēng)取下次改正。大家都菜的摳腳,一起學(xué)習(xí)一起進(jìn)步。
總結(jié)
以上是生活随笔為你收集整理的从Logistic回归到神经网络的一点感悟的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: js android 通讯录,JavaS
- 下一篇: 网站安全防护该怎么做?有什么具体措施?