Тема 5. Средства прогнозирования. Нейронные сети.

June 25, 2024
0
0
Зміст

Тема 5. Средства прогнозирования. Нейронные сети.

 

Определение и архитектура систем знаний

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

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

Знание отражают наше представление о предметной области (ПрО) и выражают систему понятий, отношений и зависимостей между понятиями. Примерами понятий могут служить электрический проводник, число; примерами отношений между понятиями проводник и число является сопротивление, сила тока и напряжение; пример зависимости – закон Ома.

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

Знания можно разделить на процедурные и декларативные.

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

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

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

Человек и компьютер

Прежде чем приступить к разработке компьютеризированной системы знаний необходимо ответить на вопрос: могут компьютеры принимать те же решения, что и опытный врач, используя такие же данные и знания и логические процедуры их обработки. Другими словами, если люди могут использовать научные знания и клинический опыт для получения определенного вывода, то как мы можем научить компьютеры использовать эти же знания для получения аналогичному выводу? Чтобы ответить на этот вопрос мы сначала должны выяснить чем отличается структура знаний в человеческом мозге от структуры знаний в компьютере. Как должны быть структурированы знания или данные в компьютере, чтобы их можно было использовать для принятия решений, подобных тем, что принимаются врачом при постановке диагноза или назначении лечения? К сожалению, ключевой проблемой здесь является то, что мы не знаем, как человек сохраняет и использует знания: мы не знаем какую «модель» использует человеческий мозг для решения проблемы.

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

Развитие банков данных (БНД) идет по пути совершенствования процедур поиска информации и отображения ее в сложных структурах. В отличие от БНД хранящаяся в модели знаний, связывается внутрь (структурируется) не за счет табличных форм и документов, а с помощью отношений между фактами, которые наблюдаются на объекте управлиння. В моделях знаний отношения обладают определенной, фиксированной вне системы семантикой и сами по себе являются такими же данными, как и выходные.

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

Таким образом можно отметить по крайней мере три особенности знаний, отличающих их от данных:

      Знание отличаются от данных прежде всего способностью к интерпретации;

      Наличием связей, различают знания: элемент-класс, класс-подкласс, тип-подтип, ситуация-пидситуация;

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

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

Система знаний характеризуется наличием знаний и средств вывода нового знания, в сжатом виде может быть представлен формулой: «знания + механизм вывода = система знаний». Подобные системы способны как объяснить линию рассуждений, так и приобрести и накопить знания. Согласно этому можно выделить следующие основные элементы системы знаний: модуль приобретения знаний, база знаний, механизм вывода и пояснительный интерфейс.

Ядро систем знаний составляют база знаний (БЗ) и механизм вывода, с которыми связаны понятия «методы представления проблемного знания», «процесс получения нового знания с помощью правдоподобных рассуждений». Именно выбор методов представления и получения знаний определяет архитектуру системы знаний и на практике принимает выражение соответствующей организации БЗ и схемы управления механизмом вывода.

Экспертные системы в медицине

Среди систем знаний наиболее бурно в последнее время развивались медицинские экспертные системы (ЭС).

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

Искусственный интеллект.

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

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

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

Конечно, ученым не до конца известно как работает человеческий мозг. Выявлены только некоторые механизмы, которые и пытаются смоделировать в системах искусственного интеллекта. Термин «интеллект» происходит от латинского intellects, что означает ум, МИСЛИНА способности человека. Поэтому искусственный интеллект (artificial intelligence) можно рассматривать как свойство автоматических систем брать на себя отдельные функции интеллекта человека, например, выбирать и принимать оптимальные решения на основе ранее полученного опыта и рационального анализа внешних воздействий.

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

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

Человеческий мозг – для сохранения огромного количества знаний. Человек постоянно приобретает новые знания и применяет их к возникающим ситуациям. Знания можно представить в виде совокупности фактов и правил их использования. Правила выражаются формулой:

ЕСЛИ. . ., ТО. . .

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

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

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

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

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

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

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

Системы искусственного интеллекта состоят из трех основных блоков: базы знаний, решателя и интеллектуального интерфейса. Типичным представителем систем искусственного интеллекта являются экспертные системы.

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

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

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

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

Термин «экспертная система» естественно ассоциируется с термином эксперт. Так принято называть высококвалифицированного, авторитетного специалиста в какой-либо области деятельности, решает задачи, используя свой ​​опыт и знания.

Можно выделить следующие задачи, решаемые экспертами:

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

      классификация – построение иерархии концепций или объектов; определения заданного объекта или концепции в этой иерархии;

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

      планирование – построение плана (программы) действий по решению какой-либо задачи;

      управления – контроль состояния сложной системы и принятие оперативных решений по его изменению.

Определений экспертных систем почти столько же, сколько авторов книг и разработок по этой теме. Приведем наиболее известные:

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

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

Экспертные системы – это такие системы знаний, что, используя механизм вывода, применяют знания для решения определенной задачи.

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

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

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

В дальнейшем экспертными системами будем считать системы, которые:

      перерабатывают большое количество знаний;

      подают знания в простой унифицированной форме;

      имеют независимый механизм логических выводов;

      могут объяснить результаты, полученные в процессе обработки знаний.

Экспертные системы в медицине должны удовлетворять следующим требованиям:

             моделировать поведение грамотного врача при решении диагностической задачи, моделировать методы поиска решений;

  представлять полученные решения в таком виде, чтобы они были понятны и врачу и больному;

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

