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

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

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


л


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

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

Методы машинного обучения были применены для решения всех этих конкрет­ных задач и многих других проблем. Разработаны удобные методы, которые могут эффективно использоваться в сложных приложениях. Одна из прикладных областей относится к приобретению знаний для экспертных систем. Накопление знаний про­исходит автоматически на основе примеров, что позволяет устранить узкое место в работе экспертных систем, связанное с приобретением знаний. Еще одним способом использования методов машинного обучения является обнаружение скрытых зако­номерностей в базах данных (Knowledge Discovery in Databases - KDD), называемое также интеллектуальным анализом данных. Данные в базе данных используются в качестве примеров для индуктивного обучения, что позволяет открывать интересные закономерности в больших объемах данных. Например, в результате интеллектуаль­ного анализа данных можно обнаружить, что клиент супермаркета, который покупа­ет спагетти, скорее всего, купит также сыр пармезан, и соответствующим образом организовать торговлю.

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