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

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

?? bp2layer.cs

?? Source code Recognize character with backpropagation
?? CS
字號:
#region Copyright (c), Some Rights Reserved
/*##########################################################################
 * 
 * BP2Layer.cs
 * -------------------------------------------------------------------------
 * By
 * Murat FIRAT, June 2007
 * 
 * -------------------------------------------------------------------------
 * Description:
 * BP2Layer.cs Implements Two Layer Backpropagation Neural Network
 * 
 * -------------------------------------------------------------------------
 * Notes:
 * If training process takes too long, modify (mostly increase) learning rate 
 * and initial weight.
 * 
 * To modify initial weight, change x(0<x<1) and y(0<y<100) in the following
 * code segment(in InitializeNetwork(..) function):
 * 
 * PreInputLayer[i].Weights[j] = x +((double)rand.Next(0, y) / 100);                  
 * InputLayer[i].Weights[j] = x + ((double)rand.Next(0, y) / 100);
 * 
 * -------------------------------------------------------------------------
 ###########################################################################*/
#endregion

using System;
using System.Collections.Generic;
using System.Text;

namespace BPSimplified.Lib
{
    [Serializable]
    class BP2Layer<T> : IBackPropagation<T> where T : IComparable<T>
    {
        private int PreInputNum;
        private int InputNum;
        private int OutputNum;

        private PreInput[] PreInputLayer;
        private Input[] InputLayer;
        private Output<T>[] OutputLayer;

        private double learningRate = 0.2;      

        public BP2Layer(int preInputNum, int inputNum, int outputNum)
        {
            PreInputNum = preInputNum;
            InputNum = inputNum;
            OutputNum = outputNum;

            PreInputLayer = new PreInput[PreInputNum];
            InputLayer = new Input[InputNum];
            OutputLayer = new Output<T>[OutputNum];          
        }

        #region IBackPropagation<T> Members
        public void BackPropagate()
        {
            int i, j;
            double total;

            //Fix Input Layer's Error
            for (i = 0; i < InputNum; i++)
            {
                total = 0.0;
                for (j = 0; j < OutputNum; j++)
                {
                    total += InputLayer[i].Weights[j] * OutputLayer[j].Error;
                }
                InputLayer[i].Error = total;
            }

            //Update The First Layer's Weights
            for (i = 0; i < InputNum; i++)
            {
                for (j = 0; j < PreInputNum; j++)
                {
                    PreInputLayer[j].Weights[i] +=
                        learningRate * InputLayer[i].Error * PreInputLayer[j].Value;
                }
            }

            //Update The Second Layer's Weights
            for (i = 0; i < OutputNum; i++)
            {
                for (j = 0; j < InputNum; j++)
                {
                    InputLayer[j].Weights[i] +=
                        learningRate * OutputLayer[i].Error * InputLayer[j].Output;
                }
            }            
        }

        public double F(double x)
        {
            return (1 / (1 + Math.Exp(-x)));
        }

        public void ForwardPropagate(double[] pattern, T output)
        {
            int i, j;
            double total = 0.0;

            //Apply input to the network
            for (i = 0; i < PreInputNum; i++)
            {
                PreInputLayer[i].Value = pattern[i];
            }

            //Calculate The First(Input) Layer's Inputs and Outputs
            for (i = 0; i < InputNum; i++)
            {
                total = 0.0;
                for (j = 0; j < PreInputNum; j++)
                {
                    total += PreInputLayer[j].Value * PreInputLayer[j].Weights[i];
                }

                InputLayer[i].InputSum = total;
                InputLayer[i].Output = F(total);
            }

            //Calculate The Second(Output) Layer's Inputs, Outputs, Targets and Errors
            for (i = 0; i < OutputNum; i++)
            {
                total = 0.0;
                for (j = 0; j < InputNum; j++)
                {
                    total += InputLayer[j].Output * InputLayer[j].Weights[i];
                }

                OutputLayer[i].InputSum = total;
                OutputLayer[i].output = F(total);
                OutputLayer[i].Target = OutputLayer[i].Value.CompareTo(output) == 0 ? 1.0 : 0.0;
                OutputLayer[i].Error = (OutputLayer[i].Target - OutputLayer[i].output) * (OutputLayer[i].output) * (1 - OutputLayer[i].output);
            }
        }

        public double GetError()
        {
            double total = 0.0;
            for (int j = 0; j < OutputNum; j++)
            {
                total += Math.Pow((OutputLayer[j].Target - OutputLayer[j].output), 2) / 2;
            }
            return total;
        }

