機器學習入門(一)初步認識了解神經網路

2021-09-26 09:00:17 字數 2828 閱讀 9501

閱讀內容來自全英文,但是閱讀難度不高。文風比較隨性,不是很嚴謹,個人隨筆向,不太好翻譯的詞都採用了英文,大家看看就好,不要噴我,hh~愛你們,麼麼噠(づ ̄ 3 ̄)づ

第一章 :建立神經網路識別數字

1.1 perceptrons

perceptrons,感知機,20世紀60年代由frank rosenblatt在前人研究成果上發展起來。要理解當今使用程度更為廣泛的sigmoid neuron,就必須先討論一下perceptron.多個二進位制輸入,單個二進位制輸出。本例中有三個輸入,通常情況下可以更多或更少。

rosenblatt提出了一種簡單的規則來計算輸出——權重。權重代表各個輸入對輸出的重要程度/比重/貢獻度/whatever,

以上就是感知機的基本數學模型。權重一定程度上代表了一種傾向度/意願

再看這個圖,第一層神經元做出了三個很簡單的決策,第二層神經員根據上層神經元的決策,與本層設定的權重進行第二層的計算。第二層的內容會更抽象與複雜,以此類推。最終得出一些微妙,精巧的決策。

讓我們回到perceptron,

這個條件一定程度上顯得笨拙,我們可以簡化一下,簡化為兩個向量的點積,w·x,w代表權重,x代表輸入,把閾值移動到左側,簡化為b,b=-threshold,

理解成輸入帶來的影響是否能夠啟用神經元。

perceptron也可以 代表基本的邏輯運算,通過與非門可實現任何邏輯門(這裡就不引申了)

如上圖所示,當神經網路建立後,如果進行了一次學識別,輸出為8,但是實際上本次輸入是一張數字9的的畫素資料,因此我們希望更改其中的某個權重,以調節輸出。但實際上任何乙個微小的改變都會造成輸出的巨大變化,因此實際上很難找到正確的神經元來調整權重以調整最終的輸出。因此,我們提出了一種新的形態的虛擬神經元——sigmoid neuron。目的是為了保證微小改變只帶來輸出的微小改變。

同描述perceptron一樣,我們採用同一張示意圖。三個輸入,x1,x2,x3,乙個輸出。輸出值為0或1。

sigmoid neuron的作用形式為

形式顯得生硬和陌生,初看似乎很難發現這個表示式的含義。

但我們假設輸入值z,數值較大,那麼取反,經過以自然底數為底的指數函式作用,並+1取倒數後,就會顯得很靠近1。另一方面,如果非常小,那麼輸出就會接近0,其本質是乙個自我歸一化的過程

繪製出函式圖,我們看到這樣的趨勢。

它和階躍函式一定程度上有一些相似。sigmoid neuron是平滑過的perceptron neuron,平滑帶來的意義即之前提到的要求——微小的輸入變化造成微小的輸出變化。

輸出的變化值有如上關係,他們的關係是線性的,因此在調整輸出上,更為方便。

ps:sigmoid neuron 所有的權重和偏差同時乘上同乙個大於0的常數,輸出是不會發生改變的

1.3 神經網路名詞定義

假設有神經網路如下:

最左側為輸入,最右側為輸出,相應的是輸入神經元和輸出神經元,中間的稱為隱層。對於這樣的結構,雖然神經元為sigmoid neuron,也有稱之為多層感知機結構的說法(mlps)。設計隱層的過程是較為複雜的,許多前人已經提出了一些較為可靠的構想,以及設計的理念。

文章提到了一種允許反饋網路存在的神經網路結構——recurrent neural networks(遞迴神經網路)。該模型的理念是,在有限的時間內,允許神經元輸出,之後將進入不活動狀態。這些神經元可以激勵其他神經元進入一定時間的活躍狀態,進入激勵更多的神經元,一段時間後我們得到了瀑布一般的激勵狀態,這種方法可以避免反饋環帶來的持續性作用影響,因為神經元對接受他激勵的神經元只作用一段時間。遞迴神經網路相比前饋神經網路的學習能力要差一些,但是他一定程度上更接近人腦的思考方式。

1.4 識別數字的神經網路處理

識別數字採用如圖所示的三層神經網路。輸入採用28*28畫素點點的構成784的畫素灰度矩陣,1代表黑色,0代表白色,介於中間的數值代表灰色。

定義輸入向量x,期望輸出向量y,y與x的實際輸出a做均方誤差

目標就是通過梯度下降法,找到這樣的權重w和偏差b,讓c逼近0,達到預期的估計效果。

我們定義改變其中某些變數帶來的均方差如下:

定義變數變化:

定義均方差的梯度為

定義 ,該比例係數為學習速率,

因此,均方差變化值為

這樣,無論如何變化,都能保證均方差一直在減小

因此v的變化就如上圖所示

機器學習初步了解

重點內容 對機器學習的理解,所謂機器學習,就是機器從資料中學習,機器從資料中學出規律,然後運用到新的資料中,在機器學習中,前者稱為訓練集,後者稱為測試集。學機器學習,我們第乙個往往學的是線性回歸 linear regression 在這裡,我從吳恩達教授講的例子說起,吳恩達講的是乙個房屋 與面積的關...

初步了解機器學習

1 特徵工程 2 train和test資料分割 3 模型訓練 4 5 交叉驗證 6 搜尋最優引數 我們以處理鳶花尾資料為例進行學習 首先是載入項 from future import print function 預先配置好的鳶尾花資料集 from sklearn.datasets import l...

機器學習之初步認識

這段時間,我系統地學習了機器學習,由於涉及到很多的高數 最優化 凸集 線性代數和概率論等方面知識,確實是強大的數學在做支撐。學習計畫上繼續堅持 按部就班 按照月計畫 周計畫和天計畫進行,每天進行總結分析。主要有三點體會 1 公式中,一般都是矩陣表示變數形式,複雜的理論無外乎都涉及到矩陣論為基礎,改變...