1 Главная
1
Тема №1
1
Тема №2
1 Тема №3
1 Тема №4
1 Тема №5
1 Тема №6
1 Тема №7
1
Практические работы
1 Скачать CLIPS
1 Neural Network Wizard
1
Скачать архив

Тема 3. Основные модели и методы технологий интеллектуальных вычислений

  • Виды моделей интеллектуальных вычислений
    • Классификация
    • Регрессионный анализ
    • Прогнозирование временных последовательностей
    • Кластеризация
    • Ассоциация
    • Последовательность
  • Методы интеллектуальных вычислений
    • Нейронные сети
    • Деревья решений
    • Системы размышлений на основе аналогичных случаев
    • Алгоритмы выявления ассоциаций
    • Нечеткая логика
    • Генетические алгоритмы
    • Эволюционное программирование
    • Комбинированные методы

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

  • классификация,
  • регрессия,
  • прогнозирование временных последовательностей (рядов),
  • кластеризация,
  • ассоциация,
  • последовательность.

Первые три используются главным образом для предвидения, в то время как последние удобны для описания существующих закономерностей в данных.
Классификация - самая распространенная модель интеллектуального анализа данных. С ее помощью обнаруживаются признаки, характеризующие группу, к которой принадлежит тот или другой объект. Это делается с помощью анализа уже классифицированных объектов и формулирования некоторого набора правил.
В многих видах бизнеса проблемой является потеря постоянных клиентов.
Классификация помогает обнаружить характеристики "неустойчивых" покупателей и создать модель, предвидящую, кто именно склонен пойти к другому поставщику. Используя ее, можно определить эффективные виды скидок и другие выгодные предложения, действующие для разних покупателей. Благодаря этому, можно удержать клиентов, израсходовав столько денег, сколько необходимо.
Один раз определенный эффективный классификатор используется для классификации новых записей в базе данных в уже существующие классы и в этом случае он приобретает характер прогноза. Например, классификатор, умеющий идентифицировать риск отдачи займа, может быть использован для принятия решения, велик ли риск предоставления займа определенному клиенту. То есть, классификатор используется для прогнозирования вероятности возвращение займа.
Регрессионный анализ используется, когда отношения между переменными могут быть выражены количественно в виде некоторой комбинации этих переменных. Полученная комбинация используется для предвидения значения, которое может принимать целевая (зависимая) переменная, вычисляемая на заданном наборе значений входных (независимых) переменных.
В простейшем случае, для этого используются стандартные статистические методы, такие как линейная регрессия, но большинство реальных моделей не укладываются в ее рамки. Например, размеры продаж или фондовые цены сложны для предвидения, так как могут зависеть от комплекса взаимоотношений переменных.

Прогнозирование временных последовательностей. Основой для любых систем прогнозирования служит историческая информация, хранимая в информационных хранилищах в виде временных рядов. Если можно построить математическую модель и найти шаблоны, адекватно отображающие эту динамику, есть вероятность, что с их помощью можно предвидеть и поведение системы в будущем. Прогнозирование временных последовательностей позволяет на основе анализа поведения временных рядов оценивать будущие значения прогнозируемых переменных. Эти модели должны включать в себя особые признаки времени: иерархия периодов (месяц-квартал-год), особые отрезки времени (пяти- шести или семидневная рабочая неделя), сезонность, праздники и др.
Кластеризация отличается от классификации тем, что классы заранее не заданы и с помощью модели кластеризации средства интеллектуальных вычислений самостоятельно создают однородные группы данных.
Ассоциация относится к анализу структуры и применяется, когда несколько событий связаны между собой. Классический пример анализа структуры покупок относится к представлению приобретения какого-нибудь количества товаров как одиночной экономической операции (транзакции). Поскольку большое количество покупок происходит в супермаркетах, а покупатели для удобства используют корзины, куда и складывается весь товар, то для нахождения ассоциаций служит анализ содержимого корзины. Целью подхода является нахождение трендов (одинаковых участков) среди большого числа транзакций, которые можно использовать для объяснения поведения покупателей. Такая информация может быть использована для регулирования запасов, изменения размещения товаров на территории магазина и принятия решения по проведению рекламной кампании для увеличения продаж или для продвижения определенного вида продукции. Например, исследования, проведенное в супермаркете, может показать, что 65% покупающих картофельные чипси, берут также и "кока-колу", а при наличии скидки за такой комплект "колу" приобретают в 85% случаев. Имея такие данные, менеджерам легко оценить, насколько действующая предоставленная скидка.
Хотя этот подход пришел исключительно из розничной торговли, он может также применяться в финансовой сфере для анализа портфеля ценных бумаг и нахождения наборов финансовых услуг, которые клиенты часто приобретают вместе. Это может использоваться для создания некоторого набора услуг, как части кампании по стимулированию продаж.
Последовательность имеет место, если существует цепочка связанных во времени событий. Традиционный анализ структуры покупок имеет дело с набором товаров, которые представляют одну транзакцию. Вариант такого анализа встречается, если существует дополнительная информация (номер кредитной карты клиента или номер его банковского счета) для связывания разных покупок в единую временную серию. В такой ситуации важно не только сосуществование данных внутри одной транзакции, но и порядок, в котором эти данные появляются в разных транзакциях и время между этими транзакциями. Правила, устанавливающие эти отношения, могут быть использованы для определения типового набора предшествующих продаж, которые могут повести за собой следующие продажи определенного товара. После покупки дома в 45% случаев в продолжение месяца покупается и новая кухонная плита, а в течении следующих двух недель 60% новоселов обзаводятся холодильником.

