Баннер
Баннер

Представление знаний нейронными сетями - Представление входных данных

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

Особенность нейронной сети в том, что в них все входные и выходные па­ра­метры представлены в виде чисел с плавающей точкой обычно в диапазоне [0..1]. В то же время данные предметной области часто имеют другое коди­ро­ва­ние. Так, это могут быть числа в произвольном диапазоне, даты, сим­воль­ные стро­ки. Таким образом, данные о проблеме могут быть как количественными, так и качественными. Рассмотрим сначала преобразование качественных данных в числовые, а затем способ преобразования входных дан­ных в требуемый диа­па­зон.

Качественные данные мы можем разделить на две группы: упо­ря­до­чен­ные (ординальные) и неупорядоченные. Для определения способов ко­ди­рования этих данных рассмотрим задачу о прогнозировании ус­пеш­нос­ти лечения какого-либо заболевания. Примером упорядоченных данных мо­гут, например, являться данные  о дополнительных факторах риска при данном заболевании.

Нет

Ожирение

Алкоголь

Курение

Гипертония

А также возможным примером может быть возраст больного.

До 25 лет

 25-39 лет

40-49 лет

50-59 лет

60 и старше

Опасность каждого фактора возрастает в таблицах при движении слева направо.

В первом случае видим, что у больного может быть несколько фак­то­ров рис­­ка одновременно. В этом случае нам необходимо использовать такое ко­ди­ро­вание, при котором отсутствует ситуация, когда разным комбинациям фак­торов со­от­ветствует одно и то же значение. Наиболее распространен способ ко­ди­ро­вания, когда каждому фактору ставится в соответствие разряд двоичного числа. Число 1 в этом разряде говорит о наличии фактора, а число 0 — о его отсутствии. Параметру нет можно поставить в соответствие число 0. Таким образом, для представления всех факторов достаточно четырех разрядного двоичного числа. Таким образом, число 10102 = 1010 означает наличие у больного гипертонии и употребления алкоголя, а числу 00002 соответствует отсутствие у больного факторов риска. Таким образом, факторы риска будут представлены числами в диапазоне [0..15].

Во втором случае мы также можем кодировать все значения двоичными ве­сами, но это будет нецелесообразно, так как набор возможных значений будет слиш­ком неравномерным. В этом случае более правильным будет установка в со­от­ветствие каждому значению сво­его веса, отличающегося на единицу от веса со­седнего значения. Так число 3 будет соответствовать возрасту 50-59 лет. Таким образом, возраст будет закодирован числами в диапазоне [0..4].

Аналогично можно поступать и для неупо­рядоченных данных, поставив в соответствие каждому значению ка­кое-либо число. Однако, это вво­дит нежелательную упорядоченность, которая может исказить данные и сильно затруднить процесс обу­чения. В качестве одного из способов решения этой про­блемы мож­но предложить поставить в соответствие каждому значению одного из входов нейронной сети. В данном случае при наличии этого значения со­от­ветству­ющий ему вход устанавливается в 1 или в 0 при противном слу­чае. Дан­ный способ не является панацеей, ибо при боль­шом количестве вариантов вход­ного значения число входов ней­рон­ной сети раз­растается до огромного количества. Это резко увеличит затраты вре­мени на обучение. В качестве ва­ри­ан­та обхода этой проблемы мож­но использовать несколько другое решение. В со­ответствие каждому зна­чению входного параметра ставится бинарный вектор, каждый раз­ряд которого соответствует отдельному входу нейронной сети. Например, если чис­ло возможных значений параметра 128, то можно ис­поль­зовать семиразрядный вектор. Тогда первому значению будет соот­ветствовать вектор 0000000,  128-му — 1111111, а, например, значению 26 — 0011011. Тогда число требуемых для кодирования параметров входов можно определить как

N=Log2  (n),                                                                               (7.14)
где

n  — количество значений параметра,

N — количество входов.





Читайте также:

Добавить комментарий


Защитный код
Обновить




Разделы



Главная Представление знаний Представление знаний нейронными сетями