Существует много видов экспертных систем, среди которых можно выделить следующие:

      экспертные системы интерпретации данных, определяющих содержание данных, в частности данных медицинских наблюдений и опытов;

      экспертные системы диагностики , при которой определяется характер отклонения состояния объекта от нормы и на этой основе его причисляют к соответствующей категории.;

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

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

      экспертные системы обучения определяют погрешности при изучении какой-либо дисциплине, собирая при этом и анализируя данные о «слабые места», а затем дают необходимые пояснения и рекомендации, определяющие, какие упражнения нужны для улучшения подготовки будущего врача;

      экспертные системы планирования определяют оптимальные планы действий объектов, способных выполнять некоторые функции;

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

По степени интеграции экспертные системы различают следующим образом:

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

      гибридные экспертные системы, содержащие стандартные пакеты прикладных программ обработки, СУБД, электронные таблицы и средства управления ими.

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

Соответствии с формой процесса решения задачи и конечной цели EC делятся на:

      системы типа ” вопрос – ответ », включающие подсистемы диалогового общения с пользователем профессиональном языке пользователя данной ПрО;

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

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

История ЕС

ЕС возникли как результат использования методов искусственного интеллекта, имеет уже более чем 40-летнюю историю развития. В 50-е годы основным направлением развития систем ИИ было моделирование работы человеческого мозга в виде нейронных сетей. Однако, из-за недостаточно высокого уровня развития вычислительной техники того времени, разработка нейронных сетей уступила место другим методам ИИ и вновь активизировалась лишь в 80-е годы, когда были разработаны первые нейрокомпьютеры.

В 60-е годы основное внимание было уделено разработке общих методов эвристического поиска – методов, основанных на эвристиках (неформализованных правилах решения задач). Универсальная эвристика, на которой сформирована стратегия решения задач известна как поиск глубину:

ЕСЛИ – метод решения задачи не известен;

ТО – стоит попробовать разбить задачу на части и решить каждую из них как самостоятельную.

Этот простой пример демонстрирует все особенности эвристик: нечеткость и ограниченность области применения. Опыт показал, что универсального набора эвристик, что позволяет решить задачу в любой области и любой сложности нет. А интеллектуальные решебники задач, построены на наборах общих эвристик, оказались в состоянии решать только «игрушечные» задачи. Однако само исследование методов эвристического поиска оказалось необходимым шагом к следующему этапу развития.

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

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

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

Одна из наиболее известных в мире экспертных систем медицинской диагностики является ЕС «MYCIN». Она решает задачи диагностики инфекционных заболеваний крови и выработки рекомендаций по их лечения. Система использует базу медицинских знаний о заболеваниях, симптомы и микроорганизмы (культуры), которые вызвали. Необходимую информацию о пациенте система получает в процессе диалога с пользователем (врачом). По признаниям специалистов-медиков, система MYCIN не уступает по качеству диагностики ведущим экспертам-специалистам.

Разработка экспертных систем

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

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

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

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

Анализ работы экспертной системы наиболее удобно провести, предварительно рассмотрев ее структурную организацию

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

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

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

База знаний

ЕС, как и человек-эксперт, в процессе своей работы оперирует со знаниями. Знание о предметной области, необходимые для работы экспертной системы, определенным образом формализованы и представлены в виде базы знаний.

База знаний – это сердцевина каждого EC, ее наиболее важный компонент, на которой основаны ее «интеллектуальные способности». В отличие от всех других компонентов ЭС, база знаний – переменная часть системы. которая может пополняться и модифицироваться экспертами и инженерами знаний по мере накопления знаний и опыта использования системы.

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

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

Формальные модели изображения знаний

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

Продукционные модели

Широкий класс экспертных систем использует общую схему представления знаний в виде системы продукций. Это наиболее распространенный способ представления знаний в виде элементарных фактов и правил , по которым из имеющихся фактов могут быть выведены новые. Факты могут быть представлены в виде троек:

(АТРИБУТ, ОБЪЕКТ, ЗНАЧЕНИЕ).

Такой факт означает, что данный объект имеет заданный атрибут (свойство) с заданным значением. Например, тройка (температура, пациент, 37,5) представляет факт «температура больного, обозначается как пациент, равна 37,5 градусов». Такой способ представления фактов принят в системе MYCIN. В более простых случаях факт выражается не конкретным значением атрибута, а каким-нибудь простым утверждением, что может быть истинным или ложным, например «Небо покрыто облаками». В таких случаях факт можно обозначать каким-либо кратким именем или использовать для представления факта сам текст соответствующей фразы.

Правила в базе знаний имеют вид:

ЕСЛИ C Þ ТО D,        где C – условие, D – действие.

Действие D выполняется, если C истинно. Наиболее часто действие, так же, как и условие, представляет собой утверждение.

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

В качестве условия А может выступать или элементарный факт, или несколько фактов соединенных логической операцией И : А и А 1 и А 2 и … А. В математической логике такое выражение называется конъюнкцией.

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

При использовании формально-логической модели, совокупность знаний эксперта о ПрО записывают в следующей форме:

(N), S; U; C Þ   D, P;   где- имя продукции S – характеристика сферы применения продукции; U – условие применения; C Þ   D – ядро (конструкция ЕСЛИ C Þ ТО D) C – конъюнкция элементарных фактов или их отрицаний, D – элементарный факт, P – определяет постусловия продукции выполняются после реализации.

Продукцiйнi правила описывают знания в форме «ЕСЛИ Þ   ТО »и обеспечивают формальный способ изображения указаний, рекомендаций или стратегий. Использование правил упрощает разъяснение того, каким образом система пришла к конкретному выводу. Простота и наглядность этого способа обусловили его использования во многих системах. Но, в случае использования формально-логических моделей возможен описание только обобщенных знаний о действительности.

