Курсовая работа: Распознавание слов естественного языка с использованием нейросетей
- момент - M;
- коэффициент обучения - BETA;
- количество нейронов скрытого слоя - N_HID;
- количество нейронов входного слоя - Max_inp;
- количество образцов, содержащихся в обучающей выборке - Max_par;
- количество эпох обучения - Epoch;
- имя файла с обучающей выборкой - name;
- логическая пременная indicate, сигнализирующая о необходимости обучения сети.
Ввод тестируемой выборки производится посредствам метода get_test_pattern(double[] tests).
Для описания нейрона была создана структура neuron_type, содержащая следующие поля:
- список весовых коэффициентов для связей между данным нейроном и всеми нейронами предыдущего слоя (или входными данными, если нейрон находится во входном слое). Каждый весовой коэффициент - действительное число (по 1 весовому коэффициенту на нейрон предыдущего слоя);
- пороговый уровень;
- значение ошибки, используется только на стадии обучения;
- изменение ошибки, также используется только во время обучения.
Описание нейрона привидено ниже:
struct neuron_type
{
public double[] w; //весовые коэффициенты
public double[] change;//модификация весовых коэффициентов используется в процессе обучения
public double threshold, a; //а-сигнал на выходе нейрона,threshold-значение порога
public double t_change; //модификация порога используется в процессе обучения
public double E; //значениеошибки
}
Выходной сигнал нейрона хранится в поле a (так называемая активность нейрона). Нейрон должен отреагировать на входной сигнал, поступающий по взвешенным связям, вычислив при этом выходной сигнал. Для трансформации входных сигналов в выходные необходима функция.
Ниже приведена декларация узлов с помощью закрытых переменных. Постоянные обозначают количество нейронов во входном, скрытом и выходном слое:
int MAX_INP; //Количество нейронов в входном слое
int MAX_HID; //Количество нейронов в скрытом слое
int MAX_OUT; //Количество нейронов в выходном слое
neuron_type[] ipl; //Входной слой