Логическая закономерность
Материал из MachineLearning.
(Новая: '''Логическая закономерность''' (правило, rule) — в задачах классификации — легко интерп...) |
|||
Строка 1: | Строка 1: | ||
- | '''Логическая закономерность''' | + | {{TOCright}} |
+ | '''Логическая закономерность''' в задачах [[классификация|классификации]] — легко интерпретируемое правило (rule), выделяющее из [[обучающая выборка|обучающей выборки]] достаточно много объектов какого-то одного класса и практически не выделяющее объекты остальных классов. | ||
''Логические закономерности'' являются элементарными «строительными блоками» для широкого класса [[Логический классификатор|логических алгоритмов классификации]], называемых также алгоритмами [[индукция правил|индукции правил]] (rule induction). | ''Логические закономерности'' являются элементарными «строительными блоками» для широкого класса [[Логический классификатор|логических алгоритмов классификации]], называемых также алгоритмами [[индукция правил|индукции правил]] (rule induction). | ||
Строка 13: | Строка 14: | ||
Говорят, что предикат <tex>\phi: X\to\{0,1\}</tex> ''выделяет'' или ''покрывает'' (cover) объект <tex>x</tex>, если <tex>\phi(x)=1</tex>. | Говорят, что предикат <tex>\phi: X\to\{0,1\}</tex> ''выделяет'' или ''покрывает'' (cover) объект <tex>x</tex>, если <tex>\phi(x)=1</tex>. | ||
- | |||
- | |||
- | === | + | Пусть <tex>f_j:\:X\to D_j</tex>, <tex>j=1,\ldots,n</tex> — [[признак]]и, с помощью которых описываются объекты. |
- | Предикат <tex>\phi(x)</tex> | + | Признаки могут быть разнотипными, то есть в общем случае множества <tex>D_j</tex> различны. |
+ | Наиболее распространённый случай — когда все признаки числовые: <tex>D_j=\mathbb{R}</tex>. | ||
+ | При этом числами могут кодироваться признаки, измеренные в различных [[Шкала измерения|шкалах]], в частности, бинарные, номинальные и порядковые признаки. | ||
+ | |||
+ | ''Закономерностью'' называется предикат <tex>\phi(x)</tex>, удовлетворяющий требованиям ''интерпретируемости'' и ''информативности''. | ||
+ | |||
+ | К набору закономерностей, образующих [[логический классификатор]], дополнительно предъявляется требование ''взаимодополняемости'' (различности). | ||
+ | |||
+ | == Интерпретируемость == | ||
+ | Предикат <tex>\phi(x)</tex> называется «хорошо интерпретируемым» или ''правилом'', если он описывается простой формулой, понятной экспертам в данной прикладной области. | ||
+ | Строгого формального определения ''интерпретируемости'' не существует. | ||
+ | В большинстве практических задач для интерпретируемости необходимо (но не достаточно), чтобы предикат <tex>\phi(x)</tex> зависел от небольшого числа <tex>K</tex> признаков. | ||
+ | Часто вводится ограничение <tex>1 \leq K \leq 7</tex>. | ||
+ | Кроме того, накладывается ограничение на функциональный вид правил. | ||
+ | Чаще всего применяются конъюнкции, реже — шары или гиперплоскости. | ||
+ | Другие виды правил могут диктоваться спецификой задачи. | ||
+ | |||
+ | === Конъюнкции === | ||
+ | Люди привыкли выражать свой житейский и профессиональный опыт в виде правил вида | ||
+ | «если <tex>\phi(x)</tex>, то относительно объекта <tex>x</tex> принять решение <tex>y</tex>». | ||
+ | Причём в роли <tex>\phi(x)</tex> часто выступают конъюнкции небольшого числа элементарных высказываний. | ||
+ | Такие правила называются ''логическими'': | ||
+ | :<tex>\phi(x) = \prod_{j\in\omega}\bigl[ f_j(x) \leq=\geq a_j\bigr],</tex> | ||
+ | где | ||
+ | <tex>\omega</tex> — подмножество призаков мощности не более <tex>K</tex>, | ||
+ | <tex>a_j</tex> — пороговое значение признака. | ||
+ | Для количественных и порядковых признаков используются знаки сравнения <tex>\leq</tex> или <tex>\geq</tex>; | ||
+ | для бинарных и номинальных — только равенство. | ||
'''Пример''' (из области медицины). | '''Пример''' (из области медицины). | ||
Решается вопрос о целесообразности хирургической операции. | Решается вопрос о целесообразности хирургической операции. | ||
Закономерность: | Закономерность: | ||
- | «'''если''' возраст пациента выше 60 лет и ранее он перенёс инфаркт, | + | «'''если''' возраст пациента выше 60 лет '''и''' ранее он перенёс инфаркт, |
'''то''' операцию не делать — риск отрицательного исхода велик и составляет 60%». | '''то''' операцию не делать — риск отрицательного исхода велик и составляет 60%». | ||
Строка 31: | Строка 57: | ||
'''и''' его зарплата превышает $1000 в месяц, | '''и''' его зарплата превышает $1000 в месяц, | ||
'''и''' сумма кредита не превышает $10000, | '''и''' сумма кредита не превышает $10000, | ||
- | '''то''' кредит можно выдать — риск невозврата мал и составляет | + | '''то''' кредит можно выдать — риск невозврата мал и составляет 2%». |
- | + | Построение логических правил по выборке данных сводится к поиску таких | |
- | + | <tex>\omega</tex> и <tex>\{a_j\}_{j\in\omega}</tex>, | |
+ | при которых информативность правила максимальна. | ||
- | === | + | === Шары === |
+ | |||
+ | === Гиперплоскости === | ||
+ | |||
+ | == Информативность == | ||
Введём четыре величины: | Введём четыре величины: | ||
:<tex>P_y = \sum\nolimits_{i=1}^m [y_i=y]</tex> — число положительных объектов в выборке <tex>X^m</tex>; | :<tex>P_y = \sum\nolimits_{i=1}^m [y_i=y]</tex> — число положительных объектов в выборке <tex>X^m</tex>; | ||
Строка 50: | Строка 81: | ||
логическое, статистическое, энтропийное. | логическое, статистическое, энтропийное. | ||
- | + | == Взаимодополняемость == | |
Набор закономерностей в совокупности должен образовывать алгоритм классификации <tex>a:\:X\to Y</tex>. | Набор закономерностей в совокупности должен образовывать алгоритм классификации <tex>a:\:X\to Y</tex>. | ||
Чаще всего [[логический классификатор]] представляет собой взвешенную сумму закономерностей: | Чаще всего [[логический классификатор]] представляет собой взвешенную сумму закономерностей: | ||
- | :<tex>a(x) = \arg\max_{y\in Y} \sum_{t=1}^T_y \alpha_{yt} \phi_{yt}(x),</tex> | + | :<tex>a(x) = \arg\max_{y\in Y} \sum_{t=1}^{T_y} \alpha_{yt} \phi_{yt}(x),</tex> |
где | где | ||
<tex>\alpha_{yt}</tex> — неотрицательные веса. | <tex>\alpha_{yt}</tex> — неотрицательные веса. | ||
В данной форме могут быть представлены также [[Решающий список|решающие списки]] и [[Решающее дерево|деревья]]. | В данной форме могут быть представлены также [[Решающий список|решающие списки]] и [[Решающее дерево|деревья]]. | ||
- | Требование взаимодополняемости закономерностей означает, что для любого объекта выборки должна найтись закономерность <tex>\phi_{yt}</tex>, выделяющая данный объект. В противном случае алгоритм <tex>a(x)</tex> не сможет классифицировать объект, то есть произойдёт [[отказ от классификации]]. | + | Требование взаимодополняемости закономерностей означает, что для любого объекта выборки должна найтись закономерность <tex>\phi_{yt}</tex>, выделяющая данный объект. |
+ | В противном случае алгоритм <tex>a(x)</tex> не сможет классифицировать объект, то есть произойдёт [[отказ от классификации]]. | ||
+ | |||
+ | Существует много эвристик, направленных на увеличение различности закономерностей и и более равномерное покрытие выборки. | ||
+ | *[[Жадный алгоритм (задача о покрытии)]] | ||
+ | *[[Бустинг правил]] | ||
+ | |||
+ | == Методы поиска закономерностей == | ||
+ | Поиск (или синтез) всех закономерностей по заданной выборке данных является [[NP-полная задача|NP-полной]] задачей [[комбинаторная оптимизация|комбинаторной оптимизации]]. | ||
+ | В общем случае для её решения требуется выполнить полный перебор всех наборов признаков. | ||
+ | Поэтому на практике используются эвристические алгоритмы сокращённого перебора. | ||
+ | |||
+ | *[[Стохастический локальный поиск]] | ||
+ | *[[Алгоритм КОРА]] (поиск в глубину или метод ветвей и границ) | ||
+ | *[[Алгоритм ТЕМП]] (поиск в ширину) | ||
+ | *[[Генетический алгоритм (поиск правил)]] | ||
+ | |||
+ | Для поиска коротких информативных наборов признаков подходят различные методы [[Отбор признаков|отбора признаков]], в том числе: | ||
+ | *[[Add-Del]] | ||
+ | *[[МГУА]] | ||
+ | *[[Генетический алгоритм (отбор признаков)]] | ||
+ | *[[Случайный поиск с адаптацией]] | ||
== Ссылки == | == Ссылки == | ||
== Литература == | == Литература == | ||
+ | #{{П:Журавлёв 2006 Распознавание}} | ||
+ | #{{П:Загоруйко 1999 Прикладные методы анализа данных и знаний}} | ||
+ | #{{П:Загоруйко 1985 Алгоритмы обнаружения эмпирических закономерностей}} | ||
+ | #{{П:Лбов 1981 Методы обработки разнотипных экспериментальных данных}} | ||
{{stub}} | {{stub}} | ||
[[Категория:Логические алгоритмы классификации]] | [[Категория:Логические алгоритмы классификации]] | ||
[[Категория:Энциклопедия анализа данных]] | [[Категория:Энциклопедия анализа данных]] |
Текущая версия
|
Логическая закономерность в задачах классификации — легко интерпретируемое правило (rule), выделяющее из обучающей выборки достаточно много объектов какого-то одного класса и практически не выделяющее объекты остальных классов. Логические закономерности являются элементарными «строительными блоками» для широкого класса логических алгоритмов классификации, называемых также алгоритмами индукции правил (rule induction).
Определения и обозначения
Пусть — пространство объектов, — множество имён классов, — обучающая выборка.
Пусть — фиксированнный класс. Объекты этого класса будем называть положительными (positive examples); объекты остальных классов — отрицательными (negative examples).
Говорят, что предикат выделяет или покрывает (cover) объект , если .
Пусть , — признаки, с помощью которых описываются объекты. Признаки могут быть разнотипными, то есть в общем случае множества различны. Наиболее распространённый случай — когда все признаки числовые: . При этом числами могут кодироваться признаки, измеренные в различных шкалах, в частности, бинарные, номинальные и порядковые признаки.
Закономерностью называется предикат , удовлетворяющий требованиям интерпретируемости и информативности.
К набору закономерностей, образующих логический классификатор, дополнительно предъявляется требование взаимодополняемости (различности).
Интерпретируемость
Предикат называется «хорошо интерпретируемым» или правилом, если он описывается простой формулой, понятной экспертам в данной прикладной области. Строгого формального определения интерпретируемости не существует. В большинстве практических задач для интерпретируемости необходимо (но не достаточно), чтобы предикат зависел от небольшого числа признаков. Часто вводится ограничение . Кроме того, накладывается ограничение на функциональный вид правил. Чаще всего применяются конъюнкции, реже — шары или гиперплоскости. Другие виды правил могут диктоваться спецификой задачи.
Конъюнкции
Люди привыкли выражать свой житейский и профессиональный опыт в виде правил вида «если , то относительно объекта принять решение ». Причём в роли часто выступают конъюнкции небольшого числа элементарных высказываний. Такие правила называются логическими:
где — подмножество призаков мощности не более , — пороговое значение признака. Для количественных и порядковых признаков используются знаки сравнения или ; для бинарных и номинальных — только равенство.
Пример (из области медицины). Решается вопрос о целесообразности хирургической операции. Закономерность: «если возраст пациента выше 60 лет и ранее он перенёс инфаркт, то операцию не делать — риск отрицательного исхода велик и составляет 60%».
Пример (из области банковской деятельности). Решается вопрос о выдаче кредита. Закономерность: «если заёмщик указал в анкете свой домашний телефон, и его зарплата превышает $1000 в месяц, и сумма кредита не превышает $10000, то кредит можно выдать — риск невозврата мал и составляет 2%».
Построение логических правил по выборке данных сводится к поиску таких и , при которых информативность правила максимальна.
Шары
Гиперплоскости
Информативность
Введём четыре величины:
- — число положительных объектов в выборке ;
- — число отрицательных объектов в выборке ;
- — число положительных объектов, выделяемых правилом ;
- — число отрицательных объектов, выделяемых правилом ;
Интуитивно предикат является информативным, если одновременно и . Формализовать это интуитивное требование не так просто. Можно показать на примерах, что «наивные» попытки определить информативность предиката на выборке как функцию приводят к неадекватным результатам. Существует несколько различных формальных определений информативности, в том числе логическое, статистическое, энтропийное.
Взаимодополняемость
Набор закономерностей в совокупности должен образовывать алгоритм классификации . Чаще всего логический классификатор представляет собой взвешенную сумму закономерностей:
где — неотрицательные веса. В данной форме могут быть представлены также решающие списки и деревья.
Требование взаимодополняемости закономерностей означает, что для любого объекта выборки должна найтись закономерность , выделяющая данный объект. В противном случае алгоритм не сможет классифицировать объект, то есть произойдёт отказ от классификации.
Существует много эвристик, направленных на увеличение различности закономерностей и и более равномерное покрытие выборки.
Методы поиска закономерностей
Поиск (или синтез) всех закономерностей по заданной выборке данных является NP-полной задачей комбинаторной оптимизации. В общем случае для её решения требуется выполнить полный перебор всех наборов признаков. Поэтому на практике используются эвристические алгоритмы сокращённого перебора.
- Стохастический локальный поиск
- Алгоритм КОРА (поиск в глубину или метод ветвей и границ)
- Алгоритм ТЕМП (поиск в ширину)
- Генетический алгоритм (поиск правил)
Для поиска коротких информативных наборов признаков подходят различные методы отбора признаков, в том числе:
Ссылки
Литература
- Журавлёв, Ю. И., Рязанов, В. В., Сенько, О. В. «Распознавание». Математические методы. Программная система. Практические применения. — М.: ФАЗИС, 2006. — 176 с. (подробнее)
- Загоруйко Н. Г. Прикладные методы анализа данных и знаний. — Новосибирск: ИМ СО РАН, 1999. — 270 с. — ISBN 5-86134-060-9 (подробнее)
- Публикация:Загоруйко 1985 Алгоритмы обнаружения эмпирических закономерностей
- Публикация:Лбов 1981 Методы обработки разнотипных экспериментальных данных