//bp神經網路演算法實現
#include #include #include #include #define nh 3 /*輸入層*/
#define ni 4 /*隱層*/
#define nj 1 /*輸出層*/
#define nk 100 /*樣本容量*/
#define test 70 /*測試集容量*/
#define nr 0.7 /*學習效率*/
#define eps 0.00001
float x[nk][nh],d[nk][nj],whi[nh][ni],wij[ni][nj],thi[ni],thj[nj];
int h,i,j,k,ff;
float xmin[nh],xmax[nh],dmin[nj],dmax[nj];
file *fp1,*fp2,*fp3,*fp4;
void init(void);
void startleaning(void);
void testsample(void);
void readw(void);
void readt(void);
void writew(void);
float sigmoid(float a);
double ranu(void);
char filename1=;
void init(void)
for(k=0;kx[max][h]) max=k;
} xmin[h]=x[min][h];
xmax[h]=x[max][h];
for(k=0;kd[max][j])
max=k;
} dmin[j]=d[min][j];
dmax[j]=d[max][j];
for(k=0;k1.0)
return(xrand/m);
else
}/*----------------------------------*/
void main() }
fclose(fp1);
fclose(fp2);
fclose(fp3);
fclose(fp4);
getch();
}
BP神經網路演算法
bp神經網路是一種基於有監督的學習,使用非線性可導函式作為傳遞函式的前饋神經網路。一 模型 bp神經網路由輸入層 隱含層 輸出層組成。訓練過程分為網路輸入訊號正向傳播和誤差訊號反向傳播,按有監督學習方式進行訓練。1 相鄰層之間結點的連線有乙個權重wij,其值在 1,1 之間 2 每乙個神經單元都有一...
BP神經網路演算法
bp back propagation 神經網路是在1986年被rumelhart與mccelland等科學家提出的概念,正如名字所說,它是一種back propagation型的網路,它將訓練誤差進行逆向傳播,通過前饋的方式不斷修正網路中各神經元的權值,而進行自身學習的。bp神經網路拓撲結構包含有...
神經網路BP演算法
def seed d,q,l d代輸入層神經元個數,q代表隱層神經元的個數,l代表輸出層元素的個數,該函式用來初始化權重和閾值 v np.array random.random for i in range q for j in range d 初始化輸入層到隱層權重 print v w np.ar...