Методы (алгоритмы) интеллектуальных вычислений

  • нейронные сети;
  • деревья решений;
  • системы размышлений на основе аналогичных случаев;
  • алгоритмы определения ассоциаций и последовательностей;
  • нечеткая логика;
  • генетические алгоритмы;
  • эволюционное программирование;
  • визуализация данных.

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

  • Нейрокомпьютеры дают стандартный способ решения многих нестандартных задач. И неважно, что специализированная машина лучше решит один класс задач. Важнее, что один нейрокомпьютер решит и эту задачу, и другую, и третью и не надо каждый раз проектировать специализированную ЭВМ, нейрокомпьютер сделает все сам и почти не хуже.
  • Вместо программирования обучения. Нейрокомпьютер учится, нужно лишь формировать обучающие множества. Работа программиста заменяется новой работой учителя. Лучше это ли хуже? Не то, ни другое. Программист приказывает машине все детали работы, учитель создает "обучающую среду", к которой приспосабливается нейрокомпьютер. Появляются новые возможности для работы.
  • Нейрокомпьютеры эффективны там, где нужен аналог человеческой интуиции, в частности, для распознавания образов, чтения рукописных текстов, подготовки аналитических прогнозов, перевода с одного языка на другой и т.п. Именно для таких задач обычно трудно составить явный алгоритм.
  • Нейронные сети разрешают создать эффективное программное и математическое обеспечения для компьютеров с высокой степенью распараллеливания обработки.
  • Нейрокомпьютеры "демократичны", они просты, как текстовые процессоры, поэтому с ними может работать любой, даже совсем неопытный пользователь.