Ядро продукционного правила для экспертных систем на логико-вероятностных моделях масс вид:

C Þ   (D, W),      где W – оценка правдоподобия выдвинутой гипотезы.

Если оценки W является вероятностями, то эта схема определяет вероятностный вывод, если W – числовые веса, то говорят о примерном вывод, а если W имеет словесные оценки, то вывод называют размытым (нечетким).

Во системой продукций понимается определенный метод организации вычислительного процесса, при котором программа преобразования определенной информационной структуры задается в виде множества правил-продукций. Каждое правило здесь подается в виде «условие применения → действие», или «предпосылка → вывод». Условие применения определяет некоторые требования к определенному состоянию информационной структуры, а действие включает в себя описание операций над информационной структурой, которые нужно выполнить, если ее состояние удовлетворяет этим требованиям. Содержание действий может заключаться в воздействии на управление программой (например, выполнить проверку некоторого набора правил), сводиться к указанию системе о получении определенного вывода (например, добавить новый факт или гипотезу в базу данных).

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

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

К составным частям механизма вывода относятся:

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

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

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

Приведем пример продукционных правила (его внешнее изображение), содержащийся среди знаний в вышеупомянутой системе MYCIN:

ЕСЛИ   Неизвестно, может или нет организм развиваться аэробно

И   Средой для культуры служит кровь,

ИЛИ   Лаборатория попыталась выращивать организм анаэробно

И   Организм способен расти анаэробно

ТО Þ   Существуют основания полагать, что аеробнисть организма неопределенная (0,5) или он анаэробный (0,2).

Здесь 0,5 и 0,2 – коэффициенты правдоподобия указанных утверждений.

Механизм, реализованный как средство вывода в системе продукций, несложен. Он реализует функции поиска в базе знаний, последовательное выполнение операций над знаниями и получения выводов – прямые дедуктивные выводы (прямой цепь суждений) и обратные дедуктивные выводы (обратный цепь суждений). Известно, что дедукция – такая форма мышления, посредством которой определенное мнение логическим путем выводится из мыслей-посылок.

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

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

Метод предполагаемого диагноза, таким образом, требует использования в диагностике диагностических гипотез . Основанием для построения диагностических гипотез служит аналогия, когда при совпадении нескольких симптомов данного больного с симптомами какого-либо заболевания делается предположение, что у больного имеется заболевание, с которым, вероятно, будет больше или меньше совпадения и по другим признакам. Чем меньше есть симптомов, тем более возможными есть разные предположения относительно диагноза.

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

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

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

Недостатком логико-вероятностных моделей и то, что оценки правдоподобия существенно зависят от субъективно заданных для каждого правила условных вероятностей или числовых весов. Более того, небольшие вариации исходных вероятностей могут привести к значительным изменениям в оценке правдоподобия.

Семантические модели

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

Модели знаний типа сеть можно задать в таком общем виде:

Н = <I; C1, C2, …, Cn, G>

где I – множество информационных единиц; С1, C2, …, Cn – типы связей между информационными единицами, G – отображение, задающее общий связь между всеми информационными единицами. В моделях типа сеть, осуществляют классификацию, используется отношение структуризации. Такие сети позволяют в базах знаний вводить разные иерархические отношения между информационными единицами.

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

      сети простого типа , в которых вершины не имеют своей внутренней структуры;

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

      однородные – сети, в которых отношение между вершинами являются одинаковыми;

      неоднородные – сети, в которых отношение между вершинами имеют разную сущность;

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

      сценарии – однородные сети, в которых используется отношение нечеткого порядке.

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

Приведем некоторые правила отражения знаний в виде семантической сети.

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

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

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

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

Итак, среди преимуществ семантических сетей можно выделить:

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

      Возможность отображения структуры, присущей знанием (поскольку отношение элемент-множество, класс-подкласс, часть-целое могут быть явным образом специфицированы). Например, структурное отношение “элемент-множество» связывает верх-понятие и верх-пример, отношение «класс-подкласс» – отдельное понятие с общим. Рекурсивное использование этих отношений позволяет классифицировать и обобщать понятия, осуществляя отделение понятий разного уровня абстракции и устанавливая на множестве объектов предметной области, основанный на отношениях «абстрактное-конкретное». Структурное отношение «часть-целое» связывает объект с его компонентами, или частицами.

Модель типа фрейм

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

Среди общих требований к отображению знаний в виде фреймовых моделей выделяют:

      во фреймовых моделях фрейм является единицей знаний;

      фрейм должен содержать в себе знание как декларативного, так и процедурного типа;

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

В сетях фреймов можно выделить несколько уровней узлов, иерархически связаны между собой. Каждому такому узлу соответствует определенный его описание. Для узлов высшего уровня таким описанием служат названия элементов стереотипной ситуации, которые являются общими и действительными для определенного множества конкретных ситуаций. Описание вершин нижнего уровня (терминалов) состоит из названия данного терминала, элемента-наполнителя и описания данного наполнителя. Позиция наполнителей в фрейме фиксируется при распознании определенной ситуации. Наполнителем может быть ссылки на другого фрейма – «субфрейму», который изображает собой более четкую ситуацию.

В фреймовых моделях фиксируется четкая структура информационных единиц, которая называется протофрейма . Она имеет такой общий вид:

Имя фрейма:

Имя слота 1: значение слота 1;

Имя слота 2: значение слота 2;

Имя слота n: значение слота n.

Здесь имя фрейма – это идентификатор, который присваивается фреймовые. В фреймовой системе он должен быть единственным.

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

