Искусственные нейронные сети

Возможности программ моделирования нейронных сетей. Виды нейросетей: персептроны, сети Кохонена, сети радиальных базисных функций. Генетический алгоритм, его применение для оптимизации нейросетей. Система моделирования нейронных сетей Trajan 2.0.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 13.10.2015
Размер файла 2,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Среда WWW (World-Wide Web - Всемирная паутина) представляет собой унифицированную среду обмена информацией в глобальной компьютерной сети Интернет. В настоящее время это наиболее популярный вид доступа к данным (по оценкам, в настоящее время WWW пользуются около 40 миллионов человек, в мире существуют сотни тысяч серверов, поддерживающих этот вид услуг).

Существование многочисленных разнообразных программ для просмотра WWW- документов (browser) для всех популярных аппаратных и программных платформ, простой и интуитивно-понятный пользовательский интерфейс, возможность представления мультимедийной информации (звук, мультипликация и т.п.) в рамках единого стандартного языка форматирования документов HTML (HyperText MarkUp Language), возможность создания форм для ввода информации пользователем объясняют быстро растущую популярность среды WWW.

Вышеперечисленные особенности среды WWW позволяют эффективно использовать ее в дистанционном обучении, как в ходе самого обучения, так и при контроле знаний учащихся. При этом обучаемому не требуется иметь специальное программное обеспечение или выделенные линии связи для доступа к учебным материалам, а преподаватель имеет возможность оперативной модификации материалов. Существование большого числа программ для создания и редактирования HTML-документов позволяет существенно упростить и сократить время подготовки учебных материалов.

Применение гипертекстовых технологий в обучении дает целый ряд неоспоримых преимуществ:

Наличие развитой гипертекстовой структуры, покрывающей как понятийную часть курса (определения, теоремы), так и логическую структуру изложения (последовательность изложения, взаимозависимость частей).

Гибкая система управления структурой - преподаватель может задать наиболее приемлемую, по его мнению, форму представления материала, и задать последовательность изложения материала, что позволяет использовать один и тот же учебный материал для аудитории разной степени подготовленности и для различных видов учебной деятельности (первичное обучение, переподготовка, тренинг, самостоятельное или факультативное изучение материала) или как справочную систему.

Использование, мультимедиа возможностей современных персональных ЭВМ, в частности, звука, анимации, графических вставок, слайд-шоу и т.п.

Адекватное воспроизведение материала при получении "бумажной копии" (распечатке).

Возможное наличие подсистемы контроля знаний, интегрированной в учебник.

Помимо прочего, гипертекстовые технологии обладают целым рядом преимуществ:

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

К следующему преимуществу современных информационных технологий относится то, что в настоящее время существует множество программ-просмотрщиков (Netscape, Mosaic, InternetExplorer и т.п.) обладающих удобным интерфейсом и адаптированных для всех существующих платформ компьютеров (IBM PC, Macintosh и т.д.).

Поскольку гипертекстовый протокол является стандартом в WWW, то такой учебник легко может быть включен в глобальную информационную сеть и будет доступен широкому кругу пользователей.

Важным преимуществом использования сети Internet в дистанционном обучении является возможность применения системы электронного контроля знаний на основе интерфейсов среды WWW. Система позволяет преподавателю создать опрос из набора закрытых вопросов с выбором ответов по схеме "один из многих". Тексты вопросов и ответов могут включать в себя графические вставки (в том числе формулы, схемы и т.п.). В системе используется адаптивная схема выбора вопросов для оптимального определения уровня знаний контролируемого. По результатам опроса ведется журнал и статистика, выдаваемые для оценки знаний преподавателю. Система может быть использована как для контроля знаний учащихся (допуск к задачам практикумов, зачет по темам и т.д.), так и для самостоятельной подготовки.

Сочетание гипертекстовых учебных пособий и системы электронного контроля знаний, базирующиеся на технологиях Интернет, позволяют, в перспективе, создать единую обучающую среду, адаптирующуюся под уровень знаний студента и требования преподавателя.

Глава 11. Создание программ для среды WWW

В настоящее время существуют две возможности для написания программ в Internet: программа может исполняться на сервере или же на клиентской машине (часто эти два способа комбинируются). Оба способа имеют свои достоинства и недостатки. Основным недостатком второго подхода является то, что результаты выполнения проверок невозможно регистрировать централизованно. В связи с этим программы обучения обязательно должны иметь серверную часть.

В случае необходимости можно добавить также программы, выполняемые на клиентской машине. Обычно эти программы разрабатываются с использованием языков Java, JavaScript или Visual Basic (ActiveX). Последняя технология поддерживается пока только продуктом Internet Explorer фирмы Microsoft. JavaScript в версии 1.2 на сегодня поддерживается программой Communicator фирмы Netscape (версия 1.1 поддерживается многими программами), а технология Java 1.1 хоть и претендует на стандарт, но фирмы-разработчики (в частности, Microsoft) стремятся расширить возможности языка, что может привести к несовместимости.

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

Серверные программы избавлены от несовместимости. Для нормального функционирования серверных программ часто необходима всего лишь поддержка клиентом стандарта HTML v.3, а эта возможность имеется в большинстве программ (включая и российские разработки, например, Ariadna).

Способ написания серверной программы зависит от платформы сервера. Например, на многих UNIX-платформах выбор ограничен программами CGI (Common Gateway Interface), которые пишутся обычно на языке C (или C++) или же на пакетных языках типа Perl. На многих рабочих станциях теперь функционирует также и язык Java.

В случае, когда используется сервер Netscape Fast Track возможна также поддержка NSAPI. Похожая технология применяется и в серверах Microsoft (IIS - Internet Information Server и персональный Web-сервер) - ISAPI. Смысл подобных расширений заключается в том, что код содержится в памяти в одном экземпляре (в виде динамически загружаемой библиотеки) в отличие от программ CGI, когда для каждого нового пользователя создается новая среда функционирования копии программы. Следует отметить, что программы CGI пишутся как консольные приложения, причем в режиме стандартного вывода они выводят содержимое гипертекстового файла.

В качестве примера программы, выполняемой на клиентской машине в проекте предлагается Java-апплет, иллюстрирующий работу самоорганизующихся карт Кохонена. Апплет позволяет изменять характеристики сети Кохонена и наблюдать за процессом автоматической классификации (кластеризации) образов. В данном случае сеть переводит 3-х мерное цветное RGB изображение на 2-х мерную сетку.

