神演算法
Ⅰ BP神經演算法是什麼能給點既通俗易懂又比較詳細的回答嗎
BP(Back Propagation)網路是1986年由Rumelhart和McCelland為首的科學家小組提出,是一種按誤差逆傳播演算法訓練的多層前饋網路,是目前應用最廣泛的神經網路模型之一。BP網路能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程。它的學習規則是使用最速下降法,通過反向傳播來不斷調整網路的權值和閾值,使網路的誤差平方和最小。BP神經網路模型拓撲結構包括輸入層(input)、隱層(hide layer)和輸出層(output layer)。
BP神經網路演算法是在BP神經網路現有演算法的基礎上提出的,是通過任意選定一組權值,將給定的目標輸出直接作為線性方程的代數和來建立線性方程組,解得待求權,不存在傳統方法的局部極小及收斂速度慢的問題,且更易理解。
1 傳統的BP演算法簡述
BP演算法是一種有監督式的學習演算法,其主要思想是:輸入學習樣本,使用反向傳播演算法對網路的權值和偏差進行反復的調整訓練,使輸出的向量與期望向量盡可能地接近,當網路輸出層的誤差平方和小於指定的誤差時訓練完成,保存網路的權值和偏差。具體步驟如下: (1)初始化,隨機給定各連接權[w],[v]及閥值θi,rt。 (2)由給定的輸入輸出模式對計算隱層、輸出層各單元輸出 bj=f(■wijai-θj) ct=f(■vjtbj-rt) 式中:bj為隱層第j個神經元實際輸出;ct為輸出層第t個神經元的實際輸出;wij為輸入層至隱層的連接權;vjt為隱層至輸出層的連接權。 dtk=(ytk-ct)ct(1-ct) ejk=[■dtvjt] bj(1-bj) 式中:dtk為輸出層的校正誤差;ejk為隱層的校正誤差。 (3)計算新的連接權及閥值,計算公式如下: vjt(n+1)=vjt(n)+?琢dtkbj wij(n+1)=wij(n)+?茁ejkaik rt(n+1)=rt(n)+?琢dtk θj(n+1)=θj(n)+?茁ejk 式中:?琢,?茁為學習系數(0<?琢<1,0<?茁<1)。 (4)選取下一個輸入模式對返回第2步反復訓練直到網路設輸出誤差達到要求結束訓練。 傳統的BP演算法,實質上是把一組樣本輸入/輸出問題轉化為一個非線性優化問題,並通過負梯度下降演算法,利用迭代運算求解權值問題的一種學習方法,但其收斂速度慢且容易陷入局部極小,為此提出了一種新的演算法,即高斯消元法。
2 改進的BP網路演算法
2.1 改進演算法概述 此前有人提出:任意選定一組自由權,通過對傳遞函數建立線性方程組,解得待求權。本文在此基礎上將給定的目標輸出直接作為線性方程等式代數和來建立線性方程組,不再通過對傳遞函數求逆來計算神經元的凈輸出,簡化了運算步驟。沒有採用誤差反饋原理,因此用此法訓練出來的神經網路結果與傳統演算法是等效的。其基本思想是:由所給的輸入、輸出模式對通過作用於神經網路來建立線性方程組,運用高斯消元法解線性方程組來求得未知權值,而未採用傳統BP網路的非線性函數誤差反饋尋優的思想。 2.2 改進演算法的具體步驟 對給定的樣本模式對,隨機選定一組自由權,作為輸出層和隱含層之間固定權值,通過傳遞函數計算隱層的實際輸出,再將輸出層與隱層間的權值作為待求量,直接將目標輸出作為等式的右邊建立方程組來求解。 現定義如下符號(見圖1):x (p)輸入層的輸入矢量;y (p)輸入層輸入為x (p)時輸出層的實際輸出矢量;t (p)目標輸出矢量;n,m,r分別為輸入層、隱層和輸出層神經元個數;W為隱層與輸入層間的權矩陣;V為輸出層與隱層間的權矩陣。具體步驟如下: (1)隨機給定隱層和輸入層間神經元的初始權值wij。 (2)由給定的樣本輸入xi(p)計算出隱層的實際輸出aj(p)。為方便起見將圖1網路中的閥值寫入連接權中去,令:隱層閥值θj=wnj,x(n)=-1,則: aj(p)=f(■wijxi(p)) (j=1,2…m-1)。 (3)計算輸出層與隱層間的權值vjr。以輸出層的第r個神經元為對象,由給定的輸出目標值tr(p)作為等式的多項式值建立方程,用線性方程組表示為: a0(1)v1r+a1(1)v2r+…+am(1)vmr=tr(1)a0(2)v1r+a1(2)v2r+…+am(2)vmr=tr(2) ……a0(p)v1r+a1(p)v2r+…+am(p)vmr=tr(p) 簡寫為: Av=T 為了使該方程組有唯一解,方程矩陣A為非奇異矩陣,其秩等於其增廣矩陣的秩,即:r(A)=r(A┊B),且方程的個數等於未知數的個數,故取m=p,此時方程組的唯一解為: Vr=[v0r,v2r,…vmr](r=0,1,2…m-1) (4)重復第三步就可以求出輸出層m個神經元的權值,以求的輸出層的權矩陣加上隨機固定的隱層與輸入層的權值就等於神經網路最後訓練的權矩陣。
3 計算機運算實例
現以神經網路最簡單的XOR問題用VC編程運算進行比較(取神經網路結構為2-4-1型),傳統演算法和改進BP演算法的誤差(取動量因子α=0.001 5,步長η=1.653)
Ⅱ 鐵板神數推演算法
1、《鐵板神數》------中國古代占筮方法之一。
2、據稱凡事皆有定數,故名曰「鐵板」,其法採用皇極經世之計數方法。以卦值日月為主,神算為次。卦用錯卦,以中所為起點,起復終坤。卦爻歷表則依邵氏所編。河圖卦、洛書卦、文王卦皆用,又不全用;並以京房之「呂律宮商」配入洹祥尺天卦與納甲卦。
3、推算時則混合干支,以八卦隱人五行,兼用納音謹中高幹支,卦氣值日,十聲十二音等,以及吸收紫微斗數等術之星座神煞概念,屬較復雜之終合預測方法培租。
Ⅲ 有哪些演算法驚艷到了你
給一個Streaming的Data,未知長度,要求在Streaming結束後返回N個Data,且是等概率的。在聽到這個問題的時候簡直驚呆了。如果Streaming長度已知為L,當然對於每一個Data,我生成一個N/L的概率即可。但是長度未知,也即概率未知,怎麼可能在Data來的時候判斷要不要保留這個Data,還能保證是等概率的……百思不得其解。事後一番研究,才發現了這類演算法,演算法之簡單令人驚嘆:首先保留前N個Data,對於後面來的Data以N/i的概率選擇是否保留,i為當前Data序號,保留的話在原來保留的N的Data中隨機剔除一個。最後返回這N的即可。證明也很容易,奇妙得地方在於在計算概率的時候,出現了很長的,可以前後上下不斷約掉的分式。相互約去之後剩下的概率剛好是N/L,L為總長度。簡直美妙極了!顯然這類演算法也非常有用,因為在實際問題中會出現大量需要在Streaming的數據中進行Sample,為下一步處理數據做准備的情形。而這竟然有一個O(L)的演算法,真是太驚艷了!
Ⅳ 三中三神奇演算法是什麼
三中三有公式規律,規律如下:兩個奇數就會有一個偶數,所以前99個數中有66個奇數33個偶數,第100個數是奇數,綜上所述,一共有67個奇數,33個偶數。
公式主要分為兩大類計算:
1、大小序D:公式前面有註明字內母D的為大小序。演算法是從小到大。(大小序第一個拼音字母)或直接寫明大小序落球序。
2、落球序L:公式前面有註明字母L的為落球序演算法(落球序第一個拼音字母)或直接寫明落球序。公式里提到的〈平幾肖〉。那就是第幾平碼所對應的生肖的最小歲數。
例:38所對應的生肖最小歲數是02,就要用02來計算。
演算法中的指令描述的是一個計算,當其運行時能從一個初始狀態和(可能為空的)初始輸入開始,經過一系列有限而清晰定義的狀態,最終產生輸出並停止於一個終態。一個狀態到另一個狀態的轉移不一定是確定的。隨機化演算法在內的一些演算法,包含了一些隨機輸入。
形式化演算法的概念部分源自嘗試解決希爾伯特提出的判定問題,並在其後嘗試定義有效計算性或者有效方法中成形。