Деревья решений - метод, широко применяемый в области финансов и бизнеса, где чаще встречаются задачи числового прогноза. В результате применения этого метода, для обучающей выборки данных создается иерархическая структура правил классификации типа, "ЕСЛИ... ТОГДА...", имеющих вид дерева. Для того чтобы решить, к какому классу отнести некоторый объект или ситуацию, надо ответить на вопрос, стоящий в узлах этого дерева, начиная с его корня. Вопросы могут иметь вид "Значение параметра A больше Х ? " или вида "Значение переменной В принадлежит подмножеству признаков С ? ". Если ответ положительный, переход к правому узлу следующего уровня, если отрицательный - то к левому узлу; потом снова ответ на вопрос, связанный с соответствующим узлом. Таким образом, в конце концов, можно дойти до одного из конечных узлов, где определен класс объекта. Этот метод хорош наглядным представлением правил и его легко понять.
Сегодня наблюдается подъем интереса к продуктам, применяющим деревья решений. В основном это объясняется тем, что большинство коммерческих проблем решается ними быстрее, чем алгоритмами нейронних мереж, они проще и понятней для пользователей.
В то же время нельзя сказать, что деревья решений всегда действуют безотказно: для определенных типов данных они могут оказаться неприемлемыми. Дело в том, что отдельным узлам на каждой ветви отводится меньшее число записей данных - дерево может сегментировать данные на большое количество частных случаев. Чем больше таких частных случаев, тем меньше обучающих примеров попадает в каждый такой частный случай, и их классификация становится менее надежной. Если дерево слишком "ветвистое" - состоит из неоправданно большого числа мелких ветвей - оно не будет давать статистически обоснованных ответов. Как показывает практика, у большинства систем, использующих деревья решений, эта проблема не находит удовлетворительного решения.
Системы размышлений на основе аналогичных случаев. Идея алгоритма крайне проста. Для того, чтобы сделать прогноз на будущее или выбрать правильное решение, системы находят в прошлом близкие аналоги имеющейся ситуации и выбирают тот же ответ, что был для них правильным. Поэтому, этот метод еще называют методом "ближайшего соседа". Системы размышлений на основе аналогичных случаев дают хорошие результаты в разных задачах.
Главный их минус в том, что они вообще не создают каких-нибудь моделей или правил, обобщающих предыдущий опыт, - в выборе решения они базируются на всем массиве доступных исторических данных, поэтому невозможно сказать, на основе каких конкретно факторов эти системы строят свои ответы.
Алгоритмы выявления ассоциаций находят правила об отдельных предметах, которые появляются вместе в одной транзакции, например в одной покупке.
Последовательность - эта тоже ассоциация, но зависимая от времени.
Ассоциация записывается как А->Б, где А называется предпосылкой, Б - следствием.
Частота появления каждого отдельного предмета или группы предметов, определяется очень просто - подсчитывается количество появления этого предмета во всех событиях (покупках) и делится на общее количество событий. Эта величина измеряется в процентах и носит название "распространенность". Низкий уровень распространенности (менее одного тысячной процента) говорит о несущественности ассоциации.
Для определения важности каждого полученного ассоциативного правила необходимо получить величину, которая носит название "доверительность А к Б" (взаимосвязь А и Б). Эта величина показывает, как часто с появлением А появляется Б и рассчитывается как отношение частоты появления (распространенности) А и Б вместе к распространенности А. То есть, если доверительность А к Б равняется 20%, то это означает, что при покупке товара А в каждом пятом случаю приобреают и товар Б. Если распространенность А не равна распространенности Б, то и доверительность А к Б не равняется доверительности Б к А. В самом деле, покупка компьютера чаще ведет к покупке дискет, чем покупка дискеты к покупке компьютера.
Еще одной важной характеристикой ассоциации является мощность ассоциации. Чем больше мощность, то сильнее влияние, которое появление А делает на появление Б. Мощность рассчитывается по формуле: (доверительность А к Б) / (распространенность Б).
Некоторые алгоритмы поиска ассоциаций сначала сортируют данные и только после этого определяют взаимосвязь и распространенность. Единственним расхождением таких алгоритмов является скорость или эффективность нахождения ассоциаций. Это важно, в связи с огромным количеством комбинаций, что необходимо перебрать для нахождения более значимых правил. Алгоритмы поиска ассоциаций могут создавать свои базы данных распространенности, доверительности и мощности, к которым можно обращаться при запросе. Например: "Найти все ассоциации, в которых для товара Х доверительность более 50% и распространенность не менее 2,5%".
При нахождении последовательностей прибавляется переменная времени, позволяющая работать с серией событий для нахождения последовательных ассоциаций на протяжении некоторого периода времени.
Подводя итоги этому метода анализа, необходимо сказать, что случайно может возникнуть такая ситуация, когда товары в супермаркете будут сгруппированы с помощью найденных моделей, но это, вместо ожидаемой прибыли, даст обратный эффект. Это может произойти из-за того, что клиент не будет долго ходить по магазину в поисках желаемого товара, покупая при этом еще что-то, что попадается на глаза, и то, что он никогда не планировал покупать.
Нечеткая логика применяется для наборов данных, где принадлежность данных к какой-нибудь группе является вероятностью в интервале от 0 до 1. Четкая логика манипулирует результатами, которые могут быть или истиной, или ложью. Нечеткая логика применяется в тех случаях, когда существует "может быть" в дополнении к "да" или "нет".
Областью внедрения алгоритмов нечеткой логики являются любые аналитические cистемы, в том числе:

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