На рис. 1 изображено как выглядит окно броузера после входа на страницу с апплетом.

Здесь каждая ячейка сетки отображает один элемент (нейрон) нейронной сети. Круг отмечает нейроны-"победители". Цвет (состоящий из трех оттенков: красный, зеленый, синий) представляется в сети в виде числового вектора. При инициализации сети цвет ячеек выбирается случайным образом - эти значения и являются входным значением сети. Используя сигмоидальную функцию сеть Кохонена располагает похожие элементы рядом и подстраивает веса. Таким образом, апплет демострирует визуальное изображение топологической карты.

Алгоритм работы апплета аналогичен алгоритму Кохонена.

Нажатие на кнопку Start запускает процесс настройки карт. Остановить работу сети можно кнопкой Stop. Кнопка Reset предназначена для сброса всех характеристик сети и задания нового набора образов для работы сети (рис. 1).

Апплет позволяет менять различные характеристики сети и наблюдать происходящие изменения. Параметр Radius задает размер окрестности соседства и практически означает: сколько соседних элементов-клеток вокруг нейрона-"победителя" будут изменены (т. е. подстроены их веса). Изменение цвета ячеек сетки означает изменение значения "весов" элемента. Можно изменить окрестность соседства, выбрав определенный радиус в окне Radius, чем он больше тем больше будет подстраиваться. Также предоставляется возможность изменить скорость работы сети, при низкой скорости Slow можно пронаблюдать какие именно элементы изменяются, при высокой скорости Fast изменение сети и образование кластеров происходит более наглядно. Все эти настройки можно менять во время работы сети, не сбрасывая значения подстроенных весов. Для этого надо остановить работу сети, изменить ее характеристики и снова нажать кнопку Start.

На рис. 2 видно как сформировались кластеры при различных значениях радиуса окрестности.

Далее приведен текст апплета.

Листинг апплета sofm.java. import java.awt.*;import java.applet.*;import java.util.*;class synapse { // this class models a weighted connection to a cell

double weight;

static double sharpness = 2.0; // higher values give sharper cutoff

cell c;

public static double sigmoid(double x) {

return 1.0 / (1.0 + Math.exp(-x));

}

public synapse(cell c, double dist) {

weight = 0.2 * sigmoid((sofm.limit - sharpness*dist)/sharpness);

// weight = 0.2 / (1.0 + dist); // use simple function

this.c = c;

}

public void update(double[] v, Graphics g) {

c.update(v, map.rate*weight, g);

}

}

class cell {

// has three basic properties: a grid position (gridv)

// an input space position (ipv)

// and a set of neighbours

double[] gridv;

double[] ipv;

int d;

static int neighboursEstimate = 30; // a rough estimate of number of neighbours - will grow automatically if needed to

Vector neighbours;

public cell(int d, int x, int y) { // construct a cell with a d-dimensional randomly initialised vector at // point x,y on the grid ipv = new double[d]; gridv = new double[2];

gridv[0] = (double) x;

gridv[1] = (double) y;

this.d = d;

randCell();

neighbours = new Vector(neighboursEstimate);

}

public void randCell() {

for (int i=0; i<d; i++)

ipv[i] = Math.random();

}

public void addNeighbour(cell c) {

neighbours.addElement(new synapse(c, dist(gridv, c.gridv)));

}

public void removeNeighbours() {

neighbours.removeAllElements();

}

public void updateNeighbours(double[] v, Graphics g) {

// iterate over set of neighbours updating them

// in proportion to the connection weight

// now clearly identify the winner i.e. this cell

g.setColor(map.v2c(v));

g.fillOval((int)gridv[0]*map.size, (int)gridv[1]*map.size, map.size, map.size);

g.setColor(Color.black);

g.drawOval(1+(int)gridv[0]*map.size, 1+(int)gridv[1]*map.size, map.size-2, map.size-2);

try {Thread.sleep(100); }

catch (Exception e) {}

for (Enumeration e = neighbours.elements(); e.hasMoreElements(); )

((synapse) e.nextElement()).update(v, g);

}

public void update(double[] v, double w, Graphics g) {

// updates the vector of this cell using a weighted average

// of the current cell vector (ipv) and v

for (int i=0; i<d; i++) {

ipv[i] = (1.0 - w) * ipv[i] + w * v[i];

g.setColor(map.v2c(ipv));

g.fillRect((int)gridv[0]*map.size, (int)gridv[1]*map.size, map.size, map.size);

}

}

public static double sqr (double x) {

return x * x;

}

public static double dist(double[] x, double[] y) {

double dis = 0.0;

for (int i=0; i<x.length; i++)

dis += sqr(x[i] - y[i]);

return Math.sqrt(dis);

}

public double dist(double[] v) {

return dist(ipv, v);

}

}

class map {

// this class is to model the 2-d map with the underlying vectors

// can be set up to be a grid, each with a random neuron

// then each time, update it according to the chosen input vector

// this follows the cycle of pick winner, update neighbours

// (each cell includes itself in its set of neighbours)

int d; // the number of dimensions in input

int n; // the number of points on the grid

// cell[][] points;

static int size = 40; // number of pixels to use for each cell when drawing it

static double rate;

static double decayFac = 0.99; // no weight decay at present

Vector cells;

public map(int d, int n) {

this.n = n;

this.d = d;

cells = new Vector(n*n);

rate = 1.0;

makeMap();

setNeighbours();

}

public void makeMap() {

for (int i=0; i<n; i++)

for (int j=0; j<n; j++)

cells.addElement(new cell(d, i, j));

}

public void reset() {

rate = 1.0;

for (Enumeration e = cells.elements(); e.hasMoreElements();)

((cell) e.nextElement()).randCell();

}

public void setNeighbours() {

for (Enumeration e = cells.elements(); e.hasMoreElements();)

cellNeighbours((cell) e.nextElement());

}

public void cellNeighbours(cell c) {

c.removeNeighbours();

for (Enumeration e = cells.elements(); e.hasMoreElements();) {

cell cand = (cell) e.nextElement(); // cand is current candidate

if (cell.dist(c.gridv, cand.gridv) < sofm.limit)

c.addNeighbour(cand);

}

}

public cell getWinner(double[] v) {

double minDist = 100000.0; // choose this to be much bigger than a feasible distance

cell choice = null;

for (Enumeration e = cells.elements(); e.hasMoreElements();) {

cell cand = (cell) e.nextElement(); // cand is current candidate

double curDist = cand.dist(v);

if (curDist < minDist) {

choice = cand;

minDist = curDist;

}

}

return choice;

}

public void updateMap(Color c, Graphics g) {

update(c2v(c), g); // convert the colour to a vector

}

public void update(double[] v, Graphics g) {

cell winner = getWinner(v);

winner.updateNeighbours(v, g); // query this

rate *= decayFac;

}

public static double[] c2v(Color c) {

double[] v = new double[3];

v[0] = (double) c.getRed() / 255.0;

v[1] = (double) c.getGreen() / 255.0;

v[2] = (double) c.getBlue() / 255.0;

return v;

}

public static Color v2c(double[] v) {

return new Color((float) v[0], (float) v[1], (float) v[2]);

}

public void paint(Graphics g) {

for (Enumeration e = cells.elements(); e.hasMoreElements();) {

cell c = (cell) e.nextElement();

g.setColor(v2c(c.ipv));

g.fillRect((int)c.gridv[0]*size, (int)c.gridv[1]*size, size, size);

}

}

}