Слоты , в свою очередь, могут принимать вид определенной структуры данных. Значение слота несет в себе конкретную информацию относительно понятия, описываемого определенным фреймом. Это может быть число, математическое отношение, текст, правило вывода, ссылки на другие слоты данного фрейма или на другие фреймы (имя фрейма), набор слотов более низкого уровня, который позволяет реализовать принцип российской «матрешки». При конкретизации фрейма ему и слотам присваиваются определенные имена и производится наполнение слотов.

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

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

Характеристики экспертных систем

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

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

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

      системы, которые предлагают лучшую стратегию. Эти системы отвечают на вопрос: какие дополнительные исследования должны быть сделаны? Что изменить для улучшения лечения? Как лучше сообщить пациенту о его состоянии? Эти системы должны учитывать также финансовые и этические стороны лечения.

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

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

      В консультационной системе пользователь (врач) оказывает необходимую информацию о пациенте, а система выдает диагностическую или терапевтическую совет. Пример: система MYCIN. создана Шортлайфом (Shortliffe) и его коллегами в Стэнфордском Университете.

      В критической системе пользователь (врач) оказывает необходимую информацию о пациенте и информацию о запланированной дальнейшей диагностической или лечебной стратегии. Система делает критический анализ предложений врача и выдает свои рекомендации. Пример: система ATTENDING, создана P. Miller в Йельский Университет.

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

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

2.             Сигнальные системы отслеживают биологические или физиологические параметры пациента и сообщают об отклонении от диапазона.

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

Примеры применения экспертных систем

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

Инфекции крови . Большое влияние на развитие экспертных систем сделала разработана еще в 1970-е годы в Стэнфордском университете система MYCIN, что сейчас считают классической. Эта система диагностирует бактериальные инфекции крови и дает рекомендации по терапии. База знаний системы MYCIN составляет сотни правил типа ЕСЛИ – ТО, которые являются вероятностными, позволяющий принимать правильные решения при ошибочности части данных. Система имеет блок объяснения соображений.

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

Терапия . Наиболее известные примеры диагностических экспертных систем – INTERNIST, CADUCEUS, QMR-системы, разработанные в Университете Питтсбурга. Система INTERNIST охватывает примерно 80% терапии и использует в своей основе сведения о 4500 симптомы и синдромы, 600 болезнях. Каждая болезнь описана примерно 80 симптомами.

Учитывая симптомы, представленные пациентом, система определяет различные диагностические гипотезы. Исследования показали, что диагнозы, выставляемые системой, приравненные к работе эксперта. Практическое использование системы затруднено из-за больших расходов времени при работе с ней.

Химиотерапия . Система ONCOCIN, разработанная в онкологической клинике Стэнфордского университета, помогает назначению химиотерапии онкологическим больным. Она помогает выбрать терапевтические протоколы, которые могут быть применены к конкретному пациенту, определить дозы химиотерапии и контролировать ход лечения.

Интеграция в медицинскую информационную систему . Система HELP, разработана и внедрена в госпитале Солт-Лейк-Сити, является хорошим примером системы поддержки принятия решений, интегрированной в стационарную информационную систему. Работает она в полуавтоматическом режиме. Система:

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

      анализирует микробиологические данные и сравнивает с другими доступными данными лабораторно-клинических исследований;

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

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

Тенденции развития систем знаний

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

Кроме этих проблем отмечаются следующие конструктивные ограничения для большинства действующих систем:

      сужение области знаний экспертов (сложно строить и поддерживать большие БЗ), что приводит к сужению области действия экспертизы;

      ограничения, накладывает на модель представления знаний использования языка;

      большие трудовые затраты при построении EC;

      недостаточно продуман, или даже отсутствует пояснительный интерфейс;

      трудности функционирования при обработке неправильных ответов пользователей, выходящих за пределы допустимой ПрО.

      ошибки самих EC при выводе решения, бывает трудно проконтролировать;

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

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

Трудоемкость разработки экспертных систем заставляет задаться вопросом: зачем разрабатывать экспертные системы? Не лучше обратиться к опыту экспертов? Но, кроме недостатков, ЕС имеют и достоинства, это:

      постоянство . Профессиональные качества человека-эксперта могут серьезно изменяться;

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

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

      стоимость эксплуатации . Работа высококвалифицированного эксперта дорога, а ЕС дороги в разработке, но дешевые в эксплуатации.

 

 

Искусственные нейронные сети

 

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

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

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

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

 

Параллели из биологии

 

Нейронные сети возникли из исследований в области искусственного интеллекта, а именно, из попыток воспроизвести способность биологических нервных систем обучаться и исправлять ошибки, моделируя низкоуровневую структуру мозга (Patterson, 1996). Основной областью исследований по искусственному интеллекту в 60-е – 80-е годы были экспертные системы. Такие системы основывались на высокоуровневом моделировании процесса мышления (в частности, на представлении, что процесс нашего мышления построен на манипуляциях с символами). Скоро стало ясно, что подобные системы, хотя и могут принести пользу в некоторых областях, не ухватывают некоторые ключевые аспекты человеческого интеллекта. Согласно одной из точек зрения, причина этого состоит в том, что они не в состоянии воспроизвести структуру мозга. Чтобы создать искусственных интеллект, необходимо построить систему с похожей архитектурой.

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

Интенсивность сигнала, получаемого нейроном (а следовательно и возможность его активации), сильно зависит от активности синапсов. Каждый синапс имеет протяженность, и специальные химические вещества передают сигнал вдоль него. Один из самых авторитетных исследователей нейросистем, Дональд Хебб, высказал постулат, что обучение заключается в первую очередь в изменениях “силы” синаптических связей. Например, в классическом опыте Павлова, каждый раз непосредственно перед кормлением собаки звонил колокольчик, и собака быстро научилась связывать звонок колокольчика с пищей. Синаптические связи между участками коры головного мозга, ответственными за слух, и слюнными железами усилились, и при возбуждении коры звуком колокольчика у собаки начиналось слюноотделение.

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

 

Рис. 1 Нейрон

 

Определение ИНС

 

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

Искусственная нейронная сеть это совокупность нейронных элементов и связей между ними.

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

 

Рис. 2 – Искусственный нейрон

 

·                   Нейрон обладает группой синапсов – однонаправленных входных связей, соединенных с выходами других нейронов. Каждый синапс характеризуется величиной синоптической связи или ее весом wi.

·                   Каждый нейрон имеет текущее состояние, которое обычно определяется, как взвешенная сумма его входов:

 

 

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

 

y = f(s)

 

Функция f называется функцией активации.


Рис. 3 – Функция активации

Функция активации может иметь разный вид :

·                   пороговый ( рис. 3.a),

·                   кусочно-линейный ( рис. 3.б),

·                   сигмоид( рис. 3.в, 3.г ).

 

Множество всех нейронов искусственной нейронной сети можно разделить на подмножества – т.н. слои. Взаимодействие нейронов происходит послойно.

Слой искусственной нейронной сети – это множество нейронов на которые в каждый такт времени параллельно поступают сигналы от других нейронов данной сети

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

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

 

Архитектура нейронной сети

 

ИНС может рассматриваться как направленный граф со взвешенными связями, в котором искусственные нейроны являются узлами. По архитектуре связей ИНС могут быть сгруппированы в два класса (рис. 4): сети прямого распространения, в которых графы не имеют петель, и рекуррентные сети, или сети с обратными связями.

 

Рис. 4 – архитектуре связей ИНС

 

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

Сбор данных для нейронной сети

 

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

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

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

Более трудной задачей является работа с данными нечислового характера. Чаще всего нечисловые данные бывают представлены в виде номинальных переменных типа Пол = {Муж , Жен }.

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

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

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

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


Обучение

 

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

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

Существуют три парадигмы обучения: “с учителем”, “без учителя” (самообучение) и смешанная. В первом случае нейронная сеть располагает правильными ответами (выходами сети) на каждый входной пример. Веса настраиваются так, чтобы сеть производила ответы как можно более близкие к известным правильным ответам. Усиленный вариант обучения с учителем предполагает, что известна только критическая оценка правильности выхода нейронной сети, но не сами правильные значения выхода. Обучение без учителя не требует знания правильных ответов на каждый пример обучающей выборки. В этом случае раскрывается внутренняя структура данных или Корреляции между образцами в системе данных, что позволяет распределить образцы по категориям. При смешанном обучении часть весов определяется посредством обучения с учителем, в то время как остальная получается с помощью самообучения.

Теория обучения рассматривает три фундаментальных свойства, связанных с обучением по примерам: емкость, сложность образцов и вычислительная сложность. Под емкостью понимается, сколько образцов может запомнить сеть, и какие функции и границы принятия решений могут быть на ней сформированы. Сложность образцов определяет число обучающих примеров, необходимых для достижения способности сети к обобщению. Слишком малое число примеров может вызвать “переобученность” сети, когда она хорошо функционирует на примерах обучающей выборки, но плохо – на тестовых примерах, подчиненных тому же статистическому распределению. Известны 4 основных типа правил обучения: коррекция по ошибке, машина Больцмана, правило Хебба и обучение методом соревнования.

·                   Правило коррекции по ошибке. При обучении с учителем для каждого входного примера задан желаемый выход d. Реальный выход сети y может не совпадать с желаемым. Принцип коррекции по ошибке при обучении состоит в использовании сигнала (dy) для модификации весов, обеспечивающей постепенное уменьшение ошибки. Обучение имеет место только в случае, когда перцептрон ошибается. Известны различные модификации этого алгоритма обучения.

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

·                   Правило Хебба. Самым старым обучающим правилом является постулат обучения Хебба. Хебб опирался на следующие нейрофизиологические наблюдения: если нейроны с обеих сторон синапса активизируются одновременно и регулярно, то сила синаптической связи возрастает. Важной особенностью этого правила является то, что изменение синаптического веса зависит только от активности нейронов, которые связаны данным синапсом. Это существенно упрощает цепи обучения в реализации VLSI.

·                   Обучение методом соревнования. В отличие от обучения Хебба, в котором множество выходных нейронов могут возбуждаться одновременно, при соревновательном обучении выходные нейроны соревнуются между собой за активизацию. Это явление известно как правило “победитель берет все”. Подобное обучение имеет место в биологических нейронных сетях. Обучение посредством соревнования позволяет кластеризовать входные данные: подобные примеры группируются сетью в соответствии с корреляциями и представляются одним элементом.

При обучении модифицируются только веса “победившего” нейрона. Эффект этого правила достигается за счет такого изменения сохраненного в сети образца (вектора весов связей победившего нейрона), при котором он становится чуть ближе ко входному примеру. На рис. 3 дана геометрическая иллюстрация обучения методом соревнования. Входные векторы нормализованы и представлены точками на поверхности сферы. Векторы весов для трех нейронов инициализированы случайными значениями. Их начальные и конечные значения после обучения отмечены Х на рис. 3а и 3б соответственно. Каждая из трех групп примеров обнаружена одним из выходных нейронов, чей весовой вектор настроился на центр тяжести обнаруженной группы.


Рис. 5

Пример обучения методом соревнования: (а) перед обучением; (б) после обучения.

 

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

