亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rbf.txt

?? 有關于bp神經網絡隱層如何采用RBF的隱層自學習方法的C語言程序
?? TXT
字號:
哪位大俠有關于bp神經網絡隱層如何采用RBF的隱層自學習方法的C語言程序


加入慣性系數,已加快收斂速度,代碼如下:

#include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include <time.h>

#define OUT_COUT 2     //輸出向量維數
#define IN_COUT 3     //輸入向量維數
#define COUT     6     //樣本數量

typedef struct {       //bp人工神經網絡結構
    int h;             //實際使用隱層數量
    double v[IN_COUT][50];   //隱藏層權矩陣i,隱層節點最大數量為100
    double w[50][OUT_COUT];   //輸出層權矩陣
    double a;          //學習率
    double b;          //精度控制參數
    double c;          //慣性系數0.9-1
    int LoopCout;      //最大循環次數
} bp_nn;

double fnet(double net) { //Sigmoid函數,神經網絡激活函數
    return 1/(1+exp(-net));
}

int InitBp(bp_nn *bp) { //初始化bp網絡
    
    printf("請輸入隱層節點數,最大數為100:\n");    
    scanf("%d", &(*bp).h);
    
    printf("請輸入學習率:\n");
    scanf("%lf", &(*bp).a);    //(*bp).a為double型數據,所以必須是lf

    printf("請輸入精度控制參數:\n");
    scanf("%lf", &(*bp).b);

    printf("請輸入慣性系數:\n");
    scanf("%lf", &(*bp).c);

    printf("請輸入最大循環次數:\n");
    scanf("%d", &(*bp).LoopCout);

    int i, j;
    srand((unsigned)time(NULL));
    for (i = 0; i < IN_COUT; i++) 
        for (j = 0; j < (*bp).h; j++)
            (*bp).v[j] = rand() / (double)(RAND_MAX);    
    for (i = 0; i < (*bp).h; i++) 
        for (j = 0; j < OUT_COUT; j++)
            (*bp).w[j] = rand() / (double)(RAND_MAX);    
    
    return 1;
}

