Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

9306

.pdf
Скачиваний:
0
Добавлен:
25.11.2023
Размер:
2.5 Mб
Скачать

110

Рис. 4.4. Разбиение исходного множества на обучающее и тестовое 3) На третьем шаге откроется окно выбора параметров алгоритма

построения дерева решений (рис. 4.5). Можно оставить настройки, предлагаемые по умолчанию, за исключением минимального количества примеров в узле, при котором будет создаваться новый. Рекомендуется задавать этот параметр, примерно равным 1% от объема обучающего множества; меньшее значение может привести к появлению недостоверных правил, большее – к почти полному отсутствию таковых.

Рис. 4.5. Настройки алгоритма дерева решений

4)На следующем шаге в качестве желаемого способа построения дерева оставим режим автоматического построения (есть еще режим интерактивного).

5)После завершения обучения дерева нужно выбрать следующие пять визуализаторов, как показано на рис. 4.6.

111

Рис. 4.6. Выбор визуализаторов к узлу «Дерево решений» Результатом работы данного алгоритма является список иерархических

правил образующих дерево вида «Если.. , то»…(рис. 4.7). В результате работы алгоритма было выявлено 5 правил.

Рис. 4.7. Визуализатор «Дерево решений» В нем строится графическое представление дерева решений. Каждое

правило читается следующим образом:

ЕСЛИ <УСЛОВИЕ> ТО <СЛЕДСТВИЕ>.

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

поддержка и достоверность.

Представление дерева правил в плоском, табличном виде обеспечивает визуализатор Правила (рис. 4.8).

112

Рис. 4.8. .Пример набора правил

Качество построенной модели можно оценить, используя таблицу сопряженности и диаграмму (рис. 4.9, 4.10).

Рис. 4.9. Таблица сопряженности для дерева решений

Рис. 4.10. Диаграмма «Качество классификации для модели дерево решений»

113

4.3.Нейронные сети

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

Математическая модель нейрона была впервые предложена Маккалоком и Питтсом еще в 1943 г. Нейрон это несложный автомат, преобразующий входные сигналы, суммируя их с некоторыми весами, в выходной сигнал (рис. 4.11). Сигналы силы x1, x2, ..., xn, поступая на синапсы (входы), преобразуются линейным образом, т.е. к телу нейрона поступают сигналы силы

w1*x1, w2*x2, ..., wn*xn (здесь wi – веса соответствующих синапсов).

Рис. 4.11. Математическая модель нейрона

Для удобства к нейрону добавляют еще один вход (и еще один вес w0), считая, что на этот вход всегда подается сигнал силы 1. В теле нейрона происходит суммирование сигналов:

n

 

S = wi xi .

(5)

i=0

 

Затем применяют к сумме некоторую фиксированную функцию f и

получают на выходе сигнал силы Y = f(S). При этом в качестве активационной

114

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

Рис. 4.12. Активационные функции искусственных нейронов, используемые при моделировании ИНС

В ИНС нейроны объединяются в слои, при этом выходы нейронов предыдущего слоя являются входами нейронов следующего слоя. Нейроны сети взаимодействуют друг с другом в зависимости от разновидности связей. Связи бывают полными (каждый с каждым), частичными (противоположность полной связи), с петлями обратных связей, без таковых. В каждом слое нейроны выполняют параллельную обработку данных. Простейшую искусственную нейронную сеть можно представить в виде одного «слоя» нейронов, соединенных между собой (рис. 4.13).

Рис.4.13. Простейшая нейронная сеть из трех нейронов

115

В 1960 г. на основе таких нейронов Розенблатт построил первый в мире автомат для распознавания изображений букв, который был назван “перцептрон” (perception – восприятие). Этот автомат имел очень простую однослойную структуру и мог решать только относительно простые (линейные) задачи. С тех пор были изучены и более сложные системы из нейронов, использующие в качестве передаточных любые непрерывные функции.

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

Наиболее распространенный алгоритм обучения нейронных сетей –

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

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

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

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

116

содержащий заданное входное воздействие и соответствующий ему правильный выходной (целевой) результат. Фактически, обучающее множество представляет собой функцию, заданную таблично парами входных и выходных векторов [(X1Y1),(X2Y2),...,(XkYk)]. После обучения модель должна реализовывать эту функцию. Для решения задачи классификации, обучающая выборка должна содержать объекты, для которых априорно известен класс.

Обучающее множество должно удовлетворять нескольким требованиям:

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

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

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

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

117

Ошибка модели, полученная на обучающем множестве, называется

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

Преимуществами нейросетевого метода по сравнению с классическим статистическим анализом являются:

отсутствие ограничений по характеру входной информации;

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

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

возможность находить сложные нелинейные зависимости между входными данными и выходными;

способность адаптироваться к изменениям среды;

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

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

118

Алгоритм построения классификатора на основе нейронных сетей

1.Работа с данными

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

Разбить всю совокупность данных на два множества: обучающее и тестовое (возможно разбиение на 3 множества: обучающее, тестовое и подтверждающее).

Число примеров в обучающем множестве должно быть больше числа примеров в тестовом множестве и больше в 1,5-2 раза числа настраиваемых весов.

2.Предварительная обработка

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

Выбрать систему кодирования выходных значений (классическое кодирование, 2 на 2 кодирование и т.д.).

3.Конструирование, обучение и оценка качества сети.

Выбрать топологию сети: количество слоев, число нейронов в слоях.

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

а) количество скрытых слоев в большинстве случаев не должно быть больше двух; б) число связей (весов) должно быть в 2 раза меньше объема обучающей выборки;

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

Выбрать функцию активации нейронов (например "сигмоида").

119

Выбрать алгоритм обучения сети. Обычно используется алгоритм обучения Back Propagation (обратного распространения) с подтверждающим множеством.

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

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

4.Использование и диагностика

Выяснить степень влияния различных факторов на принимаемое решение (эвристический подход).

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

При необходимости вернуться на этап 2, изменив способ представления образцов или изменив базу данных.

Практически использовать сеть для решения задачи.

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

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

Эффективность предсказаний нейросетей проверяется сравнением фактического значения и предсказанного.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]