人工神经网络的数学内涵,神经网络的数学表达式
神經網絡算法原理
4.2.1概述人工神經網絡的研究與計算機的研究幾乎是同步發展的。
1943年心理學家McCulloch和數學家Pitts合作提出了形式神經元的數學模型,20世紀50年代末,Rosenblatt提出了感知器模型,1982年,Hopfiled引入了能量函數的概念提出了神經網絡的一種數學模型,1986年,Rumelhart及LeCun等學者提出了多層感知器的反向傳播算法等。
神經網絡技術在眾多研究者的努力下,理論上日趨完善,算法種類不斷增加。目前,有關神經網絡的理論研究成果很多,出版了不少有關基礎理論的著作,并且現在仍是全球非線性科學研究的熱點之一。
神經網絡是一種通過模擬人的大腦神經結構去實現人腦智能活動功能的信息處理系統,它具有人腦的基本功能,但又不是人腦的真實寫照。它是人腦的一種抽象、簡化和模擬模型,故稱之為人工神經網絡(邊肇祺,2000)。
人工神經元是神經網絡的節點,是神經網絡的最重要組成部分之一。目前,有關神經元的模型種類繁多,最常用最簡單的模型是由閾值函數、Sigmoid函數構成的模型(圖4-3)。
圖4-3人工神經元與兩種常見的輸出函數神經網絡學習及識別方法最初是借鑒人腦神經元的學習識別過程提出的。
輸入參數好比神經元接收信號,通過一定的權值(相當于刺激神經興奮的強度)與神經元相連,這一過程有些類似于多元線性回歸,但模擬的非線性特征是通過下一步驟體現的,即通過設定一閾值(神經元興奮極限)來確定神經元的興奮模式,經輸出運算得到輸出結果。
經過大量樣本進入網絡系統學習訓練之后,連接輸入信號與神經元之間的權值達到穩定并可最大限度地符合已經經過訓練的學習樣本。
在被確認網絡結構的合理性和學習效果的高精度之后,將待預測樣本輸入參數代入網絡,達到參數預測的目的。
4.2.2反向傳播算法(BP法)發展到目前為止,神經網絡模型不下十幾種,如前饋神經網絡、感知器、Hopfiled網絡、徑向基函數網絡、反向傳播算法(BP法)等,但在儲層參數反演方面,目前比較成熟比較流行的網絡類型是誤差反向傳播神經網絡(BP-ANN)。
BP網絡是在前饋神經網絡的基礎上發展起來的,始終有一個輸入層(它包含的節點對應于每個輸入變量)和一個輸出層(它包含的節點對應于每個輸出值),以及至少有一個具有任意節點數的隱含層(又稱中間層)。
在BP-ANN中,相鄰層的節點通過一個任意初始權值全部相連,但同一層內各節點間互不相連。
對于BP-ANN,隱含層和輸出層節點的基函數必須是連續的、單調遞增的,當輸入趨于正或負無窮大時,它應該接近于某一固定值,也就是說,基函數為“S”型(Kosko,1992)。
BP-ANN的訓練是一個監督學習過程,涉及兩個數據集,即訓練數據集和監督數據集。
給網絡的輸入層提供一組輸入信息,使其通過網絡而在輸出層上產生逼近期望輸出的過程,稱之為網絡的學習,或稱對網絡進行訓練,實現這一步驟的方法則稱為學習算法。
BP網絡的學習過程包括兩個階段:第一個階段是正向過程,將輸入變量通過輸入層經隱層逐層計算各單元的輸出值;第二階段是反向傳播過程,由輸出誤差逐層向前算出隱層各單元的誤差,并用此誤差修正前層權值。
誤差信息通過網絡反向傳播,遵循誤差逐步降低的原則來調整權值,直到達到滿意的輸出為止。
網絡經過學習以后,一組合適的、穩定的權值連接權被固定下來,將待預測樣本作為輸入層參數,網絡經過向前傳播便可以得到輸出結果,這就是網絡的預測。
反向傳播算法主要步驟如下:首先選定權系數初始值,然后重復下述過程直至收斂(對各樣本依次計算)。
(1)從前向后各層計算各單元Oj儲層特征研究與預測(2)對輸出層計算δj儲層特征研究與預測(3)從后向前計算各隱層δj儲層特征研究與預測(4)計算并保存各權值修正量儲層特征研究與預測(5)修正權值儲層特征研究與預測以上算法是對每個樣本作權值修正,也可以對各個樣本計算δj后求和,按總誤差修正權值。
谷歌人工智能寫作項目:神經網絡偽原創
人工神經網絡的知識表示形式和推理機制
神經網絡有多種分類方式,例如,按網絡性能可分為連續型與離散型網絡,確定型與隨機型網絡:按網絡拓撲結構可分為前向神經網絡與反饋神經網絡寫作貓。本章土要簡介前向神經網絡、反饋神經網絡和自組織特征映射神經網絡。
前向神經網絡是數據挖掘中廣為應用的一種網絡,其原理或算法也是很多神經網絡模型的基礎。徑向基函數神經網絡就是一種前向型神經網絡。Hopfield神經網絡是反饋網絡的代表。
Hvpfi}ld網絡的原型是一個非線性動力學系統,目前,已經在聯想記憶和優化計算中得到成功應用。基本特征非線性關系是自然界的普遍特性。大腦的智慧就是一種非線性現象。
人工神經元處于激活或抑制二種不同的狀態,這種行為在數學上表現為一種非線性關系。具有閾值的神經元構成的網絡具有更好的性能,可以提高容錯性和存儲容量。一個神經網絡通常由多個神經元廣泛連接而成。
一個系統的整體行為不僅取決于單個神經元的特征,而且可能主要由單元之間的相互作用、相互連接所決定。通過單元之間的大量連接模擬大腦的非局限性。聯想記憶是非局限性的典型例子。
以上內容參考:百度百科-人工神經網絡。
求人工神經網絡的具體算法,數學模型,比如求一個函數最優值之類的,不要各種亂七八糟的介紹,謝謝
神經網絡就像多項式或者線性模型一樣,是個看不見表達式的模型,它的表達式就是網絡,它比一般模型具有更高的自由度和彈性;同時它是一個典型的黑箱模型方法;比多項式等模型還黑。
優化算法,就是尋優的算法,所謂尋優過程,就是尋找使目標函數最小時(都是統一表示成尋找使函數具有最小值)的自變量的值。
回歸或者擬合一個模型,例如用一個多項式模型去擬合一組數據,其本質就是尋找使殘差平方和最小的參數值,這就是一個尋優的過程,其實就是尋找使函數F(x)值最小時的x的值;對于這個具體的尋找過程就涉及到算法問題,就是如何計算。
所謂算法,是數值分析的一個范疇,就是解這問題的方法;例如一個一元二次方程x^2-3x+1=0的解法,因為簡單可以直接求解,也可以用牛頓逐個靠近的方法求解,也即是迭代,慢慢接近真實解,如此下去不斷接近真值,要注意迭代算法是涉及算法精度的,這些迭代算法是基于計算機的,算法的初衷也是用近似的算法用一定的精度來接近真實值。
比如上面的方程也可以用遺傳算法來解,可以從一些初始值最終迭代到最佳解。
神經網絡在尋找網絡的參數即權值的時候,也有尋找使訓練效果最好的過程,這也是尋優的過程,這里涉及到了算法就是所謂的神經網絡算法,這和最小二乘算法是一樣的道理;例如做響應面的時候,其實就是二次回歸,用最小二乘得到二次模型的參數,得到一個函數,求最大產物量就是求函數模型的最大值,怎么算呢?
頂點處如果導數為0,這個地方對應的x值就是最優的,二次模型簡單可以用偏導數=0來直接解決,這過程也可以遺傳算法等來解決。說到底所謂尋優的本質就是,尋找函數極值處對應的自變量的值。
(1)BP算法的學習過程中有兩個過程是什么?(2)寫出BP神經網絡的數學模型,并以20
bp(backpropagation)網絡是1986年由rumelhart和mccelland為首的科學家小組提出,是一種按誤差逆傳播算法訓練的多層前饋網絡,是目前應用最廣泛的神經網絡模型之一。
bp網絡能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程。它的學習規則是使用最速下降法,通過反向傳播來不斷調整網絡的權值和閾值,使網絡的誤差平方和最小。
bp神經網絡模型拓撲結構包括輸入層(input)、隱層(hidelayer)和輸出層(outputlayer)。人工神經網絡就是模擬人思維的第二種方式。
這是一個非線性動力學系統,其特色在于信息的分布式存儲和并行協同處理。雖然單個神經元的結構極其簡單,功能有限,但大量神經元構成的網絡系統所能實現的行為卻是極其豐富多彩的。
人工神經網絡首先要以一定的學習準則進行學習,然后才能工作。現以人工神經網絡對手寫“a”、“b”兩個字母的識別為例進行說明,規定當“a”輸入網絡時,應該輸出“1”,而當輸入為“b”時,輸出為“0”。
所以網絡學習的準則應該是:如果網絡作出錯誤的的判決,則通過網絡的學習,應使得網絡減少下次犯同樣錯誤的可能性。
首先,給網絡的各連接權值賦予(0,1)區間內的隨機值,將“a”所對應的圖象模式輸入給網絡,網絡將輸入模式加權求和、與門限比較、再進行非線性運算,得到網絡的輸出。
在此情況下,網絡輸出為“1”和“0”的概率各為50%,也就是說是完全隨機的。這時如果輸出為“1”(結果正確),則使連接權值增大,以便使網絡再次遇到“a”模式輸入時,仍然能作出正確的判斷。
如果輸出為“0”(即結果錯誤),則把網絡連接權值朝著減小綜合輸入加權值的方向調整,其目的在于使網絡下次再遇到“a”模式輸入時,減小犯同樣錯誤的可能性。
如此操作調整,當給網絡輪番輸入若干個手寫字母“a”、“b”后,經過網絡按以上學習方法進行若干次學習后,網絡判斷的正確率將大大提高。
這說明網絡對這兩個模式的學習已經獲得了成功,它已將這兩個模式分布地記憶在網絡的各個連接權值上。當網絡再次遇到其中任何一個模式時,能夠作出迅速、準確的判斷和識別。
一般說來,網絡中所含的神經元個數越多,則它能記憶、識別的模式也就越多。如圖所示拓撲結構的單隱層前饋網絡,一般稱為三層前饋網或三層感知器,即:輸入層、中間層(也稱隱層)和輸出層。
它的特點是:各層神經元僅與相鄰層神經元之間相互全連接,同層內神經元之間無連接,各層神經元之間無反饋連接,構成具有層次結構的前饋型神經網絡系統。
單計算層前饋神經網絡只能求解線性可分問題,能夠求解非線性問題的網絡必須是具有隱層的多層神經網絡。神經網絡的研究內容相當廣泛,反映了多學科交叉技術領域的特點。
主要的研究工作集中在以下幾個方面:(1)生物原型研究。從生理學、心理學、解剖學、腦科學、病理學等生物科學方面研究神經細胞、神經網絡、神經系統的生物原型結構及其功能機理。(2)建立理論模型。
根據生物原型的研究,建立神經元、神經網絡的理論模型。其中包括概念模型、知識模型、物理化學模型、數學模型等。(3)網絡模型與算法研究。
在理論模型研究的基礎上構作具體的神經網絡模型,以實現計算機模擬或準備制作硬件,包括網絡學習算法的研究。這方面的工作也稱為技術模型研究。(4)人工神經網絡應用系統。
在網絡模型與算法研究的基礎上,利用人工神經網絡組成實際的應用系統,例如,完成某種信號處理或模式識別的功能、構作專家系統、制成機器人等等。
縱觀當代新興科學技術的發展歷史,人類在征服宇宙空間、基本粒子,生命起源等科學技術領域的進程中歷經了崎嶇不平的道路。我們也會看到,探索人腦功能和神經網絡的研究將伴隨著重重困難的克服而日新月異。
神經網絡可以用作分類、聚類、預測等。神經網絡需要有一定量的歷史數據,通過歷史數據的訓練,網絡可以學習到數據中隱含的知識。
在你的問題中,首先要找到某些問題的一些特征,以及對應的評價數據,用這些數據來訓練神經網絡。雖然bp網絡得到了廣泛的應用,但自身也存在一些缺陷和不足,主要包括以下幾個方面的問題。
首先,由于學習速率是固定的,因此網絡的收斂速度慢,需要較長的訓練時間。
對于一些復雜問題,bp算法需要的訓練時間可能非常長,這主要是由于學習速率太小造成的,可采用變化的學習速率或自適應的學習速率加以改進。
其次,bp算法可以使權值收斂到某個值,但并不保證其為誤差平面的全局最小值,這是因為采用梯度下降法可能產生一個局部最小值。對于這個問題,可以采用附加動量法來解決。
再次,網絡隱含層的層數和單元數的選擇尚無理論上的指導,一般是根據經驗或者通過反復實驗確定。因此,網絡往往存在很大的冗余性,在一定程度上也增加了網絡學習的負擔。最后,網絡的學習和記憶具有不穩定性。
也就是說,如果增加了學習樣本,訓練好的網絡就需要從頭開始訓練,對于以前的權值和閾值是沒有記憶的。但是可以將預測、分類或聚類做的比較好的權值保存。
Hopfield神經網絡
。
Hopfield神經網絡(HopfieldNeuralNetwork,簡稱HNN),是美國加州理工學院物理學家Hopfield教授1982年提出的一種反饋型神經網絡,信號不但能向前,還能向后傳遞(輸出信號又反饋回來變成輸入信號。
而前面所介紹的BP網絡是一種前饋網絡,信號只能向前傳遞)。他在Hopfield神經網絡中引入了“能量函數”概念,使網絡的運行穩定性的判斷有了可靠依據。
Hopfield神經網絡的權值不是經過反復學習獲得的,而是按照一定規則計算出來的,一經確定就不再改變,而Hopfield神經網絡的狀態(輸入、輸出信號)會在運行過程中不斷更新,網絡演變到穩態時各神經元的狀態便是問題的解。
1985年,Hopfield和Tank研制了電子線路來模擬Hopfield網絡,較好地解決了優化組合問題中著名的TSP(旅行商)問題,找到了最佳解的近似解,為神經網絡的復興建立了不可磨滅的功勞。
對于地球物理反演這種最優化問題,可以很方便地用Hopfield網絡來實現。
反演的目標函數等于Hopfield網絡的“能量函數”,網絡的狀態(輸入、輸出信號)就是模型的參數,網絡演變到穩態時各神經元的輸入輸出值便是反演問題的解。
Hopfield神經網絡分為離散型和連續型兩種網絡模型,分別記為DHNN(DiscreteHopfieldNeuralNetwork)和CHNN(ContinuesHopfieldNeuralNetwork)。
在前饋型網絡中無論是離散的還是連續的,一般均不考慮輸入與輸出之間在時間上的滯后性,而只表達兩者之間的映射關系。
但在連續Hopfield神經網絡中,考慮了輸出與輸入之間的延遲因素,因此需要用微分方程或差分方程來描述網絡的動態數學模型。
8.5.4.1離散Hopfield神經網絡離散Hopfield神經網絡的拓撲結構如圖8.12所示。這是一種單層全反饋網絡,共有n個神經元。
圖8.12的特點是任意一個神經元的輸出xi只能是0或1,均通過連接權wij反饋至所有神經元j作為它的輸入xj。
也就是說,每個神經元都通過連接權接收所有其他神經元輸出反饋的信息,這樣每一個神經元的輸出都受其他所有神經元輸出的控制,從而每個神經元的輸出相互制約。每個神經元均設一個閥值Ti,以反映對輸入噪聲的控制。
圖8.12離散Hopfield神經網絡的拓撲結構[8]8.5.4.1.1網絡的狀態離散Hopfield神經網絡任意一個神經元的輸出xj稱為網絡的狀態,它只能是0或1。
變化規律由下式規定:xj=f(netj)j=1,2,…,n(8.33)f()為轉移函數,離散Hopfield神經網絡的轉移函數常用符號函數表示:地球物理反演教程其中netj為凈輸入:地球物理反演教程對離散Hopfield神經網絡,一般有wij=0,wij=wji(8.36)這說明神經元沒有自反饋,兩個神經元的相互控制權值相同。
離散Hopfield神經網絡穩定時,每個神經元的狀態都不再改變。
此時的穩定狀態就是網絡的輸出,記為地球物理反演教程8.5.4.1.2網絡的異步工作方式它是一種串行方式,網絡運行時每次只改變一個神經元的狀態,其他神經元的狀態保持不變。
8.5.4.1.3網絡的同步工作方式它是一種并行同步工作方式,所有神經元同時調整狀態。8.5.4.1.4網絡的吸引子網絡達到穩定狀態時的輸出X,稱為網絡的吸引子。
8.5.4.1.5網絡的能量函數網絡的能量函數定義為地球物理反演教程以上是矩陣形式,考慮無自反饋的具體展開形式為地球物理反演教程當網絡收斂到穩定狀態時,有ΔE(t)=E(t+1)-E(t)=0(8.40)或者說:地球物理反演教程理論證明了如下兩個定理[8]:定理1.對于DHNN,若按異步方式調整網絡狀態,且連接權矩陣W為對稱陣,則對任意初始狀態,網絡都能最終收斂到一個吸引子。
定理2.對于DHNN,若按同步方式調整網絡狀態,且連接權矩陣W為非負定對稱陣,則對任意初始狀態,網絡都能最終收斂到一個吸引子。
8.5.4.1.6利用離散Hopfield神經網絡進行反演在地球物理線性反演中,設有如下目標函數:地球物理反演教程對比式(8.38)和式(8.42)發現它們在形式上有很多相似之處。
王家映的《地球物理反演理論》一書中,直接用式(8.42)和式(8.38)類比,公式顯得復雜。
本書設立一個新的目標函數?,公式將會變得簡潔得多:地球物理反演教程再對比式(8.38)和式(8.43),發現它們完全一樣,只要設:X(t)=m,W=GTG,T=GTd(8.44)注意:式(8.43)的目標函數?的極大值解就是原來目標函數φ極小值的解,它們是同解的。
如果待反演的模型參數是離散的0或1值,那么可以直接應用離散Hopfield神經網絡進行反演。
但是一般它們都是連續的數值,所以還要將模型參數表示為二進制[1]:地球物理反演教程其中:Bij=0或1為二進制數;D和U為整數,取決于模型參數的大小和精度。
這樣第i個模型參數就用Bij表示為了二進制數。將式(8.45)代入目標函數式(8.43)后再與離散Hopfield神經網絡的能量函數進行對比,確立新的等價關系后,就可以進行反演了。
這個新的等價關系式可以參見王家映的《地球物理反演理論》[1]一書。反演的過程大致如下:(1)根據模型參數的大小范圍和精度確定D和U,將初始輸入模型參數變為二進制數。
設立一個擬合精度標準,如相對均方差ε,設定一個最大迭代次數N(所有神經元的輸出都修改一次稱為一次迭代)。(2)利用數據方程的G矩陣(在一般情況下需用偏導數矩陣獲得)計算網絡的權值和閥值。
(3)將二進制初始模型參數輸入網絡并運行網絡。(4)把每次迭代網絡輸出值變為十進制模型參數,進行正演計算。如果擬合滿足精度ε,則停止網絡運行并輸出反演結果。
否則重復(2)~(4)步直到滿足精度或達到最多迭代次數N為止。
在一般情況下,地球物理數據方程的G矩陣是無法用解析式寫出的,需要用偏導數矩陣獲得,它是依賴于輸入參數的,因此網絡的每次迭代都要重新計算偏導數矩陣。這個計算量是很大的。因此他的反演過程和最小二乘法相似。
此外,用Hopfield神經網絡進行反演同樣有可能陷入局部極值點(吸引子)。因此同樣受初始模型的影響,需要盡量讓初始模型接近真實模型。
8.5.4.2連續Hopfield神經網絡(CHNN)[8]1984年,Hopfield把離散Hopfield神經網絡發展為連續Hopfield神經網絡。
但所有神經元都同步工作,各輸入輸出量為隨時間變化的連續的模擬量,這就使得CHNN比DHNN在信息處理的并行性、實時性方面更接近實際的生物神經網絡工作機理。因此利用CHNN進行地球物理反演更加方便。
CHNN可以用常系數微分方程來描述,但用模擬電子線路來描述,則更加形象直觀,易于理解。圖8.13為連續Hopfield神經網絡的拓撲結構[8]。
圖8.13連續Hopfield神經網絡的拓撲結構[8]圖8.13中每個神經元用一個運算放大器模擬,神經元的輸入輸出用放大器的輸入輸出電壓表示,連接權用電導表示。
每個放大器有一個正向輸出和一個反向輸出,分別表示興奮和抑制。每個神經元還有一個用于設置激活電平的外界輸入偏置電流作為閥值。這里由于篇幅關系不再累述。感興趣的讀者可以參考其他文獻。
請問神經網絡里面的代價函數是什么意思?
下面是就是神經網絡中代價函數J(Θ)J(Θ)的表達式,看起來還是稍微有點復雜。這個表達式到底在計算什么?下面我們先用一個簡單的例子來分開一步步計算一下。
J(Θ)=?1m∑i=1m∑k=1K[y(i)klog((hΘ(x(i)))k)+(1?y(i)k)log(1?(hΘ(x(i)))k)]+λ2m∑l=1L?1∑i=1sl∑j=1sl+1(Θ(l)j,i)2J(Θ)=?1m∑i=1m∑k=1K[yk(i)log?((hΘ(x(i)))k)+(1?yk(i))log?(1?(hΘ(x(i)))k)]+λ2m∑l=1L?1∑i=1sl∑j=1sl+1(Θj,i(l))2有如下神經網絡:其中:LslK=神經網絡總共包含的層數=第l層的神經元數目=輸出層的神經元數,亦即分類的數目L=神經網絡總共包含的層數sl=第l層的神經元數目K=輸出層的神經元數,亦即分類的數目假設s1=3,s2=2,s3=3s1=3,s2=2,s3=3,則Θ1Θ1的維度為2×42×4,Θ2Θ2的維度為3×33×3。
則有:XT=?????1x1x2x3?????,Θ1=[θ110θ120θ111θ121θ112θ122θ113θ123]2×4,Θ2=????θ210θ220θ230θ211θ221θ231θ212θ222θ232????3×3XT=[1x1x2x3],Θ1=[θ101θ111θ121θ131θ201θ211θ221θ231]2×4,Θ2=[θ102θ112θ122θ202θ212θ222θ302θ312θ322]3×3先回憶一下正向傳播的計算公式:?z(j)=Θ(j?1)a(j?1)……(1)a(j)=g(z(j)),setting?a(j)0=1……(2)hΘ(x)=a(j)=g(z(j))……(3)z(j)=Θ(j?1)a(j?1)……(1)a(j)=g(z(j)),setting?a0(j)=1……(2)hΘ(x)=a(j)=g(z(j))……(3)詳解戳此處?此時我們先忽略regularizedterm?①當m=1時;?J(Θ)=?1m∑k=1K[y(i)klog((hΘ(x(i)))k)+(1?y(i)k)log(1?(hΘ(x(i)))k)]J(Θ)=?1m∑k=1K[yk(i)log?((hΘ(x(i)))k)+(1?yk(i))log?(1?(hΘ(x(i)))k)]1.令a1=XT;?z2=Θ1?a1=[θ110θ120θ111θ121θ112θ122θ113θ123]2×4×?????1x1x2x3?????=[θ110+θ111?x1+θ112?x2+θ113?x3θ120+θ121?x1+θ122?x2+θ123?x3]2×11.令a1=XT;?z2=Θ1?a1=[θ101θ111θ121θ131θ201θ211θ221θ231]2×4×[1x1x2x3]=[θ101+θ111?x1+θ121?x2+θ131?x3θ201+θ211?x1+θ221?x2+θ231?x3]2×1=[z21z22],?a2=g(z2);=[z12z22],?a2=g(z2);2.給a2添加偏置項,并計算a3即hθ(x)?2.給a2添加偏置項,并計算a3即hθ(x);?a2=???1a21a22???;?z3=Θ2?a2=????θ210θ220θ230θ211θ221θ231θ212θ222θ232????3×3×???1a21a22???=????z31z32z33????;a2=[1a12a22];?z3=Θ2?a2=[θ102θ112θ122θ202θ212θ222θ302θ312θ322]3×3×[1a12a22]=[z13z23z33];?hθ(x)=a3=g(z3)=????g(z31)g(z32)g(z33)????=???h(x)1h(x)2h(x)3)????hθ(x)=a3=g(z3)=[g(z13)g(z23)g(z33)]=[h(x)1h(x)2h(x)3)]此時我們知道,對于每一個example,最終都會輸出3個結果,那么這時代價函數所做的就是將這3個輸出取對數然后乘以對應的預期期望值y之后,再累加起來。
具體如下:假設?input:XT=?????1x1x2x3?????;output:y=???100???=???y1y2y3???input:XT=[1x1x2x3];output:y=[100]=[y1y2y3]則有:?J(Θ)?m=[?y1×log(h(x)1)?(1?y1)×log(1?h(x)1)]+[?y2×log(h(x)2)?(1?y2)×log(1?h(x)2)]+[?y3×log(h(x)3)?(1?y3)×log(1?h(x)3)]=[?1×log(h(x)1)?(1?1)×log(1?h(x)1)]+[?0×log(h(x)2)?(1?0)×log(1?h(x)2)]+[?0×log(h(x)3)?(1?0)×log(1?h(x)3)]=?log(h(x)1)?log(1?h(x)2)?log(1?h(x)3)J(Θ)?m=[?y1×log(h(x)1)?(1?y1)×log(1?h(x)1)]+[?y2×log(h(x)2)?(1?y2)×log(1?h(x)2)]+[?y3×log(h(x)3)?(1?y3)×log(1?h(x)3)]=[?1×log(h(x)1)?(1?1)×log(1?h(x)1)]+[?0×log(h(x)2)?(1?0)×log(1?h(x)2)]+[?0×log(h(x)3)?(1?0)×log(1?h(x)3)]=?log(h(x)1)?log(1?h(x)2)?log(1?h(x)3)在matlab中,矢量化之后的代價函數為:?J(Θ)=(1/m)?(sum(?labelY.?log(Hθ)?(1?labelY).?log(1?Hθ)));J(Θ)=(1/m)?(sum(?labelY.?log(Hθ)?(1?labelY).?log(1?Hθ)));②當m>1時;J(Θ)=?1m∑i=1m∑k=1K[y(i)klog((hΘ(x(i)))k)+(1?y(i)k)log(1?(hΘ(x(i)))k)]J(Θ)=?1m∑i=1m∑k=1K[yk(i)log?((hΘ(x(i)))k)+(1?yk(i))log?(1?(hΘ(x(i)))k)]此時,對于每一個example都會產生一個上面的代價,所以只需要把所有的對于每一個example產生的代價累加起來即可。
再來分解一下:假設,X=????111x11x21x31x12x22x32x13x23x33????,假設,X=[1x11x21x311x12x22x321x13x23x33],1.令a1=XT;?z2=Θ1?a1=[θ110θ120θ111θ121θ112θ122θ113θ123]2×4×??????1x11x12x131x21x22x231x31x32x33??????4×3=1.令a1=XT;?z2=Θ1?a1=[θ101θ111θ121θ131θ201θ211θ221θ231]2×4×[111x11x12x13x21x22x23x31x32x33]4×3=[θ110+θ111?x11+θ112?x12+θ113?x13θ120+θ121?x11+θ122?x12+θ123?x13θ110+θ111?x21+θ112?x22+θ113?x23θ120+θ121?x21+θ122?x22+θ123?x23θ110+θ111?x31+θ112?x32+θ113?x33θ120+θ121?x31+θ122?x32+θ123?x33]2×3[θ101+θ111?x11+θ121?x21+θ131?x31θ101+θ111?x12+θ121?x22+θ131?x32θ101+θ111?x13+θ121?x23+θ131?x33θ201+θ211?x11+θ221?x21+θ231?x31θ201+θ211?x12+θ221?x22+θ231?x32θ201+θ211?x13+θ221?x23+θ231?x33]2×3=[z211z221z212z222z213z223]2×3,?a2=g(z2);=[z112z122z132z212z222z232]2×3,?a2=g(z2);2.給a2添加偏置項,并計算a3即hθ(x)?2.給a2添加偏置項,并計算a3即hθ(x);a2=???1a211a2211a212a2221a213a223???3×3;?z3=Θ2?a2=????θ210θ220θ230θ211θ221θ231θ212θ222θ232????3×3×???1a211a2211a212a2221a213a223???3×3a2=[111a112a122a132a212a222a232]3×3;?z3=Θ2?a2=[θ102θ112θ122θ202θ212θ222θ302θ312θ322]3×3×[111a112a122a132a212a222a232]3×3?hθ(x)=a3=g(z3)=????g(z311)g(z321)g(z331)g(z312g(z322g(z332)g(z313))g(z323))g(z333)?????hθ(x)=a3=g(z3)=[g(z113)g(z123g(z133))g(z213)g(z223g(z233))g(z313)g(z323)g(z333)]=??????m=1時每個example對應的所有輸出;h(x1)1h(x1)2h(x1)3m=2時h(x2)1h(x2)2h(x2)3m=3時;h(x3)1h(x3)2h(x3)3??????=[m=1時每個example對應的所有輸出;m=2時m=3時;h(x1)1h(x2)1h(x3)1h(x1)2h(x2)2h(x3)2h(x1)3h(x2)3h(x3)3]假設?input:X=????111x11x21x31x12x22x32x13x23x33????;output:y=???122???=???y1y2y3???input:X=[1x11x21x311x12x22x321x13x23x33];output:y=[122]=[y1y2y3]該例子的背景為用神經網絡識別手寫體,即y1=1表示期望輸出為1,y2=y3=2,表示其期望輸出為2。
在計算代價函數的時候要將其每一個對應的輸出轉換為只含有0,1的向量y1=1表示期望輸出為1,y2=y3=2,表示其期望輸出為2。
在計算代價函數的時候要將其每一個對應的輸出轉換為只含有0,1的向量則有:?y1=???100???;y2=???010???;y3=???010????labelY=?????m=1100m=2010m=3010?????y1=[100];y2=[010];y3=[010]?labelY=[m=1m=2m=3100011000]對于如何將普通的輸出值轉換成只含有0,1的向量,戳此處則有(Malab中的矢量化形式):?J(Θ)=(1/m)?(sum(sum[?labelY.?log(Hθ)?(1?labelY).?log(1?Hθ)]));J(Θ)=(1/m)?(sum(sum[?labelY.?log(Hθ)?(1?labelY).?log(1?Hθ)]));加上regularizedterm?regular=λ2m∑l=1L?1∑i=1sl∑j=1sl+1(Θ(l)j,i)2;regular=λ2m∑l=1L?1∑i=1sl∑j=1sl+1(Θj,i(l))2;其實regularizedterm就是所有每一層的參數(Θlj,i,j≠0,即除了每一層的第一列偏置項所對應的參數)(Θj,il,j≠0,即除了每一層的第一列偏置項所對應的參數)的平方和相加即可。
具體到本文的例子就是:Θ1=[θ110θ120θ111θ121θ112θ122θ113θ123]2×4,Θ2=????θ210θ220θ230θ211θ221θ231θ212θ222θ232????3×3Θ1=[θ101θ111θ121θ131θ201θ211θ221θ231]2×4,Θ2=[θ102θ112θ122θ202θ212θ222θ302θ312θ322]3×3regular=(θ111)2+(θ112)2+(θ113)2+(θ121)2+(θ122)2+(θ123)2+(θ211)2+(θ212)2+(θ221)2+(θ222)2+(θ231)2+(θ232)2regular=(θ111)2+(θ121)2+(θ131)2+(θ211)2+(θ221)2+(θ231)2+(θ112)2+(θ122)2+(θ212)2+(θ222)2+(θ312)2+(θ322)2Matlab中矢量化為:s_Theta1=sum(Theta1.^2);%先求所有元素的平方,然后再每一列相加r_Theta1=sum(s_Theta1)-s_Theta1(1,1);%減去第一列的和s_Theta2=sum(Theta2.^2);r_Theta2=sum(s_Theta2)-s_Theta2(1,1);regular=(lambda/(2*m))*(r_Theta1+r_Theta2);。
?
總結
以上是生活随笔為你收集整理的人工神经网络的数学内涵,神经网络的数学表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开篇随便聊聊
- 下一篇: springboot传图片到前端之有手就