int TrainBp(bp_nn *bp, float x[COUT][IN_COUT], int y[COUT][OUT_COUT]) {
//訓練bp網絡,樣本為x,理想輸出為y
    double f = (*bp).b;                      //精度控制參數
    double a = (*bp).a;                      //學習率
    double c = (*bp).c;                      //慣性系數
    int h = (*bp).h;                         //隱層節點數
    double v[IN_COUT][50], w[50][OUT_COUT]; //權矩陣
    double Ch_v[IN_COUT][50], Ch_w[50][OUT_COUT]; //權矩陣修改量
    double Temp_v[IN_COUT][50], Temp_w[50][OUT_COUT]; //權矩陣修改量
    double ChgH[50], ChgO[OUT_COUT];         //修改量矩陣
    double O1[50], O2[OUT_COUT];             //隱層和輸出層輸出量
    int LoopCout = (*bp).LoopCout;           //最大循環次數
    int i, j, k, n;
    double temp;

    for (i = 0; i < IN_COUT; i++)            // 復制結構體中的權矩陣 
        for (j = 0; j < h; j++)
            v[j] = (*bp).v[j];
    for (i = 0; i < h; i++)
        for (j = 0; j < OUT_COUT; j++)
            w[j] = (*bp).w[j];
    
    double e = f + 1;
    for (n = 0; e > f && n < LoopCout; n++) { //對每個樣本訓練網絡
        e = 0;
        for (j = 0; j < OUT_COUT; j++)
            ChgO[j] = 0;
        for (j = 0; j < h; j++)
            ChgH[j] = 0;
        for (j = 0; j < h; j++)          
            for (k = 0; k < OUT_COUT; k++)
                Ch_w[j][k] = 0; 
        for (j = 0; j < IN_COUT; j++)    
            for (k = 0; k < h; k++)
                Ch_v[j][k] = 0; 
        for (i= 0; i < COUT; i++) { 
            for (j = 0; j < h; j++)          
                for (k = 0; k < OUT_COUT; k++)
                    Temp_w[j][k] = 0; 
            for (j = 0; j < IN_COUT; j++)    
                for (k = 0; k < h; k++)
                    Temp_v[j][k] = 0; 
            for (k= 0; k < h; k++) {          //計算隱層輸出向量
                temp = 0;
                for (j = 0; j < IN_COUT; j++)
                    temp = temp + x[j] * v[j][k];    
                O1[k] = fnet(temp);
            }
            for (k = 0; k < OUT_COUT; k++) { //計算輸出層輸出向量
                temp = 0;
                for (j = 0; j < h; j++)
                    temp = temp + O1[j] * w[j][k];
                O2[k] = fnet(temp);
            }
            for (j = 0; j < OUT_COUT ; j++)   //計算輸出誤差
                e = e + (y[j] - O2[j]) * (y[j] - O2[j]);
            for (j = 0; j < OUT_COUT; j++)    
                ChgO[j] = O2[j] * (1 - O2[j]) * (y[j] - O2[j]);
            for (j = 0; j < h; j++)          
                for (k = 0; k < OUT_COUT; k++) {
                    Temp_w[j][k] = c * Temp_w[j][k] + a * O1[j] * ChgO[k];
                    Ch_w[j][k] += Temp_w[j][k]; //累加所有樣本訓練后的改變量
                }
            for (j = 0; j < h; j++) {      
                temp = 0;
                for (k = 0; k < OUT_COUT; k++)
                    temp = temp + w[j][k] * ChgO[k];
                ChgH[j] = temp * O1[j] * (1 - O1[j]);
            }
            for (j = 0; j < IN_COUT; j++)    
                for (k = 0; k < h; k++) {
                    Temp_v[j][k] = c * Temp_v[j][k] + a * x[j] * ChgH[k];
                    Ch_v[j][k] += Temp_v[j][k]; //累加所有樣本訓練后的改變量,消除樣本順序影響
                }
        }
        for (j = 0; j < h; j++)           //修改輸出層權矩陣
            for (k = 0; k < OUT_COUT; k++)
                w[j][k] = w[j][k] + Ch_w[j][k]; 
        for (j = 0; j < IN_COUT; j++)     //修改隱藏層權矩陣
            for (k = 0; k < h; k++)
                v[j][k] = v[j][k] + Ch_v[j][k]; 
        if (n % 10 == 0) {
            printf("誤差 : %f\n", e);
            printf("循環次數:%d\n", n);
        }
    }
    printf("總共循環次數:%d\n", n);
    printf("調整后的隱層權矩陣:\n");
    for (i = 0; i < IN_COUT; i++) {    
        for (j = 0; j < h; j++)
            printf("%f    ", v[j]);    
        printf("\n");
    }
    printf("調整后的輸出層權矩陣:\n");
    for (i = 0; i < h; i++) {
        for (j = 0; j < OUT_COUT; j++)
            printf("%f    ", w[j]);    
        printf("\n");
    }
    for (i = 0; i < IN_COUT; i++)             //把結果復制回結構體 
        for (j = 0; j < h; j++)
            (*bp).v[j] = v[j];
    for (i = 0; i < h; i++)
        for (j = 0; j < OUT_COUT; j++)
            (*bp).w[j] = w[j];
    printf("bp網絡訓練結束!\n");

    return 1;
}

int UseBp(bp_nn *bp) {    //使用bp網絡
    float Input[IN_COUT];
    double O1[50]; 
    double O2[OUT_COUT]; //O1為隱層輸出,O2為輸出層輸出
    while (1) {           //持續執行,除非中斷程序
        printf("請輸入3個數:\n");
        int i, j;
        for (i = 0; i < IN_COUT; i++)
            scanf("%f", &Input);
        double temp;
        for (i = 0; i < (*bp).h; i++) {
            temp = 0;
            for (j = 0; j < IN_COUT; j++)
                temp += Input[j] * (*bp).v[j];
            O1 = fnet(temp);
        }
        for (i = 0; i < OUT_COUT; i++) {
            temp = 0;
            for (j = 0; j < (*bp).h; j++)
                temp += O1[j] * (*bp).w[j];
            O2 = fnet(temp);
        }
        printf("結果:   ");
        for (i = 0; i < OUT_COUT; i++)
            printf("%.3f ", O2);
        printf("\n");
    }
    return 1;
}