public class sofm extends Applet implements Runnable {

map sorg;

Thread animator;

int nCols = 8;

Color[] cols = new Color[8];

static double limit=5.0;

int sleepTime = 10;

Button start, stop, reset;

Choice neighbourhood, decay, speed; // decay not used

Panel buttons;

public void init() {

setControlPanel();

initColors();

sorg = new map(3,10);

animator = new Thread(this);

animator.start();

}

public void setControlPanel() {

setLayout(new BorderLayout());

buttons = new Panel();

start = new Button("start");

stop = new Button("stop");

reset = new Button("reset");

neighbourhood = new Choice();

neighbourhood.addItem("1.0");

neighbourhood.addItem("2.0");

neighbourhood.addItem("3.0");

neighbourhood.addItem("5.0");

neighbourhood.addItem("7.0");

neighbourhood.addItem("10.0");

neighbourhood.select("5.0");

speed = new Choice();

speed.addItem("fast");

speed.addItem("slow");

speed.select("fast");

buttons.add(new Label("Radius"));

buttons.add(neighbourhood);

buttons.add(start);

buttons.add(stop);

buttons.add(reset);

buttons.add(speed);

add("South", buttons);

}

public void initColors() {

cols[0] = Color.red;

cols[1] = Color.blue;

cols[2] = Color.green;

cols[3] = Color.white;

cols[4] = Color.black;

cols[5] = Color.magenta;

cols[6] = Color.pink;

cols[7] = Color.yellow;

}

public static int randInt(int range) {

return (int) (Math.random() * (double) range);

}

public void paint(Graphics g) {

validate();

sorg.paint(g);

}

public boolean handleEvent(Event event) {

// use 1.0 event model for maxmimum browser compatibilty

if (event.id == Event.ACTION_EVENT) {

if (event.target == start) {

// System.out.println("start");

animator.resume();

return true;

}

if (event.target == stop) {

animator.suspend();

return true;

}

if (event.target == reset) {

sorg.reset();

repaint();

return true;

}

if (event.target == speed) {

String s = speed.getSelectedItem();

if (s.equals("slow"))

sleepTime = 1000;

else

sleepTime = 10;

return true;

}

if (event.target == neighbourhood) {

limit = new Double(neighbourhood.getSelectedItem()).doubleValue();

// System.out.println(limit);

sorg.setNeighbours();

return true;

}

}

return super.handleEvent(event);

}

public void run() {

sorg.paint(getGraphics());

while(true) {

Color current = cols[randInt(nCols)];

Graphics g = getGraphics();

g.setColor(current);

g.fillRect(180, 410, 40, 30);

sorg.updateMap(current, g); try { Thread.sleep(sleepTime); } catch (Exception e) { System.out.println(e);

}

}

}

}

В данном проекте для проведения контроля знаний применяется программа CGI созданная в среде Delphi, использующая обученную нейронную сеть для принятия решений.

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

Ознакомиться с работой программы можно по адресу http:\\158.250.47.76\index.html.

Далее приведен алгоритм работы программы.

Глава 12. Технико-экономический анализ и обоснование разработки адаптивного обучающего и контролирующего курсов по нейросетям

12.1 Обоснование выбора темы и области применения разработки

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

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

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

Оценка студента при проведении реального экзамена может зависеть и от уровня требований преподавателя, от его квалификации, изменения его зианий и суждений из года в год, от психо-физического состояния преподавателя. Часто преподаватель проявляет гибкость (например, учитывая сложность и взаимосвязь вопросов, - иногда всего один правильный ответ может обеспечить положительную оценку, а незнание этого ответа - неудовлетворительную даже в том случае, когда студент правильно ответил на все остальные вопросы). Таких тонкостей может быть множество и преподаватель не всегда даже их осознает. Однако традиционное тестирование при проведении заочного экзамена основано лишь на подсчете правильных и неправильных ответов студента.

Современные технологии Internet позволяют доставить информацию не только в виде текста (с иллюстрациями и таблицами), но позволяют передавать исполняемые модули, а также мультимедиа-информацию (аудио- и видеофрагменты). Все это позволяет разрабатывать обучающие системы, мало уступающие традиционному обучению с использованием лекций и семинаров.

Для проведения эфективного заочного обучения с помощью Internet необходимо получить формализованную модель преподавателя. Вполне приемлемым подходом к этой проблеме является анализ вопросов и выставленных оценок, т.е. фактически - решение задачи аппроксимации функции взаимодействия.

Нейронные сети уже весьма давно (с начала 60-х годов) применяются для решения подобных задач. В данном проекте сделана попытка построить адекватную модель взаимодействия преподавателя с учеником на основе нейронных сетей, что позволит значительно повысить корректность контроля знаний при дистанционном обучении и приблизить ее к очной форме обучения. Проведенные в данном проекте эксперименты показали, что нейронные сети весьма адекватно отображают характеристики выставления оценок преподавателем.

Следовательно, преподаватель сможет заботиться только о подготовке собственно обучающего курса и провести этот курс всего в одном потоке, а затем, на основании полученного материала и с использованием разрабатываемой системы, обучать (и контролировать знания) дистанционно (заочно) неограниченное число студентов почти с тем же качеством, что и при очном обучении. Таким образом сохраняется качество обучения при сокращении временных затрат.

