📄 nn.cs
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -