
- •Теория субд
- •За таблицами – наше будущее!
- •Связываем данные
- •Объектный рай
- •Сетевая база данных
- •Клиент-сервер
- •Особенности клиент-сервера
- •Индексы на сервере
- •Третий уровень
- •Сетевые субд
- •Архитектуры субд: технология локальных (настольных) бд
- •Архитектуры субд: технология "клиент-сервер"
- •В чем сходства и различия?
- •Выбираем бд
- •Кибернетическое будущее за базами знаний
- •Искусственный интеллект
- •Данные и знания
- •Базы знаний и экспертные системы
- •Машинное обучение
- •Анализ данных и olap-технологии
- •Индукция правил и деревья решений
- •Хранилища данных и корпоративная память
- •Машинное обучение – ключ к кибернетическому бессмертию
- •Кофе. Солнце. Базы данных
- •Не microsoft'ом единым. Bde
- •Odbc на практике
- •Форточки и odbc
- •Odbc для пингвина
- •Какие они бывают?
- •Что такое правильная база данных?
- •Нужна наглядная схема!
- •А как это сделать?
Машинное обучение
Иногда требуется решить задачу, обратную построению баз данных. Имеются массивы разрозненных данных, и требуется обнаружить в них скрытые закономерности. Типичный пример - уже упомянутая статистика покупок в интернет-магазине. Кто бы мог подумать, что покупатели клюшек для гольфа также часто интересуют ся дорогими игровыми приставками? Оказывается, многие состоятельные бизнесмены любят делать своим внукам хорошие подарки...
В таких случаях на помощь приходят методы, известные как машинное обучение или извлечение знаний из баз данных. Эти методы способны обнаружить в данных глубинные зависимости и представить их в форме знаний: правил, сетей, групп объектов и т.д. Далее эти знания могут быть использованы в составе базы знаний или интерпретироваться людьми для получения более подробной информации.
Рассмотрим основные методы, используемые в машинном обучении совместно с базами данных. К сожалению, многие интересные современные методы нам не удастся даже упомянуть (к примеру, извлечение структуры web-сайтов и web-сооб-ществ, эволюционное обучение, применение методов машинного обучения к анализу текстов, фильтрации спама и др.).
Анализ данных и olap-технологии
Часто обнаружить какие-либо ценные закономерности в полученных данных только с помощью средств автоматики сложно или организация (она же – заказчик БД) не имеет в штате сотрудников соответствующей квалификации. В этом случае прибегают к технологиям ручного анализа данных, среди которых наиболее распространена технология OLAP (On-Line Analytical Processing). Суть этой технологии - в рассмотрении различных срезов данных с целью выявления закономерностей.
Например, имеется таблица данных о совершенных покупках и о покупателях (рис. 3). Можно сгруппировать суммарную стоимость покупок, с одной стороны, по возрастной категории, а с другой – по категории покупки. Такая группировка позволит выявить тот факт, что покупатели старшего поколения предпочитают книги, в то время как люди моложе отдают предпочтение компакт-дискам. Группируя данные различным образом и оперируя с различными суммарными показателями (среднее, сумма, процент от общего значение и т.д.), аналитик может выявлять различные статистические закономерности, которые потом можно будет применять на практике.
Для использования OLAP-технологий существует множество специализированных программных средств, однако базовые возможности имеются в стандартной офисной программе Microsoft Excel в виде сводных таблиц Pivot Table и графиков Pivot Chart.
Индукция правил и деревья решений
В то время как OLAP-технологии являются лишь инструментом аналитика, существуют методики, позволяющие автоматически находить в данных закономерности и формулировать их в виде правил. Применение алгоритмов извлечения знаний позволяет получать в результате правила следующего вида:
ЕСЛИ дата покупки приходится на декабрь И покупатель приобрел подарочное издание книги ТО покупатель также приобрел подарочную открытку КОЭФФ. УВЕРЕННОСТИ: 80%, ПОКРЫТИЕ: 10%
Указанный коэффициент уверенности 80% означает, что правило выполняется в 80% случаев, а в 20% ситуаций его заключение при истинных посылках оказывается неверным. Покрытие показывает, какой процент данных из общего количества удовлетворяет этому правилу.
Индукция правил по массивам данных может стать альтернативой ручному способу построения баз знаний (рис. 2). Однако полученные в результате правила не всегда правильно отражают закономерности предметной области, поэтому методы машинного обучения скорее подходят для анализа данных в такой последовательности: обработка данных машинными методами, затем изучение полученных результатов экспертами или инженерами по знаниям.
Для индукции правил существуют известные алгоритмы ID3 и C4.5, реализованные во многих специализированных системах для анализа данных и машинного обучения (Orange, iDA и другие). Эти алгоритмы основаны на построении деревьев решений – древовидных диаграмм, наглядно показывающих ход решения задачи (см. рис. 4).
Другой важной задачей, решаемой в рамках машинного обучения, является кластеризация и классификация, в ходе которых множество объектов разбивается на некоторые характерные классы. В случае с интернет-магазином имеет смысл разбивать потребительскую аудиторию по классам интересов (научная фантастика, философия и т.д.) с учетом совершенных ими покупок и затем предлагать каждой категории соответствующую литературу. Более сложная задача классификации – с учетом текста книги относить ее к той или иной смысловой категории.
Задача кластеризации может решаться как на основании обучения с учителем (когда мы заранее задаем множество классов и примеров объектов, попадающих в эти классы), так и путем обучения без учителя, когда задается только число классов, а множества похожих объектов выделяются и группируются алгоритмом самостоятельно. Например, можно попросить алгоритм разбить все множество на три класса, тем самым обнаружив наиболее явные группы покупателей автоматически (это могут быть, к примеру, "техническая литература и фэнтези", "любовные романы и эзотерика" и "поэзия и искусство").
Еще одна разновидность обучения - группа статистических методов, известная как коллаборативная фильтрация. Вполне закономерно, что если большинство покупателей учебника по искусственному интеллекту также приобретают какой-либо носитель с фильмом "Матрица", то новым покупателям подобных книг можно в ненавязчивой форме предлагать и этот товар. Простейшим примером коллаборативной фильтрации являются подсказки интернет-магазинов "вместе с этим товаром также покупают". Отличительной особенностью коллаборативной фильтрации является то, что генерирования знаний по данным не происходит, а список объектов получают с учетом исходных данных чисто статистическими методами .