В Таблице 1 представлены различные алгоритмы обучения и связанные с ними архитектуры сетей (список не является исчерпывающим). В последней колонке перечислены задачи, для которых может быть применен каждый алгоритм. Каждый алгоритм обучения ориентирован на сеть определенной архитектуры и предназначен для ограниченного класса задач. Кроме рассмотренных, следует упомянуть некоторые другие алгоритмы: Adaline и Madaline, линейный дискриминантный анализ, проекции Саммона, анализ главных компонентов.

 

Таблица 1 – Алгоритмы обучения и связанные с ними архитектуры сетей

 

 Алгоритм обратного распространения

 

Самый известный вариант алгоритма обучения нейронной сети – так называемый алгоритм обратного распространения (back propagation). Существуют современные алгоритмы второго порядка, такие как метод сопряженных градиентов и метод Левенберга-Маркара, которые на многих задачах работают существенно быстрее (иногда на порядок). Алгоритм обратного распространения наиболее прост для понимания, а в некоторых случаях он имеет определенные преимущества. Сейчас мы опишем его, а более продвинутые алгоритмы рассмотрим позже. Разработаны также эвристические модификации этого алгоритма, хорошо работающие для определенных классов задач, – быстрое распространение (Fahlman, 1988) и Дельта-дельта с чертой (Jacobs, 1988).

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

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

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

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

 

Переобучение и обобщение

 

Одна из наиболее серьезных трудностей изложенного подхода заключается в том, что таким образом мы минимизируем не ту ошибку, которую на самом деле нужно минимизировать, – ошибку, которую можно ожидать от сети, когда ей будут подаваться совершенно новые наблюдения. Иначе говоря, мы хотели бы, чтобы нейронная сеть обладала способностью обобщать результат на новые наблюдения. В действительности сеть обучается минимизировать ошибку на обучающем множестве, и в отсутствие идеального и бесконечно большого обучающего множества это совсем не то же самое, что минимизировать “настоящую” ошибку на поверхности ошибок в заранее неизвестной модели явления (Bishop, 1995).

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

Полином (или многочлен) – это выражение, содержащее только константы и целые степени независимой переменной. Вот примеры:

 

y=2x+3

y=3×2+4x+1

 

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

 

Рис 6 – График полинома

 

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

Как же выбрать “правильную” степень сложности для сети? Почти всегда более сложная сеть дает меньшую ошибку, но это может свидетельствовать не о хорошем качестве модели, а о переобучении.

Ответ состоит в том, чтобы использовать механизм контрольной кросс-проверки. Мы резервируем часть обучающих наблюдений и не используем их в обучении по алгоритму обратного распространения. Вместо этого, по мере работы алгоритма, они используются для независимого контроля результата. В самом начале работы ошибка сети на обучающем и контрольном множестве будет одинаковой (если они существенно отличаются, то, вероятно, разбиение всех наблюдений на два множества было неоднородно). По мере того, как сеть обучается, ошибка обучения, естественно, убывает, и, пока обучение уменьшает действительную функцию ошибок, ошибка на контрольном множестве также будет убывать. Если же контрольная ошибка перестала убывать или даже стала расти, это указывает на то, что сеть начала слишком близко аппроксимировать данные и обучение следует остановить. Это явление чересчур точной аппроксимации в процессе обучения и называется переобучением. Если такое случилось, то обычно советуют уменьшить число скрытых элементов и/или слоев, ибо сеть является слишком мощной для данной задачи. Если же сеть, наоборот, была взята недостаточно богатой для того, чтобы моделировать имеющуюся зависимость, то переобучения, скорее всего, не произойдет, и обе ошибки – обучения и проверки – не достигнут достаточного уровня малости.

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

Необходимость многократных экспериментов ведет к тому, что контрольное множество начинает играть ключевую роль в выборе модели, то есть становится частью процесса обучения. Тем самым ослабляется его роль как независимого критерия качества модели – при большом числе экспериментов есть риск выбрать “удачную” сеть, дающую хороший результат на контрольном множестве. Для того, чтобы придать окончательной модели должную надежность, часто (по крайней мере, когда объем обучающих данных это позволяет) поступают так: резервируют еще одно – тестовое множество наблюдений. Итоговая модель тестируется на данных из этого множества, чтобы убедиться, что результаты, достигнутые на обучающем и контрольном множествах реальны, а не являются артефактами процесса обучения. Разумеется, для того чтобы хорошо играть свою роль, тестовое множество должно быть использовано только один раз: если его использовать повторно для корректировки процесса обучения, то оно фактически превратится в контрольное множество.

 

Модели теории адаптивного резонанса

 

Напомним, что дилемма стабильности-пластичности является важной особенностью обучения методом соревнования. Как обучать новым явлениям (пластичность) и в то же время сохранить стабильность, чтобы существующие знания не были стерты или разрушены?

Карпентер и Гроссберг, разработавшие модели теории адаптивного резонанса (ART1, ART2 и ARTMAP), сделали попытку решить эту дилемму. Сеть имеет достаточное число выходных элементов, но они не используются до тех пор, пока не возникнет в этом необходимость. Будем говорить, что элемент распределен (не распределен), если он используется (не используется). Обучающий алгоритм корректирует имеющийся прототип категории, только если входной вектор в достаточной степени ему подобен. В этом случае они резонируют. Степень подобия контролируется параметром сходства k, 0<k<1, который связан также с числом категорий. Когда входной вектор недостаточно подобен ни одному существующему прототипу сети, создается новая категория, и с ней связывается нераспределенный элемент со входным вектором в качестве начального значения прототипа. Если не находится нераспределенного элемента, то новый вектор не вызывает реакции сети.