Помимо того, что уже было перечислено, проблема, решаемая в данной работе, имеет также и академический интерес, поскольку в ее рамках проводятся исследования, носящие фундаментальный характер.

Представим дерево целей проектирования

12.2 Оценка ожидаемой экономической целесообразности разработки, изготовления и использования проектируемой системы

Для оценки экономической целесообразности рассчитаем критерии экономического эффекта и эффективности Наиболее точный показатель для оценки экономического эффекта разработки это чистый дисконтированный доход (ЧДД), а для оценки экономической эффективности - срок окупаемости (Токуп.) затрат на разработку проекта. Оценим экономическую целесообразность через изменение ЧДД ( ЧДД) при создании и использовании традиционного метода очного обучения и предложенного в данном проекте. Поскольку разрабатываемая система - некоммерческая, ЧДД выражается как разница затрат в обоих вариантах.

Необходимыми и достаточными условиями экономической целесообразности проекта являются ЧДД > 0 и Токуп. < Тисп. Время использования системы определяется сроком ее морального старения и оценивается как 7 - 10 лет.

Для проведения сравнительного анализа и выявления целесообразности разработки данного курса рассмотрим 2 варианта.

Вариант 1 (традиционный).

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

Вариант 2 (применение данной разработки).

Студенты, обучающиеся в институте, имеют доступ к обучающему/контролирующему Internet-курсу. Выбрав любое удобное для них время и место, они могут посетить сайт, изучить лекционный материал, ознакомиться с содержанием лабораторных работ и выполнить их на своих ЭВМ. Отчет по лабораторным работам студенты отправляют преподавателю по электронной почте. Во время работы с курсом студенты могут проверить свои знания, ответив на промежуточные контрольные вопросы. В конце прохождения курса студенты сдают виртуальный экзамен. Ответы на поставленные вопросы обрабатываются специально обученной нейронной сетью и оценка выставляется исходя из требований преподавателя, готовившего курс.

Рассчитаем экономический эффект от создания и использования нового варианта обучения по сравнению с традиционным, определив разницу по чистому дисконтированному доходу:

ЧДД = Зст.вар. - Знов.вар. - Зсозд.нов.вар. ,

где Зст.вар. - затраты при обучении студентов традиционным способом,

Знов.вар. - затраты при обучении студентов разрабатываемым в данной работе способом,

Зсозд.нов.вар. - затраты на создание нового варианта обучения.

Новая разработка будет считаться лучшей, если ЧДД > 0.

12.2.1 Расчет затрат на разрабоку и изготовление предлагаемого курса

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

Сразр. = ЗПразр. + Смаш.вр. + Змат. + Зизг. + Знакл.,

где

ЗПразр. - заработная плата разработчика,

Смаш.вр. - стоимость машинного времени,

Змат. - затраты на материалы,

Зизг. - затраты на изготовление,

Знакл. - накладные затраты.

Зарплата разработчика

Данный курс был создан в течении Т = 4 месяцев 1 студентом (инженером-разработчиком). Таким образом отпадает необходимость составлять перечень работ, количество, квалификацию, ставки и занятость в проекте сотрудников. Рассчитаем заработную плату, выплаченную за это время, исходя из предположения, что ставка разработчика S = 1200 руб./мес.

ЗПразр. = ЗПосн. + ЗПдоп. + ЗПначисл.,

где

ЗПосн. - основная заработная плата,

ЗПдоп.- дополнительная заработная плата,

ЗПначисл. - начисления на заработную плату,

Основная заработная плата

ЗПосн. = S*Т = 1200 [руб./мес.] * 4 [мес.] = 4800 [руб.]

Дополнительная заработная плата

ЗПдоп. = КЗПдоп. * ЗПосн. = 0.2 * 4800 [руб.] = 960 [руб.]

Начисления на заработную плату

ЗПначисл. = КЗПначисл. * (ЗПосн. + ЗПдоп) =

= 0.39 * (4800 [руб.] * 960 [руб.]) = 2246 [руб.]

Таким образом, зарплата разработчика

ЗПразр. = 4800 [руб.] + 960 [руб.] + 2246 [руб.] = 8006 [руб.]

Накладные расходы

Знакл. = 0.5 * (ЗПосн. + ЗПдоп) = 0.5 * (4800 [руб.] + 960 [руб.]) = 2880 [руб.]

Стоимость машинного времени

Параметр почасовых затрат (Счас) принят за константу и оценен по рекомендациям, данным в [2].

Смаш.вр. = Счас * Т = 10 [руб./час] * 4 [час] * 5 [дн.] * 4 [нед.] * 4 [мес.] =

= 3200 [руб.]

Затраты на материалы

Затраты на материалы определяются по формуле:

Змат = Змо + Змв ,

где

Змо - затраты на основные материалы;

Змв - затраты на вспомогательные материалы.

Учитывая затраты на дискеты, бумагу и канцтовары:

Змат = 100 [руб.]

Затраты на изготовление

Затраты на изготовление складываются из стоимости изготовления сопроводительной документации и стоимости магнитных дисков.

Сдок = 30 [руб.]

Сдиск = 20 [руб.]

Зизг = Сдок + Сдиск = 50 [руб.]

Таким образом, общая стоимость разработки

Сразр. = 8006 [руб.] + 3200 [руб.] + 100 [руб.] + 50 [руб.] + 2880 [руб.]

= 14236 [руб.]

12.2.2 Расчет экономического эффекта от создания и использования обучающего курса

Исходные данные для расчета затрат на обучение по старой и новой методикам:

Преподаватель тратит время на подготовку материала, проведение лекций и контроль знаний студентов. Студенты затрачивают время на посещение лекций. При этом основными затратами являются: заработная плата преподавателя, стипендия студентов, накладные расходы и затраты на материалы.

Стоимость машинного времени на выполнение лабораторных работ одинакова в обоих вариантах и не влияет на изменение ЧДД.

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

Таким образом:

Зст.вар.=ЗПпреп.+ЗПстуд. + Змат. + Знакл.

где

ЗПпреп. - зарплата преподавателя,

ЗПстуд. - стипендия студентов за время обучения,

Змат.пр. - затраты на материалы (бумага, мел, канцтовары),

Знакл. - накладные расходы.

Знов.вар. = ЗПстуд. + Знакл. + СВТ ,

где

ЗПстуд. - стипендия студента за время обучения,

Знакл. - накладные расходы,

СВТ - стоимость использования вычислительной техники.

Традиционный метод обучения

