Опубликован: 10.10.2014 | Уровень: для всех | Доступ: платный | ВУЗ: Московский государственный университет путей сообщения
Лекция 7:

Машинное обучение

< Лекция 6 || Лекция 7: 123456 || Лекция 8 >

7.2. Мичиганский подход

Здесь системы классификации используют структуру, в которой популяция правил закодирована в строки битов и развивается и совершенствуется на основе меняющихся входных данных, поступающих из внешней среды [1,2]. Система "обучается" на представленных входных данных по методу обучения с учителем, где для каждого набора входных данных известны правильные значения выходов. Правила в системе классификации формируют популяцию из особей, развивающихся во времени. Система классификации, представленная на рис. 7.1 состоит из следующих компонентов:

  • датчик и исполнительный элемент;
  • система обмена сообщениями (входные, выходные и внутренние списки сообщения);
  • система правил (популяция классификаторов);
  • система оценки эффективности и отбора правил ("бригадный алгоритм");
  • генетический алгоритм (репродукция классификаторов).

Среда (внешнее окружение системы классификации) посылает сообщение, которое принимается датчиками системы классификации и помещается во входной список сообщений. Датчики декодируют сообщение в одно или более (декодированных) сообщений и размещают его во внутренний список сообщений. Эти сообщения активизируют классификаторы. Наиболее сильные из активизированных классификаторов размещают сообщения в списке внутренних сообщений. Эти новые сообщения могут активизировать другие классификаторы, или послать некоторые сообщения в выходной список сообщений. В последнем случае, исполнительные элементы системы классификации кодируют их в выходные сообщения, которые возвращаются во внешнюю среду. Среда оценивает действие системы посредством обратной связи с помощью "бригадного алгоритма", который модифицирует "силу" классификаторов [1,2].

Далее рассмотрим более подробно некоторые из этих действий. Сначала определим некоторые базовые понятия. Каждый классификатор состоит из двух частей: 1-я часть условие, и 2-я сообщение. "Условная часть" правила представляет собой конечную строку символов из некоторого алфавита. Здесь алфавит включает "неопределенный" символ "*". Часть, представляющая сообщение, является конечной строкой из символов того же самого алфавита, кроме символа "*".

Система классификации.

Рис. 7.1. Система классификации.

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

Таблица 7.1.
Атрибуты Значение Атрибутов:
Форма Головы Округлая, Квадратная, Восьмиугольная
Форма Тела Округлая, Квадратная, Восьмиугольная
Улыбка Да, Нет
Держит в руках Сабля, Шарик, Флаг
Цвет куртки Белый, Жёлтый, Зелёный, Синий, Красный
Шарф Да, Нет

Здесь жирные буквы используются для идентификации атрибутов и их значений. Например, (Ц=Ж) означает "Цвет_Куртки = Жёлтый". Приведем примеры описаний концепций C_i (классов или видов) роботов:

  • C_1- голова округлая и куртка белая, или голова квадратная и держит шарик;
  • C_2- улыбается и держит шарик, или голова округлая;
  • C_3- улыбается и не держит саблю;
  • C_4- куртка белая и не носит шарф, или голова круглая и улыбается;
  • C_5- улыбается и держит шарик или саблю.

Здесь каждая концепция C_i описана в терминах этих шести атрибутов и их значений. Формальное описание концепций представлено на языке VL_1 (упрощенная версия распространенного языка Variable Valued Logic Systems), описывающем входные события в пространстве атрибутов.

Описание концепции C представляется в виде дизъюнкции комплексов

C_1\vee\dots\vee C_k\Rightarrow C

При этом каждый комплекс C_i выражен посредством конъюнкции селекторов, которые являются триплетами (например, (Ц=Ж) для "Цвет куртки = Желтый").

Концепции C_1-C_5 могут быть выражены следующим образом:


Каждому классификатору приписывается "сила", характеризующая его "важность"."Сила" важна в процессе "торговли", где классификаторы конкурируют за право послать сообщения. Мы можем представить решающее правило с помощью одного или более классификаторов. Каждый классификатор имеет следующую форму (p_1,p_2,p_3,p_4,p_5,p_6):d, где p_i обозначает значение i-го атрибута (1\le i\le 6) для областей значений, описанных выше.

Например, классификатор, (О * * * Б *):C_1 представляет следующее правило: "Если голова Округлая и куртка Белая, то робот соответствует концепции C_1". Здесь концепция фактически соответствует классу, к которому принадлежит робот.

Чтобы упростить пример, предположим, что система обучается единственной концепции C_1. Но рассматриваемый метод может быть легко обобщен для обработки множественных концепций. В случае одной концепции каждый классификатор имеет следующую форму (p_1,p_2,p_3,p_4,p_5,p_6):d, где d=1 (принадлежность к концепции C_1) или d=0 (в противном случае).

Предположим, что на некоторой стадии процесса обучения в системе имеется небольшая (случайная) популяция классификаторов q. При этом каждый классификатор имеет свою силу s. Пусть для определенности в нашем примере на текущий момент присутствуют следующие классификаторы:


Предположим далее, что из внешней среды поступает новое входное сообщение m:(ООДСБН). Оно представляет описание одного робота с округлой головой (О), округлым телом (О), который улыбается (Д), держит саблю (С) и одет в белую (Б) куртку без шарфа (Н). Очевидно, этот робот вписывается (соответствует) в концепцию C_1 из-за его округлой головы и белой куртки.

Анализ показывает, что это сообщение активизирует три классификатора: q_1,q_2\ и\ q_4. Эти классификаторы "торгуются": предложение каждого классификатора в торге пропорционально его силе (bid_i=b*s_i). Самый сильный классификатор q_1 выигрывает и посылает свое сообщение. Так как сообщение дает правильную классификацию, этот классификатор получает премию r>0. Тогда сила классификатора становится равной:

s_1:=s_1-bid_1+r

Если бы сообщение дало неправильный ответ, "премия" r была бы отрицательна. Конкретно для коэффициентов b = 0.2 и r = 4.0, новая сила классификатора q_1 составляет s_1 = 12.3 - 2.46 +4.0 =13.84.

Одним из основных параметров системы классификаторов является период ГА t_{ga}, который определяет число временных шагов (число циклов описанных выше) между запросами ГА. Конечно, t_{ga} может быть константой, генерируемой произвольно (со средним значением, равным t_{ga}), или вообще не определенно, и этот выбор может быть сделан, исходя из характеристик работы системы. Так или иначе, предположим, что настало время для применения генетического алгоритма в классификации.

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

Далее используются стандартные генетические операторы: репродукция, мутация и кроссинговер. Однако их необходимо несколько модифицировать. Рассмотрим, например, первый атрибут. Его областью (форма головы) является {О, К, В, *}. Поэтому, при мутации, мы заменяем изменяемое значение на любое из трех других значений (с равной вероятностью):


После выполнения оператора мутации сила потомка обычно остаётся такой же, как и у родительской особи. Оператор кроссинговера в данном случае не требует никакой модификации (то есть применяется классический ОК). Этому способствует также тот факт, что все классификаторы имеют равную длину. Далее, применив кроссинговер к двум родителям, например, q_1 и q_2, получим:


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


При кроссинговере сила полученных классификаторов определяется как среднее значение (возможно взвешенное) от значений силы родителей.

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


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

< Лекция 6 || Лекция 7: 123456 || Лекция 8 >
Ольга Ковалевская
Ольга Ковалевская
Россия, Волгоградская область
Фродо Ёркинс
Фродо Ёркинс
Россия