int main()
{
    float x[COUT][IN_COUT] = {{0.8,0.5,0}, 
                     {0.9,0.7,0.3},
                     {1,0.8,0.5},
                     {0,0.2,0.3},
                     {0.2,0.1,1.3},
                     {0.2,0.7,0.8}}; //訓練樣本
    int y[COUT][OUT_COUT] = {{0,1},
                   {0,1},
                   {0,1},
                   {1,0},
                   {1,0},
                   {1,0}};          //理想輸出
    bp_nn bp;

    InitBp(&bp);                    //初始化bp網絡結構
    TrainBp(&bp, x, y);             //訓練bp神經網絡
    UseBp(&bp);                     //測試bp神經網絡

    return 1;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品无人区| 一区二区三区.www| 日韩毛片精品高清免费| 亚洲激情男女视频| 亚洲一区二区黄色| 美女视频黄久久| 91蜜桃传媒精品久久久一区二区| 欧美日韩日本视频| 在线观看日韩精品| 欧美日韩亚洲不卡| 久久精品欧美一区二区三区麻豆| 一区二区三区日韩欧美| 看电视剧不卡顿的网站| 99久久99久久精品国产片果冻| 欧美一级免费观看| 亚洲人成伊人成综合网小说| 精品一区二区三区的国产在线播放| 91日韩在线专区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 欧美日韩中字一区| 国产精品天天摸av网| 一区二区理论电影在线观看| 日本sm残虐另类| 91精品1区2区| 国产精品免费丝袜| 国内精品伊人久久久久av一坑| 色琪琪一区二区三区亚洲区| 久久精品夜色噜噜亚洲a∨| 亚洲观看高清完整版在线观看 | 精品一区二区三区香蕉蜜桃 | 亚洲人精品一区| 成人理论电影网| 日韩视频一区二区三区| 亚洲国产日韩a在线播放| 成人av在线一区二区| 2014亚洲片线观看视频免费| 亚洲成人动漫在线免费观看| 色香色香欲天天天影视综合网| 久久久久久99久久久精品网站| 青青草97国产精品免费观看| 91免费视频大全| 国产精品久久久久毛片软件| 国产aⅴ精品一区二区三区色成熟| 欧美一级日韩不卡播放免费| 亚洲777理论| 欧美日韩在线播放三区四区| 亚洲欧美日韩在线播放| 91日韩精品一区| 一区二区三区在线看| 91麻豆蜜桃一区二区三区| 精品久久久久久最新网址| 乱一区二区av| 日韩三区在线观看| 美女被吸乳得到大胸91| 欧美性视频一区二区三区| 国产精品国产精品国产专区不片 | 亚洲人成电影网站色mp4| 北岛玲一区二区三区四区| 国产精品免费久久久久| 风流少妇一区二区| 国产精品久99| 国产美女在线精品| 日韩精品一区二区三区在线播放| 日本不卡的三区四区五区| 日韩一区二区三区精品视频| 久久成人麻豆午夜电影| 久久久久久久网| 久久99久久久久久久久久久| 国产亚洲综合色| 91麻豆精东视频| 天堂一区二区在线| 日韩视频永久免费| 国产麻豆欧美日韩一区| 最近中文字幕一区二区三区| 欧美性大战xxxxx久久久| 蜜桃av一区二区在线观看 | 亚洲国产视频直播| 日韩一区二区三区免费看 | 欧美日韩精品三区| 国内精品国产成人国产三级粉色| 国产精品国产自产拍高清av| 欧美丝袜丝nylons| 日韩激情一二三区| 国产精品嫩草99a| 91精品国产欧美一区二区18| 麻豆传媒一区二区三区| 中文字幕乱码日本亚洲一区二区| 91成人免费在线视频| 美女视频一区二区| 国产精品久久久久久久久免费樱桃| 91日韩精品一区| 国产一区日韩二区欧美三区| 日韩一区欧美一区| 日韩亚洲电影在线| 99精品国产99久久久久久白柏| 午夜精品久久一牛影视| 国产精品网站导航| 欧美一区二区三区啪啪| 懂色av一区二区三区免费观看 | 欧美一级免费观看| 91在线码无精品| 国产精品一级二级三级| 亚洲一区二区三区自拍| 久久精品一区二区| 欧美成人video| 欧美日韩一区成人| 91在线精品秘密一区二区| 亚洲午夜视频在线| 亚洲精品一区二区三区蜜桃下载| 欧美性大战久久久| 色综合天天综合色综合av | 久久久久久日产精品| 精品蜜桃在线看| 在线不卡免费欧美| 色噜噜狠狠色综合欧洲selulu| 欧美aaaaaa午夜精品| 一区二区在线观看视频| 国产精品污www在线观看| 欧美大片顶级少妇| 欧美一级黄色大片| 欧美精品在线一区二区三区| 欧美唯美清纯偷拍| 欧美性做爰猛烈叫床潮| 国内外成人在线| 久久激五月天综合精品| 日本欧美一区二区在线观看| 五月婷婷综合在线| 五月开心婷婷久久| 一区二区久久久久| 亚洲色图另类专区| 亚洲久本草在线中文字幕| 亚洲国产高清aⅴ视频| 日韩亚洲欧美综合| 日韩欧美一区在线| 精品美女在线观看| 久久众筹精品私拍模特| 精品国产乱码久久| 久久久久久久久久久久久久久99| 26uuu国产日韩综合| 国产亚洲短视频| 国产精品免费aⅴ片在线观看| 久久女同性恋中文字幕| 欧美v亚洲v综合ⅴ国产v| 精品国产欧美一区二区| 久久精品亚洲国产奇米99 | 欧美无乱码久久久免费午夜一区| 一本久久综合亚洲鲁鲁五月天 | 粉嫩欧美一区二区三区高清影视| 床上的激情91.| 91成人国产精品| 久久久久久久久伊人| 亚洲综合在线电影| 国产精品一品二品| 欧美日韩国产综合草草| 久久久另类综合| 午夜不卡av免费| 国产成人亚洲综合a∨婷婷| 欧美色成人综合| 欧美激情在线看| 蜜桃视频免费观看一区| 91日韩一区二区三区| 久久久99精品免费观看| 三级不卡在线观看| www.欧美.com| 日韩欧美黄色影院| 亚洲精品免费电影| 国产成人三级在线观看| 欧美日韩色一区| 自拍偷拍国产亚洲| 韩国午夜理伦三级不卡影院| 欧美吞精做爰啪啪高潮| 久久精品视频免费观看| 日韩在线一二三区| 91国偷自产一区二区开放时间| 国产午夜精品久久久久久免费视 | 欧美一区二区三区免费视频| 成人欧美一区二区三区白人 | 欧美日韩日日夜夜| 亚洲精品视频在线观看网站| 国内精品自线一区二区三区视频| 欧美丰满嫩嫩电影| 亚洲精品高清在线| 99久久久精品免费观看国产蜜| 国产亚洲综合在线| 激情文学综合网| 91精品国产乱| 日韩电影在线免费观看| 欧美亚男人的天堂| 亚洲国产视频直播| 欧美午夜影院一区| 亚洲精品福利视频网站| 一本色道久久加勒比精品| 中文字幕视频一区| 成人h版在线观看| 国产精品福利在线播放| av中文字幕不卡| 亚洲色图一区二区三区| 99久久777色| 亚洲精品五月天| 欧美日韩成人激情|