Введение

Парадигма методов машинного обучения на основе правил

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

Методология

Архитектура и компоненты данной системы классификаторов обучения могут быть весьма разнообразными. Удобно рассматривать LCS как машину, состоящую из нескольких взаимодействующих компонентов. Компоненты могут добавляться или удаляться, а существующие компоненты могут быть модифицированы или заменены для соответствия требованиям конкретной проблемной области (как алгоритмические строительные блоки) или для обеспечения достаточной гибкости алгоритма для функционирования в различных проблемных областях. В результате парадигма LCS может гибко применяться ко многим задачам, требующим машинного обучения. Основные различия между реализациями LCS заключаются в следующем: (1) архитектура мичиганского типа против архитектуры питтсбургского типа, (2) обучение с подкреплением против обучения с учителем, (3) инкрементное обучение против пакетного обучения, (4) онлайн-обучение против офлайн-обучения, (5) фитнес, основанный на силе, против фитнеса, основанного на точности, и (6) полное отображение действий против отображения наилучшего действия. Эти разделения не обязательно являются взаимоисключающими. Например, XCS, в 1975 году, и его формализация теоремы схемы Голланда. В 1976 году Голланд концептуализировал расширение концепции ГА до того, что он назвал «когнитивной системой», и предоставил первое подробное описание того, что стало известно как первая система классификаторов обучения в статье «Когнитивные системы, основанные на адаптивных алгоритмах». Эта первая система, названная Когнитивная система один (CS 1), была задумана как инструмент моделирования, предназначенный для моделирования реальной системы (т.е. среды) с неизвестной внутренней динамикой, используя популяцию человекочитаемых правил. Целью было создание набора правил для выполнения онлайн-машинного обучения, чтобы адаптироваться к среде на основе редкой обратной связи/вознаграждения (т.е. обучения с подкреплением) и применять эти правила для генерации поведения, соответствующего реальной системе. Эта ранняя, амбициозная реализация позже была признана чрезмерно сложной и дающей противоречивые результаты. Начиная с 1980 года, Кеннет де Йонг и его ученик Стивен Смит использовали другой подход к машинному обучению на основе правил (LS 1), где обучение рассматривалось как процесс офлайн-оптимизации, а не как процесс онлайн-адаптации. Этот новый подход был более похож на стандартный генетический алгоритм, но развивал независимые наборы правил. С тех пор методы LCS, вдохновленные онлайн-обучением, представленным Голландом в Мичиганском университете, стали называться LCS мичиганского типа, а те, которые вдохновили Смит и Де Йонг в Питтсбургском университете, стали называться LCS питтсбургского типа. Другие важные концепции, появившиеся на ранних этапах исследований LCS, включали (1) формализацию алгоритма «кошевой бригады» (BBA) для распределения кредита/обучения, (2) выбор родительских правил из общей «экологической ниши» (т.е. множества соответствий [M]) вместо выбора из всей популяции [P], (3) покрытие, впервые представленное как оператор создания, (4) формализацию множества действий [A] и введение корректного множества [C], (8) фитнес, основанный на точности, (9) сочетание нечеткой логики с LCS (что впоследствии породило ряд алгоритмов нечеткого LCS), (10) поощрение длинных цепочек действий и иерархий по умолчанию для повышения производительности в многошаговых задачах, (11) изучение латентного обучения (что впоследствии вдохновило новое направление предвосхищающих систем классификаторов (ACS)) и (12) введение первой техники распределения кредита, подобной Q-обучению. Хотя не все эти концепции применяются в современных алгоритмах LCS, каждая из них стала вехой в развитии парадигмы LCS.

Революция

Интерес к системам классификаторов обучения возродился в середине 1990-х годов главным образом благодаря двум событиям: разработке алгоритма Q-обучения для обучения с подкреплением и представлению значительно упрощенных архитектур LCS мичиганского типа Стюартом Уилсоном. Система классификаторов нулевого уровня Уилсона (ZCS). Обучение с подкреплением обычно направлено на изучение функции ценности, которая отображает полное представление пространства состояний/действий. Аналогично, конструкция XCS заставляет её формировать всеобъемлющее и точное представление проблемного пространства (то есть полную карту), а не сосредотачиваться на высокодоходных нишах в среде (как это было в случае с LCS, основанными на силе). Концептуально, полные карты отражают не только то, что следует делать, или что правильно, но и то, чего делать не следует, или что неправильно. В отличие от этого, большинство LCS, основанных на силе, или исключительно на обучении с учителем, стремятся к набору правил эффективных обобщений в форме карты наилучших действий (или частичной карты). С тех пор сравнения между пригодностью, основанной на силе, и пригодностью, основанной на точности, а также полными и картами наилучших действий, были изучены более подробно.

