一個神經網絡結構,其中的一個神經網絡層,本質就是一個邏輯回歸模型
深度神經網絡的本質就是多層邏輯回歸模型互相連接或采用一定的特殊連接的方式連接在一起構成的。其中每一個層本質就是一個邏輯回歸模型。
邏輯回歸模型基本原理
邏輯回歸(Logic)是一種廣義線性回歸模型(generalized linear model),其與多重線性回歸有諸多的相同之處,但其實則是一個分類模型,屬于有監督算法,主要用常見的二分類問題求解,是一種采用回歸方法的分類模型。
邏輯回歸的基本決策函數形態為:
其中的g(*)是可微函數,這類模型也被稱為廣義線性模型,函數映射關系f(x)被稱作為聯系函數link function,現今廣泛熟知的邏輯回歸就是諸多廣義回歸模型的其中一種。
在邏輯回歸中,使用對數幾率函數Logistic function作為g^-1(*).對數幾率函數的表達式為:
對數幾率函數叫做Sigmoid函數
Sigmoid函數是一個在生物學中常見的S型函數,也稱作S行生長曲線。由于其單增以及反函數單增等特性,Sigmoid函數常被用作神經網絡的激活函數,將變量映射到0-1之間。
利用這個對數幾率函數,可以將z轉化為一個(0,1)區間內的值。
對數幾率函數重要的導數性質
如果將標簽y表示分類結果,結合二分類趕驢模型可知,標簽結果為正例反例的概率和為1
可以將y表示為出現正例的概率,將1-y表示為出現返利的概率
所以ln y/(1-y)中的y/(1-y)表示正反例出現概率的壁紙,這個比值稱作幾率,用來表示樣本x出現正例的相對可能性。對幾率繼續取得對數,即ln y/(1-y)即稱作對數幾率。
上式實則是在利用線性回歸模型的預測結果取得逼近真實標記的對數幾率。
邏輯回歸模型也稱作對數幾率模型。通過邏輯回歸的決策函數給出證明,證明回歸確實是一種專用于二分類問題求解的分類模型。
可以依據上述二分類場景進一步給出邏輯回歸的損失函數。假設下述兩個條件概率成立。
則邏輯回歸的損失函數可以表達為關于待評估參數列向量w的似然函數:
當第i個樣本的真實標簽yi為1時,1-yi的結果就等于0,(1-yi的反^0=1,整體似然函數的極大值就與yi的反^yi有關,表示“預測的標簽結果yi的反=1”的概率,如果這個概率能夠為1(真實為1,預測為1),則其為必然事件,模型的效果就越好,損失函數就能達到極小化。
當第i個樣本的真實標簽yi為0時,1-yi的結果就等于1,(yi的反)^1=1,整體似然函數的極大值就與(1-yi的反)^(1-yi)有關,表示“預測的標簽結果yi的反=1”的概率,如果這個概率能夠為1(真實為0,預測為0),則其為必然事件,模型的效果越好,損失函數就能達到極小化。
對于每一條訓練樣本,如果總能保證yi的反^yi (1-yi的反)^(1-yi)總是達到最大值1,則構建的二分類模型必然是最想要的模型。
于是可以對每一條樣本都來追求最大值1,于是將其連乘,求得的關于待估參數w的似然函數自然希望求得最大值,此時的模型就是一個最優模型。
對上述對數似然函數取負值,即得邏輯回歸損失函數,
似然函數取得最大值時的待估參數即可取得最優解
對其取負值就表示:當似然函數取得最大值時,邏輯回歸的損失函數將達到極小化
損失函數表達式即為神經網絡模型中求解二分類問題時常采用的損失函數:二分類交叉熵損失函數
邏輯回歸模型優點
邏輯回歸模型可以直接對分類可能性進行建模,該模型不僅可以預測出標簽所屬的類別,還可以得到近似概率的預測,標簽所屬某類別的可能性,對于需要利用概率來輔助決策的場景很重要。
對數幾率函數是任意階均可導(知道n階均可導,具有n階可導行,因為:(e^x)'=e^x的凸函數,有很多數學相關性質,現有的很多數值優化算法都可直接用于其最優解的求解。
采用梯度下降法對其進行求解。
梯度下降法:數學:一元函數、多元函數微分、積分學章節中關于偏導數、方向導數、全微分及梯度的相關概念。數據挖掘算法:梯度下降法章節中關于梯度下降和梯度上升的相關概念。
邏輯回歸模型的實現
借助Pytorch結合邏輯回歸的決策函數及損失函數自行構建一個簡單的邏輯回歸模型。
導包
準備訓練數據,暫不考慮數據集劃分,構造一個假樣本
實現邏輯回歸模型對象
執行模型訓練,觀測模型訓練過程,查看損失函數梯度下降過程
損失函數的值伴隨迭代梯度下降過程在不斷的趨近于極小化,表示模型的建模效果是正確的
邏輯回歸模型與神經網絡關系密切
邏輯回歸的決策函數
決策函數可以看為一個矩陣的線性運算與一個非負函數的復合關系,最終輸出y的反(開始更改名次稱謂y的反之前稱作標簽,也即估計量,在此之后的神經網絡中稱為output layer)
yhat
單層感知機,是一種最簡單的神經網絡,其中的X即特征,在神經網絡中一般稱為輸入層Input layer,w^T即參數(后續稱作權重),Sigmod(w^T X+b)就是輸出層output layer,Sigmod函數在神經網絡中不再稱作非線性函數,稱為激活函數activate function
單層感知機引申:可以構建一種人工的類似神經元信息傳遞的過程,將輸入層的數據逐層“傳遞”最終得到輸出結果。使用多個人工神經元構建的多層感知機,就是一種最普遍的人工神經網絡,在輸入層與輸出層之間加入隱藏層,隱藏層的層數可以任意。
深度學習是一種表征學習,要學習的是樣本的特征,希望特征的學習更全面。
加入隱藏層的目的是:將特征通過隱藏層映射到更高維的空間,進行更高維的特征表達,能夠將樣本的特征表達的更清晰,模型學習的特征的效果也越好,最終所得輸出層的結果也越符合模型建模方向。
單程感知機、多層感知機
————————————
僅用于本人學習
來源:網絡