[摘 要] 本文應(yīng)用BP神經(jīng)網(wǎng)絡(luò)方法的基本原理, 以公司的現(xiàn)金流量因素狀況為研究對象,建立了公司現(xiàn)金流量分析的神經(jīng)網(wǎng)絡(luò)模型,并進行了實證研究。
[關(guān)鍵詞] BP神經(jīng)網(wǎng)絡(luò);現(xiàn)金流量;實證研究
[中圖分類號]F232;F275[文獻標識碼]A[文章編號]1673-0194(2008)06-0039-02
一、神經(jīng)網(wǎng)絡(luò)反向傳播算法(BP算法)的基本原理
神經(jīng)網(wǎng)絡(luò)的學習算法有許多種,比如反向傳播(BP)算法、Hopfield算法等。其中在非線性分類中最常用的是BP算法。其學習的目的就是對某一特定的輸入產(chǎn)生一個希望的輸出,這就需要網(wǎng)絡(luò)不斷地調(diào)整連接線的權(quán)值。一般說來,BP算法的步驟如下 :(1)對全部連接線的權(quán)值進行初始化,一般設(shè)置成較小的隨機數(shù),以保證網(wǎng)絡(luò)飽和或反常的情況;(2)取一組訓(xùn)練數(shù)據(jù)輸入網(wǎng)絡(luò),并計算出網(wǎng)絡(luò)的輸出值;(3)計算該輸出值與期望值之間的偏差,然后從輸出層反向計算到第一隱含層,向著減少該偏差的方向調(diào)整各條線的權(quán)值;(4)對訓(xùn)練集中的每一組訓(xùn)練數(shù)據(jù)都重復(fù)步驟(2)、(3),直到整個訓(xùn)練的偏差達到能被接受的程度為止。
二、現(xiàn)金流量分析的輸入向量與輸出向量的設(shè)計
按財務(wù)分析理論,現(xiàn)金流量因素分析指標體系一般包括以下5個指標:現(xiàn)金流量總值、經(jīng)營活動現(xiàn)金流量、投資活動現(xiàn)金流量、籌資活動現(xiàn)金流量以及非經(jīng)常性項目活動現(xiàn)金流量,這5個指標即為輸入指標。現(xiàn)金活動流量因素的輸出共有兩種,分別為:充足、不足。
在現(xiàn)金流量的分析中,僅僅考慮現(xiàn)金流量的組成與來源是不夠的,還要考慮時間的因素,即要考慮時間序列分析,而且,行業(yè)因素也是不可忽略的因素,所以本文采用以下形式的數(shù)據(jù)標準化方法:BP網(wǎng)絡(luò)輸入值=企業(yè)實際值/行業(yè)標準值。由于行業(yè)的標準值是隨時間變化的,因此通過這樣的變換,可以兼顧行業(yè)和時間因素。一個指標對應(yīng)一個輸入結(jié)點,則輸入結(jié)點數(shù)定為5個。現(xiàn)金流量分析的輸出結(jié)果有兩個,即充足和不足。這樣一個輸出對應(yīng)于一個輸出節(jié)點,則輸出節(jié)點定為兩個。一般說來,中間節(jié)點的個數(shù)應(yīng)該小于輸入節(jié)點數(shù),而大于輸出節(jié)點數(shù),所以無需通過公式計算,中間節(jié)點的個數(shù)定為3個。

本文準備的訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)及結(jié)果如表1所示,本文的目的是分析公司5的現(xiàn)金流量狀況如何。
由于公司現(xiàn)金流量狀況包括兩種模式,因此可采用如下的形式來表示輸出:充足:(1,0);不足:(0,1)。
三、BP神經(jīng)網(wǎng)絡(luò)模型對現(xiàn)金流量因素分析的Matlab程序?qū)崿F(xiàn)
按問題的要求,公司1,2,3,4為訓(xùn)練數(shù)據(jù),公司5為測試數(shù)據(jù),筆者編制如下神經(jīng)網(wǎng)絡(luò)優(yōu)化算法分類程序存放在M文件wl.m中。
%神經(jīng)網(wǎng)絡(luò)優(yōu)化wl.m文件
%P中的數(shù)據(jù)為訓(xùn)練數(shù)據(jù)
P=[0.9208633091 0.702005731 1 0.667857143;1 0.759689922 0.535816619 0.659793814 1;0.762589928 0.483204134 1 0.728522337 0.832142857;0.111510791 0.105943152 0.080229226 0.199312715 0.260714286]';
%T中的數(shù)據(jù)為分類數(shù)據(jù),(1,0)表示充足 ,(0,1)表示不足。
T=[1 0;1 0;1 0;0 1]';
%cs表示神經(jīng)網(wǎng)絡(luò)的輸入向量的最大值和最小值,即范圍為[0,1]
cs=[0 1;0 1;0 1;0 1;0 1];
%創(chuàng)建神經(jīng)網(wǎng)絡(luò),輸出層為2個,隱含層為3個(注意:這個數(shù)可不斷地用計算機來測試,這里選3),隱含層的神經(jīng)元的傳遞函數(shù)采用S型正切函數(shù)tansig,輸出層的神經(jīng)元的傳遞函數(shù)采用S型對數(shù)函數(shù)logsig,這是由于輸出模型是(0,1),正好滿足網(wǎng)絡(luò)的輸出要求。
net=newff(cs,[3,2],{'tansig','logsig'},'trainlm');
%網(wǎng)絡(luò)的訓(xùn)練次數(shù)
net.trainParam.epochs=1000;
%網(wǎng)絡(luò)訓(xùn)練的精確度為1%
net.trainParam.goal=0.01;
%網(wǎng)絡(luò)的學習速率為0.1
LP.lr = 0.1;
%開始訓(xùn)練
net = train(net,P,T);
%測試數(shù)據(jù)
P_test= [0.154676259 0.074935401 0.077551020.140893471 0.207142857]';
%模擬仿真結(jié)果
Y=sim(net,P_test)
在Matlab狀態(tài)下執(zhí)行m文件,得到如下結(jié)果:
TRAINLM, Epoch 0/1000, MSE 0.305416/0.01, Gradient 1.30641/1e-010
TRAINLM, Epoch 2/1000, MSE 0.00596585/0.01, Gradient 0.0610003/1e-010
TRAINLM, Performance goal met.
Y =(0.005 3,0.987 9)
可見,經(jīng)過2次訓(xùn)練,網(wǎng)絡(luò)的性能就達到了要求,如圖1所示。收斂速度快的一個重要原因在于學習速率LP.lr = 0.1的設(shè)定值比較大。

結(jié)論分析:經(jīng)過測試,人工神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果
(0.005 3,0.987 9)與目標值(0,1)的誤差在0.01允許范圍內(nèi),效果較好,結(jié)論表明:公司5的現(xiàn)金流量不足。
主要參考文獻
[1] 朱順泉. 統(tǒng)計與優(yōu)化應(yīng)用[M]. 北京:清華大學出版社,2007.
[2] 飛思研發(fā)中心. 神經(jīng)網(wǎng)絡(luò)理論與Matlab 7實現(xiàn)[M]. 北京:清華大學出版社,2005.