task_add_to_list
Добавить задачу для решения или обучения в список задач.
Объект перцептрона имеет внутренний список задач.
Задача состоит из входного набора чисел, количество которых соответствуе числу входных нейронов, второго набора чисел, соответствующих числу выходных нейронов (требуемые значения) и названия задачи.
Перед обучением мы создаем наборы входных значений с соответствующим набором желаемых значений на выходе.
Вызов:
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;