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