        public void InitializeNetwork(Dictionary<T, double[]> TrainingSet)
        {
            int i, j;
            Random rand = new Random();
            for (i = 0; i < PreInputNum; i++)
            {
                PreInputLayer[i].Weights = new double[InputNum];
                for (j = 0; j < InputNum; j++)
                {
                    PreInputLayer[i].Weights[j] = 0.01 + ((double)rand.Next(0, 5) / 100);
                }
            }

            for (i = 0; i < InputNum; i++)
            {
                InputLayer[i].Weights = new double[OutputNum];
                for (j = 0; j < OutputNum; j++)
                {
                    InputLayer[i].Weights[j] = 0.01 + ((double)rand.Next(0, 5) / 100);
                }
            }

            int k = 0;
            foreach (KeyValuePair<T, double[]> p in TrainingSet)
            {
                OutputLayer[k++].Value = p.Key;
            }
        }

        public void Recognize(double[] Input, ref T MatchedHigh, ref double OutputValueHight, ref T MatchedLow, ref double OutputValueLow)
        {
            int i, j;
            double total = 0.0;
            double max = -1;

            //Apply input to the network
            for (i = 0; i < PreInputNum; i++)
            {
                PreInputLayer[i].Value = Input[i];
            }

            //Calculate Input Layer's Inputs and Outputs
            for (i = 0; i < InputNum; i++)
            {
                total = 0.0;
                for (j = 0; j < PreInputNum; j++)
                {
                    total += PreInputLayer[j].Value * PreInputLayer[j].Weights[i];
                }
                InputLayer[i].InputSum = total;
                InputLayer[i].Output = F(total);
            }

            //Find the [Two] Highest Outputs   
            for (i = 0; i < OutputNum; i++)
            {
                total = 0.0;
                for (j = 0; j < InputNum; j++)
                {
                    total += InputLayer[j].Output * InputLayer[j].Weights[i];
                }
                OutputLayer[i].InputSum = total;
                OutputLayer[i].output = F(total);
                if (OutputLayer[i].output > max)
                {
                    MatchedLow = MatchedHigh;
                    OutputValueLow = max;
                    max = OutputLayer[i].output;
                    MatchedHigh = OutputLayer[i].Value;
                    OutputValueHight = max;
                }
            }
        }

        #endregion

