nn.cs

来自「多个感知器分类,属于人工智能的神经网络的」· CS 代码 · 共 81 行

CS
81
字号
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace homework1
{
    class NN
    {
        private perceptron[] perseptrons;
        private int m_perceptronNumber;
        public NN(int number)
        {
            m_perceptronNumber = number;
            perseptrons = new perceptron[number];
            for (int i = 0; i < number;i++ )
            {
                perseptrons[i] = new perceptron(i+1);
            }
        }
        public void train(ref ArrayList examples)
        {
            for (int i = 0; i < m_perceptronNumber;i++ )
            {
                perseptrons[i].train(ref examples);
            }
        }
        public int perdicted(ref inputVector exam)
        {
            for (int i = 0; i < m_perceptronNumber; i++)
            {
                if(perseptrons[i].perdicted(ref exam)!=0)
                {
                    return perseptrons[i].recNum;
                }
            }
            return 0;
        }
        public void show(ref string str)
        {
            for (int i = 0; i < m_perceptronNumber; i++)
            {
                str += perseptrons[i].w[0] + " " + perseptrons[i].w[1] + " " + perseptrons[i].w[2] + "   " + perseptrons[i].adjustNumber+"\t\n";
            }
        }
        public void setRate(double rate)
        {
            for (int i = 0; i < m_perceptronNumber; i++)
            {
                perseptrons[i].setRate(rate);
            }
        }
        public void reset()
        {
            for (int i = 0; i < m_perceptronNumber; i++)
            {
                perseptrons[i].reset();
            }
        }
        //此处需要修改
        public void getREN(ref double a,ref double b,ref double c,ref double d)
        {
            a = perseptrons[0].adjustNumber;
            b = perseptrons[1].adjustNumber;
            c = perseptrons[2].adjustNumber;
            d = perseptrons[3].adjustNumber;
        }
        public void randomSetInitW()
        {
            double a, b, c;
            Random rand = new Random();
            for (int i = 0; i < m_perceptronNumber; i++)
            {
                a = (double)rand.Next(-100, 100) / 100;
                b = (double)rand.Next(-100, 100) / 100;
                c = (double)rand.Next(-100, 100) / 100;
                perseptrons[i].randomSetInitW(a,b,c);
            }
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?