Учебное пособие по курсу «Нейроинформатика»
Шрифт:
С другой стороны, при использовании нейронных сетей в экспертных системах на PC возникает потребность прочитать и логически проинтерпретировать навыки, выработанные сетью. В главе «Контрастер» описаны служащие для этого методы контрастирования — получения неявными методами логически прозрачных нейронных сетей. Однако за логическую прозрачность приходится платить снижением избыточности, так как при контрастировании удаляются все связи кроме самых важных, без которых задача не может быть решена.
Итак, очевидно наличие двух источников идеологии нейроинформатики. Это представления о строении мозга и о процессах обучения. Существуют группы исследователей и научные школы, для которых эти источники
В работе [56] доказана теорема, утверждающая, что с помощью линейных комбинаций и суперпозиций линейных функций и одной произвольной нелинейной функции одного аргумента можно сколь угодно точно приблизить любую непрерывную функцию многих переменных.
Из этой теоремы следует, что Нейронные сети — универсальные аппроксимирующие устройства и могут с любой точностью имитировать любой непрерывный автомат
Главный вопрос: что могут нейронные сети. Ответ получен: нейронные сети могут все. Остается открытым другой вопрос: как их этому научить?
Лекции 2 и 3. Сети естественной классификации
В данном разделе курса будут рассмотрены сети естественной классификации. Этот класс сетей имеет еще одно название — сети, обучающиеся без учителя. Второе название имеет более широкое распространение, однако, является в корне неверным. В дальнейшем в нашем курсе будет рассмотрена модель универсального нейрокомпьютера в которой будет явно выделен компонент учитель и описаны его функции. В этом смысле данный вид сетей обучается с явно заданным учителем. Когда давалось это название, имелось в виду, что сети данного вида не обучают воспроизведению заранее заданной классификации. Именно поэтому название «Сети естественной классификации» является наиболее точным для данного класса сетей. Наиболее известной сетью данного вида является сеть Кохонена [131, 132].
Содержательная постановка задачи
Достаточно часто на практике приходится сталкиваться со следующей задачей: есть таблица данных (результаты измерений, социологических опросов или обследований больных). Необходимо определить каким закономерностям подчиняются данные в таблице. Следует заметить, что характерный размер таблицы — порядка ста признаков и порядка нескольких сотен или тысяч объектов. Ручной анализ таких объемов информации фактически невозможен.
Первым шагом в решении данной задачи является группировка (кластеризация, классификация) объектов в группы (кластеры, классы) «близких» объектов. Далее исследуются вопросы того, что общего между объектами одной группы, и что отличает их от других групп. Далее будем использовать термин классификация и говорить о классах близких объектов.
Слово близких, в постановке задачи, взято в кавычки, поскольку под близостью можно понимать множество разных отношений близости. Далее будет рассмотрен ряд примеров различных видов близости.
К сожалению, вид близости и число классов приходится определять исследователю, хотя существует набор методов (методы отжига) позволяющих оптимизировать число классов.
Формальная постановка задачи
Рассмотрим множество из m объектов {x}, каждый из которых является n-мерным вектором с действительными координатами (в случае комплексных координат особых трудностей с данным методом также не возникает, но формулы становятся более сложными, а комплексные значения признаков случаются редко).
Зададим пространство ядер классов E,
где Ki — множество объектов i—го класса.
Сеть Кохонена
Сеть Кохонена для классификации на k классов состоит из k нейронов (ядер), каждый из которых вычисляет близость объекта к своему классу. Все нейроны работают параллельно. Объект считается принадлежащим к тому классу, нейрон которого выдал минимальный сигнал. При обучении сети Кохонена считается, что целевой функционал не задан (отсюда и название «Обучение без учителя»). Однако алгоритм обучения устроен так, что в ходе обучения минимизируется функционал (1), хотя и немонотонно.
Обучение сети Кохонена
Предложенный финским ученым Кохоненом метод обучения сети решению такой задачи состоит в следующем. Зададим некоторый начальный набор параметров нейронов. Далее предъявляем сети один объект x. Находим нейрон, выдавший максимальный сигнал. Пусть номер этого нейрона i. Тогда параметры нейрона модифицируются по следующей формуле:
ai′=λx+(1-λ)ai (2)
Затем сети предъявляется следующий объект, и так далее до тех пор, пока после очередного цикла предъявления всех объектов не окажется, что параметры всех нейронов изменились на величину меньшую наперед заданной точности ε. В формуле (2) параметр λ называют скоростью обучения. Для некоторых мер близости после преобразования (2) может потребоваться дополнительная нормировка параметров нейрона.
Сеть Кохонена на сфере
Рис 1. Три четко выделенных кластера в исходном пространстве сливаются полностью (а) или частично (б) при проецировании на единичную сферу.
Одним из наиболее распространенных и наименее удачных (в смысле практических применений) является сферическая сеть Кохонена. В этой постановке предполагается, что все вектора-объекты имеют единичную длину. Ядра (векторы параметров нейронов) также являются векторами единичной длины. Привлекательность этой модели в том, что нейрон вычисляет очень простую функцию — скалярное произведение вектора входных сигналов на вектор параметров. Недостатком является большая потеря информации во многих задачах. На рис. 1 приведен пример множества точек разбитого на три четко выделенных кластера в исходном пространстве, которые сливаются полностью или частично при проецировании на единичную сферу.