Чтобы проиллюстрировать модель, рассмотрим сеть ART1, которая рассчитана на бинарный (0/1) вход. Упрощенная схема архитектуры ART1 представлена на рис. 7. Она содержит два слоя элементов с полными связями.

 

Рис.7 – Архитектура ART1

 

Направленный сверху вниз весовой вектор wj соответствует элементу j входного слоя, а направленный снизу вверх весовой вектор i связан с выходным элементом i; i является нормализованной версией wi . Векторы wj сохраняют прототипы кластеров. Роль нормализации состоит в том, чтобы предотвратить доминирование векторов с большой длиной над векторами с малой длиной. Сигнал сброса R генерируется только тогда, когда подобие ниже заданного уровня.

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

 

Многослойный персептрон (MLP)

 

Вероятно, эта архитектура сети используется сейчас наиболее часто. Она была предложена в работе Rumelhart, McClelland (1986) и подробно обсуждается почти во всех учебниках по нейронным сетям. Вкратце этот тип сети был описан выше. Каждый элемент сети строит взвешенную сумму своих входов с поправкой в виде слагаемого и затем пропускает эту величину активации через передаточную функцию, и таким образом получается выходное значение этого элемента. Элементы организованы в послойную топологию с прямой передачей сигнала. Такую сеть легко можно интерпретировать как модель вход-выход, в которой веса и пороговые значения (смещения) являются свободными параметрами модели. Такая сеть может моделировать функцию практически любой степени сложности, причем число слоев и число элементов в каждом слое определяют сложность функции. Определение числа промежуточных слоев и числа элементов в них является важным вопросом при конструировании MLP.

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

 

Обучение многослойного персептрона

 

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

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

В этих рассмотрениях оказывается очень полезным понятие поверхности ошибок. Каждому из весов и порогов сети (т.е. свободных параметров модели; их общее число обозначим через N) соответствует одно измерение в многомерном пространстве. N+1-е измерение соответствует ошибке сети. Для всевозможных сочетаний весов соответствующую ошибку сети можно изобразить точкой в N+1-мерном пространстве, и все такие точки образуют там некоторую поверхность – поверхность ошибок. Цель обучения нейронной сети состоит в том, чтобы найти на этой многомерной поверхности самую низкую точку.

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

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

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


Вероятностная нейронная сеть

 

Задача оценки плотности вероятности (p.d.f.) по данным имеет давнюю историю в математической статистике и относится к области байесовой статистики. Обычная статистика по заданной модели говорит нам, какова будет вероятность того или иного исхода (например, что на игральной кости шесть очков будет выпадать в среднем одном случае из шести). Байесова статистика переворачивает вопрос вверх ногами: правильность модели оценивается по имеющимся достоверным данным. В более общем плане, байесова статистика дает возможность оценивать плотность вероятности распределений параметров модели по имеющимся данных. Для того, чтобы минимизировать ошибку, выбирается модель с такими параметрами, при которых плотность вероятности будет наибольшей.

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

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

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

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

Сеть PNN имеет по меньшей мере три слоя: входной, радиальный и выходной. Радиальные элементы берутся по одному на каждое обучающее наблюдение. Каждый из них представляет гауссову функцию с центром в этом наблюдении. Каждому классу соответствует один выходной элемент. Каждый такой элемент соединен со всеми радиальными элементами, относящимися к его классу, а со всеми остальными радиальными элементами он имеет нулевое соединение. Таким образом, выходной элемент просто складывает отклики всех элементов, принадлежащих к его классу. Значения выходных сигналов получаются пропорциональными ядерным оценкам вероятности принадлежности соответствующим классам, и пронормировав их на единицу, мы получаем окончательные оценки вероятности принадлежности классам.

Базовая модель PNN-сети может иметь две модификации.

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

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

Вероятностная нейронная сеть имеет единственный управляющий параметр обучения, значение которого должно выбираться пользователем, – степень сглаживания (или отклонение гауссовой функции). Как и в случае RBF-сетей, этот параметр выбирается из тех соображений, чтобы шапки ” определенное число раз перекрывались”: выбор слишком маленьких отклонений приведет к “острым” аппроксимирующим функциям и неспособности сети к обобщению, а при слишком больших отклонениях будут теряться детали. Требуемое значение несложно найти опытным путем, подбирая его так, чтобы контрольная ошибка была как можно меньше. К счастью, PNN-сети не очень чувствительны к выбору параметра сглаживания.

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

Существенным недостатком таких сетей является их объем. PNN-сеть фактически вмещает в себя все обучающие данные, поэтому она требует много памяти и может медленно работать.

PNN-сети особенно полезны при пробных экспериментах (например, когда нужно решить, какие из входных переменных использовать), так как благодаря короткому времени обучения можно быстро проделать большое количество пробных тестов.


Обобщенно-регрессионная нейронная сеть

 

Обобщенно-регрессионная нейронная сеть (GRNN) устроена аналогично вероятностной нейронной сети (PNN), но она предназначена для решения задач регрессии, а не классификации. Как и в случае PNN-сети, в точку расположения каждого обучающего наблюдения помещается гауссова ядерная функция. Мы считаем, что каждое наблюдение свидетельствует о некоторой нашей уверенности в том, что поверхность отклика в данной точке имеет определенную высоту, и эта уверенность убывает при отходе в сторону от точки. GRNN-сеть копирует внутрь себя все обучающие наблюдения и использует их для оценки отклика в произвольной точке. Окончательная выходная оценка сети получается как взвешенное среднее выходов по всем обучающим наблюдениям, где величины весов отражают расстояние от этих наблюдений до той точки, в которой производится оценивание (и, таким образом, более близкие точки вносят больший вклад в оценку).

