Создание сети и уменьшение/увеличение порога вероятности распознавания заданного образа

Страницы работы

9 страниц (Word-файл)

Содержание работы

Лабораторная работа по дисциплине «Системы Искуственного Интеллекта»

Лабораторная работа номер 1

Запуск программы lab1.exe


                     Создаем сеть

“Обучаем” систему, введдя вертикальную полосу и задав шаблон на первые 2 нейрона.

алее обучаем систему горизонтальной линией и шаболоном 00110


Аналогично, обучаем, нажав кнопку  “Learn”, и напоследок еще один шаблон – две точки по углам.


Параметры все стоят по умолчаниюТеперь проверим, как они обучились.


      Доверительный интервал = 0.3        Доверительный интервал = 0.1


При доверительном интервале 0.2 распознавание второго образа 100%

При доверительном интервале 0.1 – образ распознается верно (выбраны нужные выходы), но остальные неизвестны.

Аналогично с распознаванием образа 1 и 3:


          Доверительный интервал = 0.2    Доверительный интервал = 0.1


При неопределенной картине (шаблон 2 или 3) зависимость такая – при доверительном интервале = 0.1 выходы в неопределенном состоянии, при доверительном интервале = 0.3 однозначно выбирается второй шаблон, что может быть и ошибкой.


Вывод: С увеличением параметра доверительного интервала увеличивается вероятность распознавания, но растет вероятность ошибки (будет опознан не тот шаблон)


Лабораторная работа по дисциплине

«Системы Искуственного Интеллекта»

«Исследование ….?»

Лабораторная работа номер 2


Выберем количество нейронов равным 20 и сформируем нейронную сеть.

Попытаемся исследовать количество ошибок нейронной сети при количестве нейронов равным 10, задав .двадцать обучающих векторов длиною также в 10, и проверяя тестовым вектором в 3,6 и 9 правильных значений.

Для задания массива случайных чисел используем программный генератор псевдослучайных чисел, программа на С:

#include <stdlib.h>

#include <stdio.h>

int main(void)

{

   int i,j;

   randomize();

   for(j=0; j<20; j++)   {

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

        printf("%d", rand()%2);

     printf("\n");       }

   return 0;

}

Результат работы программы – массив 10*20 случайным образом выбранных 0 и 1.

0000110011

0011001101

1010011101

0010010000

0100111110

1111011100

1001000011

1010100100

1010000000

1100110011

0010010000

1100100001

0000100011

0011001100

0111011010

0110010000

0000011010

0100101100

1010001000

1001011001

[Выборка 1]: 3 верных значения, тест:

0000110011  

000********

0001101111

Нет

 

0011001101

001********

0011001100

Нет

 

1010011101

101********

1011001100

Нет

 

0010010000

001********

0011001100

Нет

 

0100111110

010********

0101101111

Нет

 

1111011100

111********

1111001100

Нет

 

1001000011

100********

1001001101

Нет

 

1010100100

101********

1011001100

Нет

 

1010000000

101********

1011001100

Нет

 

1100110011

110********

1101101111

Нет

 

0010010000

001********

0011001100

Нет

 

1100100001

110********

1101101111

Нет

 

0000100011

000********

0001101111

Нет

 

0011001100

001********

0011001100

ДА

 

0111011010

011********

0111011100

Нет

 

0110010000

011********

0111011100

Нет

 

0000011010

000********

0001001100

Нет

 

0100101100

010********

0101101111

Нет

 

1010001000

101********

1011001100

Нет

 

1001011001

100********

1001001101

ДА

 

Попаданий (в процентах)

10%


[Выборка 2]: 6 верных значений, тест:

Похожие материалы

Информация о работе