Кадровый потенциал

Кадровый потенциал - совокупность способностей всех людей, которые заняты в данной организации и решают определенные задачи ...

Интерфейс пользователя

Главное окно программы (рис. 3) содержит панель для рисования и 4 кнопки («Определить фигуру», «Очистить», «Обучить», «Выход») .

Рис. 3. Главное окно программы

При первом запуске программы персептрон еще не обучен и будет выдавать случайный результат. Например, изобразим на панели рисования треугольник рис. 4.

Рис. 4.

При нажатии на кнопку «Определить фигуру» выдается сообщение

Нажимаем кнопку «Обучить», при нажатии которой пересчитываются веса . Затем снова нажимаем кнопку «Определить фигуру», выдается сообщение

Таким образом при длительном обучении программа перестанет ошибаться и будет выдавать только правильные сообщения.

Реализация

Функции программы:

void

fastcall

TForm

1::

FormCreate

(

TObject

*

Sender

)

- функция создает форму и заполняет матрицу весов случайными числами из промежутка [-0,3;03].

void

fastcall

TForm

1::

BitBtn

1

Click

(

TObject

*

Sender

)

- при нажатии кнопки «Определить фигуру» эта функция обнуляет входную матрицу , затем заполняется 0 и 1 в зависимости закрашен ли пиксель i-строки j-столбца. Далее считается и выдается сообщение в зависимости от знака S:

y=

void

fastcall

TForm

1::

BitBtn

2

Click

(

TObject

*

Sender

)

- при нажатии кнопки «Обучить» эта функция пересчитывает матрицу весов по формуле

,

где , а выбирается в зависимости от y. Если y=0 то .

Если y=1 то .

Исходный код программы находится в Приложении 1. [1-2]

Заключение

В результате работы были рассмотрены некоторые основы теории искусственных нейронных сетей. Был изучен и реализован алгоритм обучения персептрона. Разработано приложение с функционалом, описанным в разделе «Постановка задачи». Имеется возможность определения фигуры нарисованной пользователем.

Для развития программы необходимо добавить такие функции как:

· Масштабирование изображения

· Увеличение количества фигур для распознавания путем увеличения нейронов в сети

· Распознавание букв, цифр симфолов

Приложение 1- Исходные коды программы

Модуль

Unit

1.

cpp

//---------------------------------------------------------------------------

#include <iostream.h>

#include <time.h>

#include <stdlib.h>

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------

Перейти на страницу: 1 2