        public double LearningRate
        {
            get { return learningRate; }
            set { learningRate = value; }
        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人综合在线| 爽爽淫人综合网网站| 欧美成人精品二区三区99精品| 色婷婷久久99综合精品jk白丝| 91啪九色porn原创视频在线观看| 国产·精品毛片| 成人性生交大片| 色狠狠一区二区| 日本韩国欧美一区| 欧美午夜不卡在线观看免费| 91传媒视频在线播放| 欧美另类z0zxhd电影| 欧美久久一二三四区| 日韩欧美国产精品| 国产女人aaa级久久久级| 国产精品午夜免费| 一个色妞综合视频在线观看| 午夜激情一区二区| 久久精品国产免费| 波多野结衣视频一区| 99v久久综合狠狠综合久久| 91丝袜高跟美女视频| 欧美日韩黄色影视| 久久婷婷国产综合精品青草| 国产欧美一区二区精品性| 亚洲卡通动漫在线| 日产国产欧美视频一区精品| 国产在线视频不卡二| 91一区二区三区在线观看| 777精品伊人久久久久大香线蕉| 精品国产伦一区二区三区观看方式 | 亚洲午夜av在线| 久久9热精品视频| av亚洲产国偷v产偷v自拍| 91麻豆精品91久久久久同性| 久久先锋影音av| 一个色妞综合视频在线观看| 国产真实乱对白精彩久久| 在线一区二区视频| 日韩精品一区二区三区视频播放| 中文字幕一区二区三区四区 | 伊人色综合久久天天人手人婷| 午夜激情久久久| 97精品视频在线观看自产线路二| 日韩一区二区三区电影| 亚洲免费成人av| 国产呦精品一区二区三区网站| 欧美三级视频在线| 欧美激情一区二区三区全黄| 免费一级欧美片在线观看| 色婷婷av一区二区三区软件| 国产午夜亚洲精品羞羞网站| 日韩国产成人精品| 欧美亚洲另类激情小说| 国产女人aaa级久久久级| 喷水一区二区三区| 欧美在线免费视屏| 亚洲欧洲日韩综合一区二区| 国产精品一区不卡| 日韩一级免费一区| 亚洲成人第一页| 欧美视频日韩视频| 椎名由奈av一区二区三区| 国产精一区二区三区| 日韩欧美成人一区| 日本成人在线不卡视频| 欧美高清视频在线高清观看mv色露露十八| 国产精品动漫网站| 粉嫩绯色av一区二区在线观看| 欧美一区二区三区在线观看视频| 亚洲一区在线视频观看| 欧洲国内综合视频| 夜夜亚洲天天久久| 欧美调教femdomvk| 一区2区3区在线看| 欧美男人的天堂一二区| 亚洲一区av在线| 欧美日韩国产三级| 天天做天天摸天天爽国产一区 | 在线观看一区日韩| 亚洲午夜av在线| 欧美日韩一区二区三区免费看 | 亚洲国产精品二十页| 国产成人日日夜夜| 国产日本欧洲亚洲| 97se亚洲国产综合自在线不卡| 日韩美女视频一区二区 | 丰满少妇久久久久久久| 国产精品热久久久久夜色精品三区 | 26uuu久久综合| 国产91露脸合集magnet| 亚洲丝袜精品丝袜在线| 欧美三级欧美一级| 蜜臀av性久久久久蜜臀aⅴ| 精品福利一区二区三区免费视频| 国产精选一区二区三区| 亚洲丝袜自拍清纯另类| 欧美乱熟臀69xxxxxx| 国产一区二区毛片| 最新欧美精品一区二区三区| 91久久国产最好的精华液| 日韩av在线发布| 亚洲国产高清aⅴ视频| 精品视频色一区| 国产乱码精品一区二区三区av| 一区二区在线观看免费| 日韩精品在线一区| 91老司机福利 在线| 天天免费综合色| 久久精品欧美日韩| 欧美亚洲国产bt| 国产毛片精品一区| 丝袜国产日韩另类美女| 国产午夜精品在线观看| 4hu四虎永久在线影院成人| 成人伦理片在线| 麻豆国产精品777777在线| 伊人夜夜躁av伊人久久| 久久久久久综合| 欧美日产在线观看| 成人一区二区三区视频 | 国产精品午夜电影| 欧美一区二区视频在线观看2020| av一区二区三区| 国产一区不卡在线| 奇米影视一区二区三区| 亚洲三级理论片| 亚洲精品一区二区三区福利| 欧美这里有精品| 成人黄色小视频| 国产一区二区在线电影| 香蕉影视欧美成人| 亚洲日本韩国一区| 欧美精彩视频一区二区三区| 欧美一区二区三区啪啪| 在线观看亚洲精品视频| 成人三级伦理片| 风间由美一区二区av101| 久久精品国产秦先生| 蜜臀av亚洲一区中文字幕| 五月天精品一区二区三区| 亚洲最大色网站| 亚洲欧美日本韩国| 亚洲欧美一区二区三区久本道91| 久久久99久久| 国产日韩欧美一区二区三区乱码| 欧美一区二区三区爱爱| 日韩欧美美女一区二区三区| 欧美精品乱码久久久久久按摩| 在线一区二区三区四区五区 | 777奇米成人网| 欧美日韩精品一区视频| 欧美无乱码久久久免费午夜一区| 日本黄色一区二区| 欧美系列一区二区| 欧美在线制服丝袜| 欧美午夜寂寞影院| 欧美日韩综合不卡| 91精品国产入口| 精品国产百合女同互慰| 久久先锋影音av鲁色资源| 欧美国产综合一区二区| 亚洲三级在线看| 亚洲午夜一区二区三区| 日本不卡一区二区| 国产精品66部| 波多野结衣亚洲一区| 欧美少妇bbb| 日韩三级.com| 中文字幕av一区 二区| √…a在线天堂一区| 亚洲国产精品精华液网站| 日本最新不卡在线| 国产成人高清视频| 在线看国产一区二区| 日韩一区二区中文字幕| 国产精品久久影院| 天天影视色香欲综合网老头| 久久国产精品99久久人人澡| 成人av集中营| 欧美电影在哪看比较好| 久久综合久久综合久久综合| 国产精品第五页| 午夜激情综合网| 成人午夜激情在线| 欧美日韩视频在线第一区 | 日本女优在线视频一区二区| 国内精品视频一区二区三区八戒| 91网站在线观看视频| 91精品久久久久久久99蜜桃| 欧美国产欧美综合| 日日摸夜夜添夜夜添亚洲女人| 国产成人午夜99999| 在线观看91av| 久久精品一区蜜桃臀影院| 亚洲国产日韩a在线播放| 国产成人av福利| 欧美日韩成人在线一区| 亚洲图片欧美激情| 国产精品18久久久久|