Добавить задачу для решения или обучения в список задач.

Объект перцептрона имеет внутренний список задач.

Задача состоит из входного набора чисел, количество которых соответствуе числу входных нейронов, второго набора чисел, соответствующих числу выходных нейронов (требуемые значения) и названия задачи.

Перед обучением мы создаем наборы входных значений с соответствующим набором желаемых значений на выходе.

Вызов:

int ires = ts_aipercrozen(int iPercRozen, "task_add_to_list", string taskname, int iTableIN, int iTableOUT);


Здесь:

ires - отрицательное значение или 0, в случае успешного выполнения;

taskname - имя задачи;

iTableIN - плоская таблица в одну колонку с набором числовых входных параметров типа double;

iTableOUT - плоская таблица в одну колонку с набором числовых желаемых выходных параметров для обучения.


Пример.

Задать две задачи для обучения перцептрона на 200 входных и 2 выходных нейрона. Провести обучение с обратным распределением ошибки и вывести результаты в окно сообщений.


int iTable11;

object("create", "ts_table", iTable11);

ts_table(iTable11, "add_column", 0, "double", "Вход");

int i, icount;

icount = 200;

for (i = 0; i < icount; i++)

{

   ts_table(iTable11, "add_row", 0, i+1);

}


int iTable12;

object("create", "ts_table", iTable12);

ts_table(iTable12, "add_column", 0, "double", "Выход для обучения");

ts_table(iTable12, "add_column", 1, "double", "Выход реальный");

ts_table(iTable12, "add_row", 0, 0.77, 1,0);

ts_table(iTable12, "add_row", 0, 0.88, 1,0);

ts_aipercrozen(iPercRozen, "task_add_to_list", "Задача 1", iTable11, iTable12);

int iTable1;

object("create", "ts_table", iTable21);

ts_table(iTable21, "add_column", 0, "double", "Вход");

icount = 200;

for (i = 0; i < icount; i++)

{

   ts_table(iTable21, "add_row", 0, 100 - i);

}


int iTable22;

object("create", "ts_table", iTable22);

ts_table(iTable22, "add_column", 0, "double", "Выход для обучения");

ts_table(iTable22, "add_column", 1, "double", "Выход реальный");

ts_table(iTable22, "add_row", 0, 0.55, 1, 0);

ts_table(iTable22, "add_row", 0, 0.77, 1, 0);


ts_aipercrozen(iPercRozen, "task_add_to_list", "Задача 2", iTable21, iTable22);


ts_aipercrozen(iPercRozen, "learn_task_list", 200000);


ts_aipercrozen(iPercRozen, "run_task_list");


ts_aipercrozen(iPercRozen, "get_task_result_to_table", 0, iTable12,false,1);

string str;

ts_table(iTable12, "print_to_str", str);

coutvar << str;

ts_aipercrozen(iPercRozen, "get_task_result_to_table", 1, iTable22,false,1);

ts_table(iTable22, "print_to_str", str);

coutvar << str;