Занятия по данному курсу занимают 30 часов лекций и 12 часов лабораторных работ. Курс проводится в течении одного семестра, т.е. 4 месяцев.

Считаем, что количество студентов составляет 50 человек.

На проведение контрольных мероприятий и экзаменов у данного числа студентов преподаватель затрачивает 15 часов в семестр.

Зарплата преподавателя определяется как

ЗПпреп. = ЗПосн.преп. + ЗПдоп.преп. +ЗПнач.преп. ,

где

ЗПосн.преп. - основная заработная плата преподавателя,

ЗПдоп.преп. - дополнительная заработная плата преподавателя,

ЗПнач.преп. - начисления на заработную плату преподавателя.

Преподавателю оплачивается 800 часов в год, ставка равна 1500 руб. в месяц, следовательно стоимость 1 часа преподавателя:

Счас преп. = 1500 [руб./мес.] * 12 [мес.] / 800 [часов] = 22.5 [руб./час]

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

ЗПосн.преп. = 22.5 [руб./час] * 2 * (30 + 12 +15) [часов] = 2565 [руб.]

ЗПдоп.преп. = 0.2 * 2565 [руб.] = 513 [руб.]

ЗПнач.преп. = 0.39 * (2565 [руб.] + 513 [руб.]) =1200 [руб.]

ЗПпреп. = 2565 [руб.] + 513 [руб.] + 1200 [руб.] = 4278 [руб.]

Студент занимается 160 часов в месяц и получает ежемесячную стипендию 145 рублей. Тогда час работы студента оценивается как

Счас ст. = 145 [руб.] / 160 [часов] = 0.9 [руб./час]

Суммарная оценка затрат всех студентов, на изучение курса

ЗПстуд. = 0.9 [руб./час] * 57 [часов] * 50 [ст.] = 2565 [руб.]

Затраты на материалы рассчитываются с учетом стоимости мела, бумаги и канцтоваров для преподавателя и студентов. Это необходимо чтобы правильно сравнить данный метод обучения с "компьютерным", связанным с расходами на использование вычислительной техники. Определим затраты на материалы как

Змат.преп. = 100 [руб.]

Змат.ст. = 50 [руб.] * 50 [студ.] = 2500 [руб.]

Змат. = 100 [руб.] + 2500 [руб.] = 2600 [руб.]

Рассчитаем накладные затраты

Знакл. = 0.5 * (ЗПосн.преп. + ЗПдоп.преп. + ЗПстуд.) =

= 0.5 * (2565 [руб.] + 513 [руб.] + 2565 [руб.]) = 2821.5 [руб.]

Таким образом

Зст.вар.= 4278 [руб.] + 2565 [руб.] + 2600 [руб.] + 2821.5 [руб.] =

= 12264.5 [руб./сем.]

Новый вариант

При использовании предложенной методики обучения студент затрачивает меньше времени на обучение: 20 часов на изучение лекционного материала, 12 часов на выполнение лабораторных работ и 5 часов на прохождение контрольных заданий. Причем, также в этом случае значительно уменьшается время на поиск и изучение дополнительной литературы.

Тогда, суммарные затраты на изучение курса составят

ЗПстуд. = 0.9 [руб./час] * 37 [часов] * 50 [ст.] = 1665 [руб.]

Стоимость использования вычислительной техники оценим следующим образом:

СВТ = Смв + Са + Сс,

где

Смв - стоимость машинного времени для персонального ЭВМ,

Са - стоимость аренды - оплата использования Internet,

Сс - стоимость поддержки обучающей системы на сервере.

Исходя из предположения, что студенты будут использовать ЭВМ в основном для доступа к лекциямпрохождения контрольных заданий

Смв = Счас * Т = 10 [руб.]* 5 [часов] * 50 [ст.] = 2500 [руб.]

Са = Счас * Т = 5 [руб.]* 5 [часов] * 50 [ст.] = 1250 [руб.]

Сс = 100 [руб./мес.] * 4 [мес.] = 400 [руб.]

Итого

СВТ = 2500 [руб.] + 1250 [руб.] + 400 [руб.] = 4150 [руб.]

Накладные расходы составят

Знакл. = 0.5 * ЗПстуд. = 0.5 * 1665 [руб.] = 832.5 [руб.]

Таким образом

Знов.вар. = 1665 [руб.] + 4150 [руб.] + 832.5 [руб.] = 6647.5 [руб./сем.]

Определим ЧДД за 2 года. Этот срок выбран, исходя из следующих соображений: достаточно времени для введения курса, его использования и оценки характеристик, не сильно изменяются экономические условия для реальной оценки экономического эффекта. Необходимо отметить, что срок морального старения данного курса 8 - 10 лет, и следовательно курс может применяться все это время.

ЧДД (Т=2года) = (24529 [руб./год] - 13295 [руб./год]) * 2 - 14236 [руб.] = 8232 [руб.]

При учете инфляции 30%:

ЧДД (Т=2года) = (24529 [руб./год] - 13295 [руб./год]) + (24529 [руб./год] - 13295 [руб./год]) * (1+0.3) - 14236 [руб.] = 11602,2 [руб.]

Оценим срок окупаемости проекта. Он определяется значением Т=Токуп., при котором ЧДД = 0.

Ток. = 14236 [руб.] / (24529 [руб./год] - 13295 [руб./год])*(1+0.3) =

= 0,9 [года]

Таким образом, проведенный анализ и оценка экономического эффекта и эффективности создания нового продукта позволяют сделать вывод об экономической целесообразности применения данной разработки.

12.3 Выводы

В данной главе были приведены анализ и обоснование разработки адаптивного обучающего и контролирующего курсов по нейросетям.

Были сформулированы основные цели разработки:

повысить эффективность обучения,

понизить занятость преподавателя,

снизить время на изучение материала студентами;

снизить затраты на изучение материала студентами.

Т.к. ЧДД > 0 и Tок= 0,9 года, данная разработка целесообразна с экономической точки зрения и применение данной системы экономически оправдано.

Итоговые сравнительные технико-экономические характеристики систем приведены в следующей таблице.

Сравнительные технико-экономические характеристики систем

Технико-экономические характеристики

Традиционный способ обучения

Разработанный способ обучения

Продолжительность разработки, мес.

-

4

Затраты на разработку, руб.

-

14236

Занятость преподавателя, часы/семестр

114

-

Занятость студентов, часы/семестр

57

37