В Японии это направление переживает бум. Здесь функционирует специально созданная лаборатория Laboratory for International Fuzzy Engineering Research ( LIFE ). Программой организации является создание более близких к человеку вычислительных устройств. LIFE объединяет 48 компаний в числе которых находятся: Hitachi, Mitsubishi, NEC, Sharp, Sony, Honda, Mazda, Toyota. Из иностранных участников LIFE можно выделить: IBM, Fuji Xerox, к деятельности LIFE также проявляет интерес NASA.
Мощность и интуитивная простота нечеткой логики как методологии решения проблем гарантирует ее успешное использование во встроенных системах контроля и анализа информации. При этом происходит подключение человеческой интуиции и опыта оператора.
В отличие от традиционной математики, которая требует на каждом шаге моделирования точных и однозначных формулирований закономерностей, нечеткая логика предлагает совсем другой уровень мышления, благодаря чему творческий процесс моделирования происходит на высоком уровне абстракций, при котором постулируется лишь минимальный набор закономерностей.
Недостатками нечетких систем является:

  • отсутствие стандартной методики конструирования нечетких систем;
  • невозможность математического анализа нечетких систем существующими методами;

Генетические алгоритмы являются мощным средством решения разных комбинаторных задач и задач оптимизации. Тем не менее, генетические алгоритмы вошли сейчас в стандартный инструментарий методов интеллектуальных вычислений. Этот метод назван так потому, что в какой-то степени имитирует процесс естественного отбора в природе. Пусть нам надо найти решения задачи, наиболее оптимальные с точки зрения некоторого критерия, где каждое решение целиком описывается определенным набором чисел или величин нечисловой природы. Скажем, если нам надо выбрать совокупность фиксированного числа параметров рынка, существенно влияющих на его динамику, это будет набор имен этих параметров. Об этом наборе можно говорить как о совокупности хромосом, определяющих качества индивида - данного решения поставленной задачи. Значения параметров, определяющих решения, называются генами. Поиск оптимального решения при этом похож на эволюцию популяции индивидов, представленных наборами хромосом.
В эволюции действуют три механизма: во-первых, отбор сильнейших - наборов хромосом, которым отвечают наиболее оптимальные решения; во-вторых, скрещивание - производство новых индивидов с помощью смешивания хромосомных наборов отобранных индивидов; и, в-третьих, мутации - случайные изменения генов у некоторых индивидов популяции. В результате изменения поколений вырабатывается решение поставленной задачи, которое уже не может быть дальше улучшено.
Генетические алгоритмы имеют два слабых места. Во-первых, постановка задачи не дает возможности проанализировать статистическую значимость получаемого с их помощью решения и, во-вторых, эффективно сформулировать задачу, определить критерий отбора хромосом по силам только специалисту. В силу этих факторов, генетические алгоритмы надо рассматривать скорее как инструмент научного исследования, чем средство анализа данных для практического применения в бизнесе и финансах.
Эволюционное программирование самая молодая область интеллектуальных вычислений. Гипотезы о виде зависимости целевой переменной от других переменных формулируются системой в виде программ на некотором внутреннем языке программирования. Если это универсальный язык, то теоретически на ней можно выразить зависимость любого вида. Процесс построения таких программ строится как эволюция в мире программ (этим метод немного похож на генетические алгоритмы). Если система находит программу, которая точно выражает искомую зависимость, она начинает вносить в нее небольшие модификации и отбирает среди построенных таким образом дочерних программ те, которые повышают точность. Система "выращивает" несколько генетических линий программ, конкурирующих между собой в точности нахождения искомой зависимости. Специальный транслирующий модуль, переводит найденные зависимости с внутреннего языка системы на понятный пользователю язык (математические формулы, таблицы и др.), делая их легкодоступными. Для того, чтобы сделать полученные результаты более понятными для пользователя-нематематика, существует большой арсенал разнообразных средств визуализации выявленных зависимостей.
Поиск зависимости целевых переменных от других проводится в форме функций какого-нибудь определенного вида. Например, в одном из наиболее удачных алгоритмов этого типа - методе группового учета аргументов (МГУА) зависимость ищут в форме полиномов. Причем сложные полиномы заменяются несколькими простыми, учитывающих лишь некоторые признаки (группы аргументов). Обычно используются попарные объединения признаков. Этот метод не имеет больших преимуществ по сравнению с нейронными сетями с готовым набором стандартных нелинейных функций, но, полученные формулы зависимости, в принципе, поддаются анализу и интерпретации (хотя на практике это все-таки сложно).
Программы визуализации данных в определенном смысле не является средством анализа информации, поскольку они только представляют ее пользователю. Тем не менее, визуальное представление, скажем, сразу четырех переменных наглядно обобщает огромнейшие объемы данных.
Комбинированные методы. Часто производители соединяют указанные подходы. Объединение алгоритмов нейронных сетей и технологии деревьев решений способствует построению более точной модели и повышению быстродействия. Для решения каждой проблемы следует искать свой оптимальный метод.