Вслед за XCS

XCS вдохновил на разработку целого нового поколения алгоритмов и приложений LCS. В 1995 году Конгдон первым применил LCS к реальным эпидемиологическим исследованиям заболеваний – EpiCS, а позже – EpiXCS для эпидемиологической классификации. Эти ранние работы стимулировали дальнейший интерес к применению алгоритмов LCS к сложным и масштабным задачам интеллектуального анализа данных, особенно ярко проявившийся в биоинформатических приложениях. В 1998 году Столцманн представил системы предвосхищающих классификаторов (ACS), включающие правила в форме «условие – действие – эффект», а не классическое представление «условие – действие». В 2002 году Уилсон представил XCSF, добавив вычисляемое действие для выполнения аппроксимации функций. В 2003 году Бернардо Мансилья представил систему контролируемого классификатора (UCS), специализирующую алгоритм XCS для задач контролируемого обучения, задач с одним шагом и формирования наилучшего набора действий. UCS отказался от стратегии обучения с подкреплением в пользу простого соответствия правил точности, а также фаз исследования/эксплуатации, характерных для многих алгоритмов обучения с подкреплением. Булл представил простую LCS (YCS), основанную на точности, и простую систему минимального классификатора LCS (MCS), основанную на силе, чтобы добиться лучшего теоретического понимания структуры LCS. Bacardit представил GAssist и BioHEL – LCS в стиле Питтсбурга, предназначенные для интеллектуального анализа данных и масштабируемости при работе с большими наборами данных в биоинформатике. В 2008 году Другович опубликовал книгу под названием «Проектирование и анализ обучающих систем классификаторов», включающую некоторые теоретические исследования алгоритмов LCS. Бутц представил первую визуализацию онлайн-обучения правилам в графическом интерфейсе для XCSF. ExSTraCS интегрировал (1) экспертные знания для управления покрытием и генетическим алгоритмом в направлении важных признаков данных, (2) форму долговременной памяти, называемую отслеживанием атрибутов, обеспечивающую более эффективное обучение и характеризацию гетерогенных шаблонов данных, и (3) гибкое представление правил, аналогичное представлению смешанного дискретно-непрерывного списка атрибутов Bacardit. Bacardit и Urbanowicz исследовали статистические и визуализационные стратегии для интерпретации правил LCS и выполнения обнаружения знаний для интеллектуального анализа данных. Браун и Икбал исследовали концепцию повторного использования строительных блоков в виде фрагментов кода и первыми решили задачу мультиплексора на 135 бит, сначала изучив полезные строительные блоки из более простых задач мультиплексирования. ExSTraCS 2.0 был позже представлен для улучшения масштабируемости LCS в стиле Мичигана, успешно решив задачу мультиплексора на 135 бит напрямую впервые. Также использовались для обозначения того, что более точно можно определить как обучающую систему классификаторов. В силу их сходства с генетическими алгоритмами, системы классификаторов обучения в стиле Питтсбурга иногда обобщенно называют «генетическими алгоритмами». Кроме того, некоторые алгоритмы LCS или тесно связанные с ними методы называются «когнитивными системами». Такое разнообразие терминологии вносит некоторую путаницу в эту область. До 2000-х годов почти все методы обучающих систем классификаторов разрабатывались с учетом задач обучения с подкреплением. В результате термин «обучающая система классификаторов» обычно определялся как сочетание обучения с подкреплением методом «проб и ошибок» с глобальным поиском генетического алгоритма. Интерес к приложениям контролируемого обучения и даже неконтролируемого обучения с тех пор расширил использование и определение этого термина.

Видео-учебник

Системы классификаторов обучения вкратце (2016) Изучите базовый алгоритм LCS, чтобы понять его компоненты и принципы работы.