Затраты на обучение группы из 50 студентов, руб./семестр

12264.5

6647.5

Помимо обучающего/контролирующего курса, для которого и проводились экономические расчеты, работа содержит теоретические исследования, а также методику создания новых курсов, что позволит при внедрении представленной разработки получать регулярный доход от внедрения и эксплуатации новых обучающих курсов.

Глава 13. Обучение контролирующей системы

Для контроля знаний в обучающей системе используется нейронная сеть. Топология этой сети соответствует характеру выборки из задаваемых вопросов (их будет всего 12), а также характеру выставляемой оценки (по четырехбалльной системе).

Таким образом, на основании этих данных была построена нейронная сеть типа многослойный персептрон, имеющая 12 входов и 4 выхода.

Путем опытных исследований было установлено, что для минимизации вычислений при необходимой для предоставленных сети выборок сложности сети необходим также один скрытый слой, состоящий хотя бы из 8 нейронов. Для ускорения сходимости процесса обучения на скрытый слой сети было помещено 10 нейронов.

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

Были сгенерированы две последовательности образов, квалифицированных учителем. Обе последовательности подчинены случайному закону распределения с одинаковыми параметрами.

Для генерации последовательности использовалось следующее правило: считалось, что вероятность неправильного ответа для каждого вопроса в образе одинакова, а для каждого отдельного образа вероятность неправильного ответа на каждый вопрос составляет 3%-35%.

Одна из последовательностей содержит 320 образов, а вторая - 120 образов. Первая последовательность была использована для обучения сети, а вторая - для проверки качества обучения.

Далее представлен график сходимости процесса обучения. На графике показаны среднеквадратичные ошибка для обучающей последовательности (ниже) и контролирующей последовательности (выше). Из графика становится очевидно, что ошибка весьма мала как для обучающей, так и для контролирующей последовательности.

В действительности, сеть при окончательной проверке всеми 430 образами ошиблась всего один раз (поставила оценку «5» вместо оценки «4»).

Образы, предъявленные сети приведены в приложении.

Формат представления образов:

Образ

Оценка учителя

Оценка системы

1.

1 1 1 1 1 0 1 1 1 0 1 0

0 0 1 0 (4)

0 0 1 0 (4)

2.

1 1 1 1 1 1 1 0 1 1 1 1

0 0 0 1 (5)

0 0 0 1 (5)

3.

1 1 0 1 0 1 1 1 1 1 1 0

0 0 1 0 (4)

0 0 1 0 (4)

318.

1 1 1 1 1 1 1 0 1 1 1 0

0 0 1 0 (4)

0 0 1 0 (4)

319.

1 0 1 1 1 1 1 1 1 1 1 1

0 0 0 1 (5)

0 0 0 1 (5)

320.

0 1 1 1 0 1 1 1 1 1 1 1

0 0 1 0 (4)

0 0 1 0 (4)

Глава 14. Дистанционный обучающий и контролирующий курс

Разработанный курс предназначен для использования в среде WWW.

После входа на домашнюю страницу курса пользователь видит окно, состоящее из двух частей (рис. 1). В правой части предлагаются 3 опции: пройти обучающий курс, выполнить лабораторные работы по курсу и пройти итоговый тест. В левой части находится содержание курса, при нажатии на тему в правое окно загружается соответствующий материал.

Лабораторный практикум уже приведен в тексте проекта. В обучающем курсе присутствует лишь его HTML-представление.

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

Содержание учебного курса предполагает, что студент уже ознакомился с основами нейронных сетей. В то же время для пользователей, не изучавших ранее теории нейронных сетей, предлагается вводная часть, содержащая базовые сведения. Она будет полезна и для студентов, желающих освежить знания.

Содержание обучающего курса

  • Введение в искусственные нейронные сети
    • Проблемы, решаемые в контексте ИНС
    • Краткий исторический обзор
    • Модель технического нейрона
    • Обучение нейронных сетей
    • Многослойные сети прямого распространения
      • Многослойный персептрон
      • RBF-сети
      • Нерешенные проблемы
    • Самоорганизующиеся карты Кохонена
    • Модели теории адаптивного резонанса
    • Сеть Хопфилда
      • Ассоциативная память
      • Минимизация энергии
  • Основные функциональные возможности программ моделирования нейронных сетей
    • Формирование (создание) нейронной сети
    • Обучение нейронной сети
    • Имитация функционирования (тестирование) обученной нейронной сети
  • Персептроны
    • Однослойный персептрон
    • Многослойный персептрон
      • Архитектура сети
      • Алгоритм обратного распространения
      • Модификации алгоритма обратного распространения и RPROP-алгоритма
  • Применение многослойных персептронов
    • Решение конкретных задач
    • Естественные координаты
    • Репликативные нейронные сети
    • Практическое использование репликативных нейронных сетей
  • Сети Кохонена
    • Основной принцип работы сети Кохонена
    • Сходимость алгоритма самообучения
  • Сети радиальных базисных функций
    • Архитектура сетей
    • Интерполяция при помощи центральных функций
    • Интерполяция с помощью центральных функций и полиномов
    • Аппроксимация с помощью центральных функций
    • Вариационное исчисление для решения проблемы аппроксимации с помощью RBF-сетей
    • Расширение на случай многих функций
    • Расширение линейной частью
    • Сети гипер-базисных функций (Hyper-Basisfunktionen-Netze = HBF-Netze)
    • Итеративное дополнительное обучение RBF- и HBF-сетей
    • Выбор центров и радиусов в RBF-сетях
    • Итеративный алгоритм кластеризации
    • Выбор параметра
    • Расчет выходной весовой матрицы C
  • Нейронные сети и генетические алгоритмы
    • Эволюция как способ оптимизации
    • Генетические алгоритмы
    • Нейро-генетические способы
  • Система моделирования нейронных сетей Trajan 2.0
    • Создание сети и обучающей последовательности
      • Создание сети
      • Количество и размерность слоев в сети
      • Создание обучающей последовательности
      • Редактирование набора образцов
    • Обучение сети
      • Типы сетей
      • Создание обучающей и проверочной последовательностей образов
      • Создание сокращенной обучающей последовательности
      • Визуализация процесса обучения
      • Оптимизация процеса обучения
      • Обучение с перекрестной проверкой
    • Работа с сетью
      • Возможности сети по работе с образцами
      • Интерпретация классификации
      • Работа с сетью Кохонена.
    • Генетический алгоритм выбора входных аттрибутов
    • Сохранение результатов работы

