① BP神經網路
神經網路能很好地解決不同的機器學習問題。神經網路模型是許多邏輯單元按照不同層級組織起來的網路,每一層的輸出變數都是下一層的輸入變數。
上圖顯示了人工神經網路是一個分層模型,邏輯上可以分為三層:
輸入層 :輸入層接收特徵向量 x
輸出層 :輸出層產出最終的預測 h
隱含層 :隱含層介於輸入層與輸出層之間,之所以稱之為隱含層,是因為當中產生的值並不像輸入層使用的樣本矩陣 X或者輸出層用到的標簽矩陣 y 那樣直接可見。
下面引入一些標記法來幫助描述模型:
!$ a^{(j)}_{i} $ 代表第j層的第i個激活單元。 !$ heta^{(j)} $ 代表從第 j 層映射到第 j+1 層時的權重的矩陣,例如 !$ heta^{(1)} $ 代表從第一層映射到第二層的權重的矩陣。其尺寸為:以第 j+1層的激活單元數量為行數,以第 j 層的激活單元數加一為列數的矩陣。例如:上圖所示的神經網路中 !$ heta^{(1)} $ 的尺寸為 3*4。
對於上圖所示的模型,激活單元和輸出分別表達為:
!$ a^{(2)}_{1} = g( heta^{(1)}_{10}x_0 + heta^{(1)}_{11}x_1 + heta^{(1)}_{12}x_2 + heta^{(1)}_{13}x_3 ) $
!$a^{(2)}_{2} = g( heta^{(1)}_{20}x_0 + heta^{(1)}_{21}x_1 + heta^{(1)}_{22}x_2 + heta^{(1)}_{23}x_3 ) $
!$a^{(2)}_{3} = g( heta^{(1)}_{30}x_0 + heta^{(1)}_{31}x_1 + heta^{(1)}_{32}x_2 + heta^{(1)}_{33}x_3 ) $
!$h_{ heta}{(x)} = g( heta^{(2)}_{10}a^{2}_{0} + heta^{(2)}_{11}a^{2}_{1} + heta^{(2)}_{12}a^{2}_{2} + heta^{(2)}_{13}a^{2}_{3} ) $
下面用向量化的方法以上面的神經網路為例,試著計算第二層的值:
對於多類分類問題來說:
我們可將神經網路的分類定義為兩種情況:二類分類和多類分類。
二類分類: !$ S_{L} = 0,y = 0,y = 1$
多類分類: !$ S_{L} = k, y_{i} = 1表示分到第i類;(k>2)$
在神經網路中,我們可以有很多輸出變數,我們的 !$h_{ heta}{(x)} $ 是一個維度為K的向量,並且我們訓練集中的因變數也是同樣維度的一個向量,因此我們的代價函數會比邏輯回歸更加復雜一些,為: !$ h_{ heta}{(x)} in R^{K}(h_{ heta}{(x)})_{i} = i^{th} output$
我們希望通過代價函數來觀察演算法預測的結果與真實情況的誤差有多大,唯一不同的是,對於每一行特徵,我們都會給出K個預測,基本上我們可以利用循環,對每一行特徵都預測K個不同結果,然後在利用循環在K個預測中選擇可能性最高的一個,將其與y中的實際數據進行比較。
正則化的那一項只是排除了每一層 !$ heta_0$ 後,每一層的 矩陣的和。最里層的循環j循環所有的行(由 +1 層的激活單元數決定),循環i則循環所有的列,由該層( !$ s_l$ 層)的激活單元數所決定。即: !$h_{ heta}{(x)}$ 與真實值之間的距離為每個樣本-每個類輸出的加和,對參數進行 regularization 的 bias 項處理所有參數的平方和。
由於神經網路允許多個隱含層,即各層的神經元都會產出預測,因此,就不能直接利用傳統回歸問題的梯度下降法來最小化 !$J( heta)$ ,而需要逐層考慮預測誤差,並且逐層優化。為此,在多層神經網路中,使用反向傳播演算法(Backpropagation Algorithm)來優化預測,首先定義各層的預測誤差為向量 !$ δ^{(l)} $
訓練過程:
當我們對一個較為復雜的模型(例如神經網路)使用梯度下降演算法時,可能會存在一些不容易察覺的錯誤,意味著,雖然代價看上去在不斷減小,但最終的結果可能並不是最優解。
為了避免這樣的問題,我們採取一種叫做梯度的數值檢驗( Numerical Gradient Checking )方法。這種方法的思想是通過估計梯度值來檢驗我們計算的導數值是否真的是我們要求的。
對梯度的估計採用的方法是在代價函數上沿著切線的方向選擇離兩個非常近的點然後計算兩個點的平均值用以估計梯度。即對於某個特定的 ,我們計算出在 !$ heta - epsilon$ 處和 !$ heta + epsilon$ 的代價值(是一個非常小的值,通常選取 0.001),然後求兩個代價的平均,用以估計在 !$ heta$ 處的代價值。
當 !$ heta$ 是一個向量時,我們則需要對偏導數進行檢驗。因為代價函數的偏導數檢驗只針對一個參數的改變進行檢驗,下面是一個只針對 !$ heta_1$ 進行檢驗的示例:
如果上式成立,則證明網路中BP演算法有效,此時關閉梯度校驗演算法(因為梯度的近似計算效率很慢),繼續網路的訓練過程。
② BP人工神經網路方法
(一)方法原理
人工神經網路是由大量的類似人腦神經元的簡單處理單元廣泛地相互連接而成的復雜的網路系統。理論和實踐表明,在信息處理方面,神經網路方法比傳統模式識別方法更具有優勢。人工神經元是神經網路的基本處理單元,其接收的信息為x1,x2,…,xn,而ωij表示第i個神經元到第j個神經元的連接強度或稱權重。神經元的輸入是接收信息X=(x1,x2,…,xn)與權重W={ωij}的點積,將輸入與設定的某一閾值作比較,再經過某種神經元激活函數f的作用,便得到該神經元的輸出Oi。常見的激活函數為Sigmoid型。人工神經元的輸入與輸出的關系為
地球物理勘探概論
式中:xi為第i個輸入元素,即n維輸入矢量X的第i個分量;ωi為第i個輸入與處理單元間的互聯權重;θ為處理單元的內部閾值;y為處理單元的輸出。
常用的人工神經網路是BP網路,它由輸入層、隱含層和輸出層三部分組成。BP演算法是一種有監督的模式識別方法,包括學習和識別兩部分,其中學習過程又可分為正向傳播和反向傳播兩部分。正向傳播開始時,對所有的連接權值置隨機數作為初值,選取模式集的任一模式作為輸入,轉向隱含層處理,並在輸出層得到該模式對應的輸出值。每一層神經元狀態隻影響下一層神經元狀態。此時,輸出值一般與期望值存在較大的誤差,需要通過誤差反向傳遞過程,計算模式的各層神經元權值的變化量
(二)BP神經網路計算步驟
(1)初始化連接權值和閾值為一小的隨機值,即W(0)=任意值,θ(0)=任意值。
(2)輸入一個樣本X。
(3)正向傳播,計算實際輸出,即根據輸入樣本值、互聯權值和閾值,計算樣本的實際輸出。其中輸入層的輸出等於輸入樣本值,隱含層和輸出層的輸入為
地球物理勘探概論
輸出為
地球物理勘探概論
式中:f為閾值邏輯函數,一般取Sigmoid函數,即
地球物理勘探概論
式中:θj表示閾值或偏置;θ0的作用是調節Sigmoid函數的形狀。較小的θ0將使Sigmoid函數逼近於閾值邏輯單元的特徵,較大的θ0將導致Sigmoid函數變平緩,一般取θ0=1。
(4)計算實際輸出與理想輸出的誤差
地球物理勘探概論
式中:tpk為理想輸出;Opk為實際輸出;p為樣本號;k為輸出節點號。
(5)誤差反向傳播,修改權值
地球物理勘探概論
式中:
地球物理勘探概論
地球物理勘探概論
(6)判斷收斂。若誤差小於給定值,則結束,否則轉向步驟(2)。
(三)塔北雅克拉地區BP神經網路預測實例
以塔北雅克拉地區S4井為已知樣本,取氧化還原電位,放射性元素Rn、Th、Tc、U、K和地震反射
S4井位於測區西南部5線25點,是區內唯一已知井。該井在5390.6m的侏羅系地層獲得40.6m厚的油氣層,在5482m深的震旦系地層中獲58m厚的油氣層。取S4井周圍9個點,即4~6線的23~25 點作為已知油氣的訓練樣本;由於區內沒有未見油的鑽井,只好根據地質資料分析,選取14~16線的55~57點作為非油氣的訓練樣本。BP網路學習迭代17174次,總誤差為0.0001,學習效果相當滿意。以學習後的網路進行識別,得出結果如圖6-2-4所示。
圖6-2-4 塔北雅克拉地區BP神經網路聚類結果
(據劉天佑等,1997)
由圖6-2-4可見,由預測值大於0.9可得5個大封閉圈遠景區,其中測區南部①號遠景區對應著已知油井S4井;②、③號油氣遠景區位於地震勘探所查明的托庫1、2號構造,該兩個構造位於沙雅隆起的東段,其西段即為1984年鑽遇高產油氣流的Sch2井,應是含油氣性好的遠景區;④、⑤號遠景區位於大澇壩構造,是yh油田的組成部分。
③ bp神經網路如何用於預測
x(n+1)=F(x(n)+x(n-1)+.......x(n-1));由已知數判塵衡據預測下一個數據這是掘做單步預測兄正。
④ 什麼是BP神經網路
BP演算法的基本思想是:學習過程由信號正向傳播與誤差的反向回傳兩個部分組成;正向傳播時,輸入樣本從輸入層傳入,經各隱層依次逐層處理,傳向輸出層,若輸出層輸出與期望不符,則將誤差作為調整信號逐層反向回傳,對神經元之間的連接權矩陣做出處理,使誤差減小。經反復學習,最終使誤差減小到可接受的范圍。具體步驟如下:
1、從訓練集中取出某一樣本,把信息輸入網路中。
2、通過各節點間的連接情況正向逐層處理後,得到神經網路的實際輸出。
3、計算網路實際輸出與期望輸出的誤差。
4、將誤差逐層反向回傳至之前各層,並按一定原則將誤差信號載入到連接權值上,使整個神經網路的連接權值向誤差減小的方向轉化。
5、対訓練集中每一個輸入—輸出樣本對重復以上步驟,直到整個訓練樣本集的誤差減小到符合要求為止。
⑤ 求助:用神經網路做一個數據預測
下列代碼為BP神經網路預測37-56周的銷售量的代碼:
% x為原始序列
load 銷售量.mat
data=C
x=data';
t=1:length(x);
lag=2;
fn=length(t);
[f_out,iinput]=BP(x,lag,fn);
%預測年份或某一時間段
t1=fn:fn+20;
n=length(t1);
t1=length(x)+1:length(x)+n;
%預測步數為fn
fn=length(t1);
[f_out,iinput]=BP(x,lag,fn);
P=vpa(f_out,5);
[t1' P']
% 畫出預測圖
figure(6),plot(t,x,'b*-'),hold on
plot(t(end):t1(end),[iinput(end),f_out],'rp-'模胡),grid on
xlabel('周數'),ylabel('銷售量');
str=['BP神經網路預測',num2str(length(x)+1),'-',num2str(length(x)+20),'喊碼扮周的銷售量'];
title(str)
str1=['1-',num2str(length(x)),'周的銷售量'];
str2=[num2str(length(x)+1),'-',num2str(length(x)+20),'周的預測銷鄭灶售量'];
legend(str1,str2)
運行結果
⑥ ofo用人工智慧進行單車調度
日前,ofo宣布將谷歌TensorFlow人工智慧系統和卷積神經網路技術應用於出行需求預測,進而更好地布放單車,讓用戶隨時隨地有車可騎。
通過對熱力圖進行網格化分析,就可以提取不同時段同一區域或者同一時段不同區域的圖像相關性特徵,進而精準預測下一個時段某一區域內會出現的需求數,從而為運營調度提供更好的決策。
⑦ bp神經網路的缺點
1)局部極小化問題:從數學角度看,傳統的BP神經網路為一種局部搜索的優化方法,它要解決的是一個復雜非線性化問題,網路的權值是通過沿局部改善的方向逐漸進行調整的,這樣會使演算法陷入局部極值,權值收斂到局部極小點,從而導致網路訓練失敗。加上BP神經網路對初始網路權重非常敏感,以不同的權重初始化網路,其往往會收斂於不同的局部極小,這也是很多學者每次訓練得到不同結果的根本原因。
2)BP神經網路演算法的收斂速度慢:由於BP神經網路演算法本質上為梯度下降法,它所要優化的目標函數是非常復雜的,因此,必然會出現「鋸齒形現象」,這使得BP演算法低效;又由於優化的目標函數很復雜,它必然會在神經元輸出接近0或1的情況下,出現一些平坦區,在這些區域內,權值誤差改變很小,使訓練過程幾乎停頓。
3)BP神經網路結構選擇不一:BP神經網路結構的選擇至今尚無一種統一而完整的理論指導,一般只能由經驗選定。網路結構選擇過大,訓練中效率不高,可能出現過擬合現象,造成網路性能低,容錯性下降,若選擇過小,則又會造成網路可能不收斂。而網路的結構直接影響銀盯網路的逼近能力及推廣性質。因此,應用中如何選擇合適的網路結構是一個重要的問題。
4)應用實例與網路規模的矛盾問題:BP神經網路難以解決應用問題的實例規模和網路規模間的矛盾問題,其涉及兆搏帆到網路容量的可能性與可行性的關系問題,即學習復雜性問題。
5)BP神經網族雹絡預測能力和訓練能力的矛盾問題:預測能力也稱泛化能力或者推廣能力,而訓練能力也稱逼近能力或者學習能力。一般情況下,訓練能力差時,預測能力也差。
⑧ 方法評述
1.計算方法的對比
在MRAGIS系統中,計算方法按評價目標分為兩個系列,一是空間位置的評價預測,二是資源量預測,分別對應了兩種計算方法。無論是空間位置預測還是資源量評估,都應當使用兩種方法進行計算,其原因是:
(1)「證據權」法依靠數據驅動,並無人為因素加入,但避免不了現實存在的假象;
(2)當進行資源空間位置評價預測時,「BP神經網路」法將知識(人為因素)放置於重要地位,主要體現在樣本數據的組織上。倘若地質觀點不同,勢必影響計算結果。
(3)「多元信息統計回歸」法的計算結果取決於地質條件對礦產資源量的貢獻,這也是由人為因素決定的。理論上講,地質條件對礦產資源量的貢獻大小應當按不同礦種、不同成因類型分別設置,但如果按成因類型計算,由於本次收集的已知儲量礦產地太少,根本無法滿足多元信息統計回歸法的使用條件。所以,將地質條件對成礦貢獻大小的分值作統一設置。「BP神經網路」法在考慮地質條件對資源量的影響程度上是不受人為影響,而且在組織樣本數據時,只要礦床已知儲量准確、客觀,就可避免人為因素干擾。
鑒於上述原因,應用MRAGIS系統進行礦產資源空間位置評價預測時.「證據權」法與「BP神經網路」法相結合,「多元信息統計回歸」法與「BP神經網路」法組合來進行資源量的評估,這樣才能使得計算結果更加准確、可靠。
2.計算結果評述
(1)空間位置評價預測。從「證據權」法和「BP神經網路」法計算的結果來看梁鬧碰,前者一、二級的後驗概率比較集中,較好地反映了整個皖南地區的成礦概率;後者一、二級的成礦有利度分布大致與後驗概率相近,只是在部分一、二級區域中,兩者在局部范圍的分布位置有所區別,個別部位的級別相差一個檔次,但總的趨勢是一致的。
圖6-5-10 安徽東南地區鎢、金資源成礦遠景區分布示意圖
值得一提的是,在評價區中部(西區)兩者計算結果有所差異,「BP神經網路」法計算的成礦有利度,無論從范圍還是強度來看,都較「證據權」法的後驗概率大而高,尤其是鉛鋅銀礦。從地質角度來說,在皖贛交界安徽一側,呈近東西向排列的許多岩體、小岩珠,以此為界,兩側的地質環境(條件)非常相似。現已知江西一側出現金、銀、鎢等多處礦產,按類比法,安徽一側也應具備類似的礦產。因此,「BP神經網路」法計算的成礦有利度在評價區中部的這種分布情況更符合類比結論,預示著此區域存在鉛鋅、銀等多金屬礦產。
(2)資源量評估。使用「多元信息統計回歸」法和「BP神經網路」法計算獲得的資源量分布比較一致,且按成礦遠景區(Ⅳ級)統計結果來看,兩者相差不大。但是,就資源量數值的大小來看,彎悶兩者還是存在一定的差異。主要有以下幾個方面的原因:①計算方法不同。「多元信息統計回歸」法採用的是用某一種方程來代表地質條件與成礦的關系;而「BP神經網路」法則是模擬生物神經元,通過各神經元之間的連接權和閾值將輸入層(地質變數)與輸出層(礦產資源量)聯系起來,而不是用具體方程表徵它們的關系。②賦值的方式不同。「多元信息統計回歸」法是將地質條件對礦產資源量的貢獻採用固定的「分值」;「BP神經網路」法則是使用「樣本」數據的形式,各個地質條件對資源量數值的影響都包含在這些樣本數據中。③變數對資源量的貢獻方式不同。「多元信息統計回歸」法以固定分值決定地質變數對資源量的影響度,完全是專家系統的方式;「BP神經網路」法是依據參與計算的各圖層中含礦面積與該圖層總面積之比決定該變數的權值,沒有人為因素的影響。例如,在「多元信息統計回歸」中,地質構造的分值定為「2」。當某一區域其他地質條件缺失或較少時,構造對資源量的影響度就會較大,明顯地影響到資源量,使其呈線狀分布。
3.討論
從計算方法對比結論已看出,評價計算不能採用單一的方法,應兩種或兩種以上方法同時進行,便於對比、互補,提高評價預測的准確性和可靠性,這在以往資源評價中往往容易被忽視。
(1)橡談「BP神經網路」法是模擬生物神經單元來解決自然界許多非簡單函數、方程所能解決問題(如成礦與地質條件之間的關系,不能用一個或一組方程來加以描述),它的應用前提必須滿足,即樣本數據的「代表性」和「合理性」,否則難以保證網路模擬出的結果符合實際情況。在礦產資源GIS評價預測中,網路的學習樣本應當由工作經驗豐富,對評價目標區地質礦產情況非常熟悉的地質礦產專家來組織,否則,輕者使網路訓練發散,重者造成計算結果無法使用。這一點須特別注意。
(2)對於礦產資源量的評估來說,無論採用何種數學方法,它都是一種「評估」,只能作為參考,而且,數學方法不同,計算的結果必定存在差異。本次資源量的預測採用了多元信息統計回歸法和BP神經網路法。前者是使用一種函數方程進行回歸擬合,當已知儲量與計算資源量之間的擬合誤差達到給定值後,則認為礦產資源量與成礦條件滿足回歸方程的關系;後者是通過給定學習樣本,經網路訓練來確定神經元之間的連接參數和閾值,進而對整個評價區進行資源量的評估計算。這兩種方法都需要已知礦床儲量的支持。一般來說,已知儲量的礦床越多,分布越均勻,則計算結果越可靠。從圖6-5-8、6-5-9中可看出,兩者的分布趨勢相近,但數值存在差異,一般是多元信息統計回歸法計算的值較BP神經網路為大。經分析認為,多元信息統計回歸法因採用回歸方程擬合,當參與計算的地質變數分值高於已知(最高)儲量的分值時,根據回歸方程的趨勢將會獲得高於已知最高儲量的數值。而BP神經網路則是模擬生物神經元對外界感知的原理來進行資源量計算,不存在上述情況,因此,其計算結果主要取決於樣本數據的組織。
一般說來,V級遠景區資源量的計算結果較Ⅳ級預測區更為精確,這是由於V級區面積范圍小,已知礦床(點)大部分集中於該區內,尤其是BP神經網路的樣本數據大都取自這一級遠景區,保證了這些區的資源量「擬合」精度更高。
(3)無論採用何種計算方法,其結果必須結合區域成礦規律和地質背景加以分析,尤其是在劃定成礦遠景區、找礦靶區時,不能一味的按照計算結果進行,這樣很可能被一些假象值所蒙蔽,造成錯誤的結論。
⑨ 神經網路預測原理!
Back Propagation BP (Back Propagation)神經網路,即誤差反傳誤差反向傳播演算法的學習過程,由信息的正向傳播和誤差的亮差反向傳播兩個敬扒過程組成。輸入層各神經元負責接收來自外界的輸入信息,並傳遞給中間層各神經元;中間層是內部信息處理層,負責信息變換,根據信息變化能力的敬稿皮需求,中間層(隱含層)可以設計為單隱層或者多隱層結構;最後一個隱層傳遞到輸出層各神經元的信息,經進一步處理後,完成一次學習的正向傳播處理過程,由輸出層向外界輸出信息處理結果。神經網路很多種,BP神經網路最常用。