Первый промежуточный слой сети GRNN состоит из радиальных элементов. Второй промежуточный слой содержит элементы, которые помогают оценить взвешенное среднее. Для этого используется специальная процедура. Каждый выход имеет в этом слое свой элемент, формирующий для него взвешенную сумму. Чтобы получить из взвешенной суммы взвешенное среднее, эту сумму нужно поделить на сумму весовых коэффициентов. Последнюю сумму вычисляет специальный элемент второго слоя. После этого в выходном слое производится собственно деление (с помощью специальных элементов “деления”). Таким образом, число элементов во втором промежуточном слое на единицу больше, чем в выходном слое. Как правило, в задачах регрессии требуется оценить одно выходное значение, и, соответственно, второй промежуточный слой содержит два элемента.

Можно модифицировать GRNN-сеть таким образом, чтобы радиальные элементы соответствовали не отдельным обучающим случаям, а их кластерам. Это уменьшает размеры сети и увеличивает скорость обучения. Центры для таких элементов можно выбирать с помощью любого предназначенного для этой цели алгоритма (выборки из выборки, K-средних или Кохонена), и программа ST Neural Networks соответствующим образом корректирует внутренние веса.

Достоинства и недостатки у сетей GRNN в основном такие же, как и у сетей PNN – единственное различие в том, что GRNN используются в задачах регрессии, а PNN – в задачах классификации. GRNN-сеть обучается почти мгновенно, но может получиться большой и медленной (хотя здесь, в отличие от PNN, не обязательно иметь по одному радиальному элементу на каждый обучающий пример, их число все равно будет большим). Как и сеть RBF, сеть GRNN не обладает способностью экстраполировать данные.


Линейная сеть

 

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

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

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


Сеть Кохонена

 

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

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

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

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

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

Сеть Кохонена имеет всего два слоя: входной и выходной, составленный из радиальных элементов (выходной слой называют также слоем топологической карты). Элементы топологической карты располагаются в некотором пространстве – как правило двумерном (в пакете ST Neural Networks реализованы также одномерные сети Кохонена).

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

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

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

·                   Выбрать выигравший нейрон (то есть тот, который расположен ближе всего к входному примеру);

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

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

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

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

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

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

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


Кластеризация

 

Кластеризация предназначена для разбиения совокупности объектов на однородные группы (кластеры или классы). Если данные выборки представить как точки в признаковом пространстве, то задача кластеризации сводится к определению “сгущений точек”.

Цель кластеризации – поиск существующих структур.

Кластеризация является описательной процедурой, она не делает никаких статистических выводов, но дает возможность провести разведочный анализ и изучить “структуру данных”.

Само понятие “кластер” определено неоднозначно: в каждом исследовании свои “кластеры”. Переводится понятие кластер (cluster) как “скопление”, “гроздь”.

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

Характеристиками кластера можно назвать два признака:

·                   внутренняя однородность;

·                   внешняя изолированность.

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

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

В таблице 2 приведено сравнение некоторых параметров задач классификации и кластеризации.


Таблица 2

 

На рис. 8 схематически представлены задачи классификации и кластеризации.

 

Рис. 8 – Сравнение задач классификации и кластеризации

 

Кластеры могут быть непересекающимися, или эксклюзивными (nonoverlapping, exclusive), и пересекающимися (overlapping) .

Схематическое изображение непересекающихся и пересекающихся кластеров дано на рис. 9.

 

Рис. 9 – Непересекающиеся и пересекающиеся кластеры

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

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

Некоторые методы кластерного анализа особенно чувствительны к шумам или выбросам, другие – менее.

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

Данные особенности следует учитывать при выборе метода кластеризации. На сегодняшний день разработано более сотни различных алгоритмов кластеризации.

Краткая характеристика подходов к кластеризации

·                   Алгоритмы, основанные на разделении данных (Partitioning algorithms), в т.ч. итеративные:

o                  разделение объектов на k кластеров;

o                  итеративное перераспределение объектов для улучшения кластеризации.

·                   Иерархические алгоритмы (Hierarchy algorithms):

o                  агломерация: каждый объект первоначально является кластером, кластеры, соединяясь друг с другом, формируют больший кластер и т.д.

·                   Методы, основанные на концентрации объектов (Densitybased methods):

o                  основаны на возможности соединения объектов;

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

·                   Грид-методы (Grid-based methods):

o                  квантование объектов в грид-структуры.

·                   Модельные методы (Model-based):

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

 

 Оценка качества кластеризации

 

Оценка качества кластеризации может быть проведена на основе следующих процедур:

·                   ручная проверка;

·                   установление контрольных точек и проверка на полученных кластерах;

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

·                   создание и сравнение кластеров с использованием различных методов.

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

 

 Процесс кластеризации

 

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

 

Применение кластерного анализа

 

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

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

Кластерный анализ в маркетинговых исследования

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

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

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

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


Список литературы

 

1                   http://ru.wikipedia.org/wiki/Нейронная_сеть

1.                 http://www.statsoft.ru/HOME/TEXTBOOK/modules/stneunet.html

2.                 http://mechanoid.narod.ru/nns/base/index.html#golovko

3.                 http://www.scorcher.ru/neuro/science/neurocomp/mem52.htm

4.                 http://www.neuroproject.ru/neuro.php

5.                 http://habrahabr.ru/blogs/artificial_intelligence/40659/

6.                 http://ru.wikipedia.org/wiki/Кластерный_анализ

7.                 http://www.intuit.ru/department/database/datamining/5/4.html

Leave a Reply

Your email address will not be published. Required fields are marked *

Приєднуйся до нас!
Підписатись на новини:
Наші соц мережі