Можно изучать курс, переходя подряд со страницы на страницу, или же просматривать интересующие главы. После выбора темы ее содержание выводится на экран.

Для перехода между страницами предлагается использовать ссылки "Предыдущая страница" и "Следующая страница". Проверить свои знания можно после изучения каждой главы, нажав ссылку "Проверка знаний".

В случае если студент правильно ответил на все вопросы теста, он переходит к изучению следующего раздела. В противном случае ему предлагается пройти раздел повторно.

В конце курса предлагается пройти финальный тест. В экзамене задается 12 вопросов.

Проставление оценок ведется согласно уже описанной методике:

С работой курса можно ознакомиться по адресу http:\\158.250.47.76\index.html.

Заключение

В данном проекте были исследованы возможности применения технологии искусственных нейронных сетей в процессе обучения и контроля знаний. Проект удовлетворяет всем требованиям технического задания.

Основным результатом проекта является созданный дистанционный обучающий и контролирующий курс по искусственным нейронным сетям. Курс предназначен для использования в среде WWW.

Материал обучающего курса состоит из двух частей: теория нейронных сетей и описание системы моделирования нейронных сетей Trajan 2.0 и возможностей работы с ней.

Курс содержит основные положения теории нейросетей: краткий исторический обзор исследований, классификация нейронных сетей, возможность их обучения, виды нейронных сетей.

Основная часть обучающего курса посвящена следующим видам нейронных сетей:

персептроны,

самоорганизующиеся карты Кохонена,

сети радиальных базисных функций.

Для каждого вида подробно описаны их архитектура, свойства, алгоритмы обучения, возможности практического применения для решения реальных задач.

Курс содержит сведения о генетическом алгоритме, применяемом для оптимизации нейросетей.

Здесь же рассмотрены основные функциональные возможности программ моделирования нейронных сетей.

Для работы с системой Trajan изложены основные принципы функционирования системы и подробно описан графический пользовательский интерфейс. Даны основные сведения о моделях, используемых в системе.

Обучающий курс включает в себя лабораторный практикум, позволяющий закрепить знания, полученные в процессе обучения и развить практические навыки использования нейросетевой технологии.

В проекте была создана лабораторная работа "Кластеризация образов с помощью системы моделирования нейронных сетей Trajan 2.0". Кроме того, были значительно переработаны, исправлены и дополнены две лабораторные работы по инструментальной системе Trajan. Таким образом, составлен комплекс лабораторных работ, который может использоваться как для проведения лабораторного практикума в МЭИ, так и в качестве части дистанционного курса обучения.

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

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

Таким образом в проекте создан полноценный учебный курс, причем при желании его части могут использоваться независимо друг от друга, может быть изменена одна из частей или полностью заменен теоретический материал для проведения занятий по другой теме.

Готовый учебный комплекс предназначен для проведения дистанционного обучения в сети Интернет, а также может быть использован для самообучения и проведения очного курса по данной теме в институте.

Литература

Галушкин А.Н. «О современных направлениях развития нейрокомпьютеров» Информационные технологии №5 1997 г., с. 22-27.

С. Клименко, В. Уразметов. Internet - среда обитания информационного общества. РЦФТИ, Протвино, 1995, - 328 с.

Малышев Ю.А. Неисупина Н.П. и др. «Технология представления учебных курсов для дистанционной формы обучения в среде WWW» Информационные технологии №6 1997 г., с 35-44.

Джон Родли. Создание Java-апплетов. - К.: НИПФ "ДиаСофтЛтд.", 1996. - 384 с.

Е.М. Табачный, А.Н. Златопольский, Е.И. Калинина. Технико-экономический анализ и обоснование решений при проектироании информационных технологий. - М.: Изд-во МЭИ, 1997. - 51 с.

DARPA Neural Network Study, AFCEA Int'l Press, Fairfax, Va., 1988.

J.A. Anderson and E. Rosenfeld, "Neurocomputing: Foundation of Research", MIT Press, Cambridge, Mass., 1988.

Anil K. Jain, Jianchang Mao, K.M. Mohiuddin. Artificial Neural Networks: A Tutorialп, Computer, Vol.29, No.3, March/1996, pp. 31-44.

S. Brunak and B. Lautrup, Neural Networks, Computers with Intuition, World Scientific, Singapore, 1990.

G.A.Carpenter and S. Grossberg, Pattern Recognition by SelfOrganizing Neural Networks, MIT Press, Cambridge, Mass., 1991.

J. Feldman, M.A. Fanty, and N.H. Goddard, "Computing with Structured Neural Networks", Computer, Vol. 21, No. 3, Mar.1988, pp. 91-103.

D.O. Hebb, The Organization of Behavior, John Wiley & Sons, New York, 1949.

S. Haykin, Neural Networks: A Comprehensive Foundation, MacMilan College Publishing Co., New York, 1994.

J. Hertz, A. Krogh, and R.G. Palmer, Introduction to the Theory of Neural Computation, Addison-Wesley, Reading, Mass., 1991.

J.J. Hopfield, "Neural Networks and Physical Systems with Emergent Collective Computational Abilities", in Proc. National Academy of Sciencies, USA 79, 1982, pp. 2554-2558.

A.K. Jain and J. Mao, "Neural Networks and Pattern Recognition", in Computational Intelligence: Imitating Life, J.M. Zurada, R.J. Marks II, and C.J. Robinson, eds., IEEE Press, Piscataway, N.J., 1994, pp. 194-212.

T. Kohonen, SelfOrganization and Associative Memory, Third Edition, Springer-Verlag, New York, 1989.

R.P.Lippmann, "An Introduction to Computing with Neural Nets", IEEE ASSP Magazine, Vol.4, No.2, Apr. 1987, pp. 4-22.

M. Minsky, "Logical Versus Analogical or Symbolic Versus Connectionist or Neat Versus Scruffy", AI Magazine, Vol. 65, No. 2, 1991, pp. 34-51.

K. Mohiuddin and J. Mao, "A Comparative Study of Different Classifiers for Handprinted Character Recognition", in Pattern Recognition in Practice IV, E.S. Gelsema and L.N. Kanal, eds., Elsevier Science, The Netherlands, 1994, pp. 437-448.

M. Miтnsky and S. Papert, "Perceptrons: An Introduction to Computational Geometry", MIT Press, Cambridge, Mass., 1969.

D.E. Rumelhart and J.L. McClelland, Parallel Distributed Processing: Exploration in the Microstructure of Cognition, MIT Press, Cambridge, Mass., 1986.

Scherer A. Neuranale Netze. Grundlagen und Anwendungen.-Braunschweig, Weisbaden: Vieweg, 1997.

Zell A. Simulation neuronatez Netze-Bonn, Paris: Reading, Mass, [u.a.]: Addison-Wesley, 1994.

P. Werbos, "Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences", Phd Thesis, Dept. of Applied Mathematics, Harvard University, Cambridge, Mass., 1974.

"The First Census Optical Character Recognition System Conference", R.A.Wilkinson et al., eds., . Tech. Report, NISTIR 4912, US Deop. Commerse, NIST, Gaithersburg, Md., 1992.

Приложение 1

Лабораторная работа «Кластеризация образов с помощью системы моделирования нейросетей Trajan 2.1»

1. Цель работы

Изучение студентами возможностей программного пакета Trajan 2.1 по решению задач классификации, кластеризации (категоризации) образов.

2. Знания и умения, формируемые данной лабораторной работой

принцип представления данных в задачах классификации и кластеризации,

принципы построения ИНС для классификации и кластеризации образов,

алгоритмы обучения ИНС для классификации и кластеризации образов,

способы сбора статистики с помощью системы Trajan,

возможности системы Trajan по решению, визуалиации и представлению задач кластеризации в доступном для анализа виде,

дает навыки по анализу и применению кластеров, получаемых в процессе обработки образов.

Для выполнения лабораторной работы необходимо знание общих сведений о работе с ПЭВМ IBM PC AT в операционной среде Windows 3.1. Так же необходимо перед выполнением лабораторной работы пройти курс обучения по ИНС и выполнить предыдущие лабораторные работы данного курса.

3. Постановка задачи

Задача кластеризации образов заключается в распределении представляемых образов по кластерам/категориям, в зависимости от значений признаков образов, в один кластер распределяются максимально похожие образы. Важной особенностью этой задачи является то, что при обучении сети априорно неизвестно ни количество кластеров, ни принадлежность того или иного образа какому-то классу, ни, зачастую, значение кластеров.

Для решения этой задачи успешно используются сети Кохонена.

В данной лабораторной работе необходимо распределить предлагаемый набор образов, содержащий информацию о цветах ириса различных видов, на несколько кластеров (составить букеты из одинаковых цветов). Для этого мы используем файл smallir.pat, созданный вами в лабораторной работе №2. В данном файле содержится 60 образов, по 20 на каждый вид, разделенных на две группы (обучающую и контролирующую последовательности) по 30 (каждая включает по 10 каждого вида).

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

4. Принципиальные особенности сетей Кохонена.

Сети Кохонена реализуют режим обучения без поощрения («без учителя») или режим самообучения: они учатся распознавать кластеры в наборе образцов, принадлежность которых классам (кластерам) не известна. Сеть Кохонена пытается расположить в выходном слое похожие кластеры близко друг к другу, формируя таким образом, Топологическую карту (Topological мар).

Сеть Кохонена всегда имеет две слоя: входной слой и слой топологической карты, т.е. выходной слой. Выходной слой сети Кохонена часто представляется в виде двумерной решетки (имеет два измерения). Выходной слой сети состоит из Радиальных элементов (Radial units).

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

Следует отметить, что система Trajan поддерживает сети и с одномерным выходным слоем.

Алгоритм обучения сети Кохонена. пытается построить центры элементов топологического слоя так, чтобы они расположились как можно ближе к центрам кластеров, основанных на обучающих образцах. Во время обучения алгоритм выбирает элемент, чей центр находится ближе всего к обучающему образцу. Этот элемент и его соседи затем подстраиваются таким образом, чтобы как можно больше походить на обучающие данные.


Подобные документы

  • Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.

    дипломная работа [814,6 K], добавлен 29.09.2014

  • Анализ применения нейронных сетей для прогнозирования ситуации и принятия решений на фондовом рынке с помощью программного пакета моделирования нейронных сетей Trajan 3.0. Преобразование первичных данных, таблиц. Эргономическая оценка программы.

    дипломная работа [3,8 M], добавлен 27.06.2011

  • Принципы организации и функционирования биологических нейронных сетей. Система соединенных и взаимодействующих между собой простых процессоров. Нейронные сети Маккалока и Питтса. Оценка качества кластеризации. Обучение многослойного персептрона.

    курсовая работа [1,1 M], добавлен 06.12.2010

  • Простейшая сеть, состоящая из группы нейронов, образующих слой. Свойства нейрокомпьютеров (компьютеров на основе нейронных сетей), привлекательных с точки зрения их практического использования. Модели нейронных сетей. Персептрон и сеть Кохонена.

    реферат [162,9 K], добавлен 30.09.2013

  • Принципы и система распознавание образов. Программное средство и пользовательский интерфейс. Теория нейронных сетей. Тривиальный алгоритм распознавания. Нейронные сети высокого порядка. Подготовка и нормализация данных. Самоорганизующиеся сети Кохонена.

    курсовая работа [2,6 M], добавлен 29.04.2009

  • Понятие и свойства искусственных нейронных сетей, их функциональное сходство с человеческим мозгом, принцип их работы, области использования. Экспертная система и надежность нейронных сетей. Модель искусственного нейрона с активационной функцией.

    реферат [158,2 K], добавлен 16.03.2011

  • Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.

    контрольная работа [135,5 K], добавлен 30.11.2015

  • Искусственные нейронные сети как вид математических моделей, построенных по принципу организации и функционирования сетей нервных клеток мозга. Виды сетей: полносвязные, многослойные. Классификация и аппроксимация. Алгоритм обратного распространения.

    реферат [270,4 K], добавлен 07.03.2009

  • Определение и виды модели, ее отличие от понятия моделирования. Формула искусственного нейрона. Структура передачи сигнала между нейронами. Способность искусственных нейронных сетей к обучению и переобучению. Особенности их применения в финансовой сфере.

    реферат [136,2 K], добавлен 25.04.2016

  • Рождение искусственного интеллекта. История развития нейронных сетей, эволюционного программирования, нечеткой логики. Генетические алгоритмы, их применение. Искусственный интеллект, нейронные сети, эволюционное программирование и нечеткая логика сейчас.

    реферат [78,9 K], добавлен 22.01.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.