Теория Валианта
Материал из MachineLearning.
(→Вероятно почти корректное обучение: дополнение) |
(дополнение) |
||
Строка 17: | Строка 17: | ||
* Ошибка гипотезы. <tex>err_{f,D}(h)</tex> — вероятность того, что гипотеза h не совпадает с целевой концепцией f на случайном значении x ~ D: <tex>err_{f,D}(h) = Pr_{x \sim D}[f(x) \neq h(x)]</tex>. | * Ошибка гипотезы. <tex>err_{f,D}(h)</tex> — вероятность того, что гипотеза h не совпадает с целевой концепцией f на случайном значении x ~ D: <tex>err_{f,D}(h) = Pr_{x \sim D}[f(x) \neq h(x)]</tex>. | ||
- | === | + | === Алгоритм вероятно почти корректного обучения === |
- | Алгоритм A называется алгоритмом вероятно почти корректного обучения для семейства концепций F, если выполнено следующее: | + | '''Определение:''' Алгоритм A называется алгоритмом вероятно почти корректного обучения для семейства концепций F, если выполнено следующее: |
Для любого n, | Для любого n, | ||
для любой функции <tex>f \in F_n</tex>, | для любой функции <tex>f \in F_n</tex>, | ||
+ | для '''любого''' распределения <tex>D: X_n \rightarrow [0,1]</tex> | ||
для любого параметра ошибки 0 < ε < 1, | для любого параметра ошибки 0 < ε < 1, | ||
для любого параметра уверенности 0 < δ < 1, | для любого параметра уверенности 0 < δ < 1, | ||
для обучающей выборки <tex>{<x^i,f(x^i)>}_{i=1}^{m}</tex> (обучающие примеры — независимые одинаково распределенные случайные величины с распределением D) | для обучающей выборки <tex>{<x^i,f(x^i)>}_{i=1}^{m}</tex> (обучающие примеры — независимые одинаково распределенные случайные величины с распределением D) | ||
- | алгоритм A выдает гипотезу h такую, что | + | алгоритм A выдает гипотезу h такую, что: |
<tex> Pr[err_{f,D}(h) < \epsilon] > 1 - \delta </tex> | <tex> Pr[err_{f,D}(h) < \epsilon] > 1 - \delta </tex> | ||
- | где вероятность определяется распределением примеров D и случайными значениями, используемыми алгоритмом A (алгоритм может быть вероятностным). | + | где вероятность определяется распределением обучающих примеров D и случайными значениями, используемыми алгоритмом A (алгоритм может быть вероятностным). |
+ | <tex>h = A(n,\epsilon,\delta,{<x^i,f(x^i)>}_{i=1}^{m})</tex>. | ||
+ | В данном определении отражен один вариант обучения предложенный Валиантом — с использованием процедуры EXAMPLE(). Процедура EXAMPLE() не имеет входных значений, она возвращает пару <x,f(x)>, где x ~ D. Второй вариант — использование процедуры ORACLE(x). Процедура ORACLE(x) для входного значения x возвращает f(x). | ||
+ | |||
+ | Вопрос эффективности определяется двумя аспектами: | ||
+ | # Вычислительная сложность алгоритма PAC learning. Будем считать, что алгоритм обучения эффективен, если он выполняется за время полиномиальное от n, 1/ε, 1/δ, size(f), где size(f) — длина описания <tex>f \in F_n</tex>. Заметим, что обычно size(f) имеет полиномиальный от n размер. | ||
+ | # Сколько примеров требуется для обучения. | ||
== Объем обучающей выборки (Sample complexity) == | == Объем обучающей выборки (Sample complexity) == | ||
Определение, теоремы | Определение, теоремы |
Версия 11:43, 2 января 2010
![]() | Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |
Теория вероятно почти корректного обучения (теория Валианта, probably approximately correct, PAC-learning) — теория, предложенная Лесли Валиантом в 1984 году для математического анализа машинного обучения. Работа Валианта акцентирует внимание на том, что проблематика вычислительного обучения тесно связана также и с вопросам вычислительной сложности алгоритмов.
В теории вероятно почти корректного обучения обучаемый (learner) получает некоторый набор примеров и должен выбрать некоторую функцию (гипотезу) из определенного класса функций. Цель обучаемого состоит в том, чтобы с высокой вероятностью выбранная функция была, в некотором смысле, «похожа» на истинную гипотезу. Обучаемый должен быть эффективным (то есть использовать в процессе работы приемлемое количество вычислительных ресурсов).
Содержание[убрать] |
Вероятно почти корректное обучение
Основные понятия
- Обучаемый (learner) — объект, участвующий в процессе обучения. В данном контексте обучаемый — алгоритм.
- Объекты на которых выполняется обучение назовём примерами. Поскольку нам будет важна вычислительная сложность, будем считать, что примеры задаются некоторым описанием — булевым вектором.
-
— множество примеров с описанием длины n.
-
— пространство примеров (instance space), множество всех возможных примеров.
-
— (неизвестное) вероятностное распределение на пространстве примеров. x ~ D — означает, что x - случайная величина с распределением D.
- Каждый пример имеет одну пометку, для простоты будем считать, что множество пометок состоит из двух элементов: {0,1}. Концепция(concept) — это функция, отображающая примеры на пометки.
— семейство концепций, подмножество множества всех булевых функций, определенных на множестве X.
-
— целевая концепция: то, что мы ищем в процессе обучения.
- Гипотеза h — некоторая булева функция на множестве
, которую выдает обучаемый. Гипотеза является предсказанием целевой концепции.
- Ошибка гипотезы.
— вероятность того, что гипотеза h не совпадает с целевой концепцией f на случайном значении x ~ D:
.
Алгоритм вероятно почти корректного обучения
Определение: Алгоритм A называется алгоритмом вероятно почти корректного обучения для семейства концепций F, если выполнено следующее:
Для любого n,
для любой функции ,
для любого распределения
для любого параметра ошибки 0 < ε < 1,
для любого параметра уверенности 0 < δ < 1,
для обучающей выборки
(обучающие примеры — независимые одинаково распределенные случайные величины с распределением D)
алгоритм A выдает гипотезу h такую, что:
где вероятность определяется распределением обучающих примеров D и случайными значениями, используемыми алгоритмом A (алгоритм может быть вероятностным).
.
В данном определении отражен один вариант обучения предложенный Валиантом — с использованием процедуры EXAMPLE(). Процедура EXAMPLE() не имеет входных значений, она возвращает пару <x,f(x)>, где x ~ D. Второй вариант — использование процедуры ORACLE(x). Процедура ORACLE(x) для входного значения x возвращает f(x).
Вопрос эффективности определяется двумя аспектами:
- Вычислительная сложность алгоритма PAC learning. Будем считать, что алгоритм обучения эффективен, если он выполняется за время полиномиальное от n, 1/ε, 1/δ, size(f), где size(f) — длина описания
. Заметим, что обычно size(f) имеет полиномиальный от n размер.
- Сколько примеров требуется для обучения.
Объем обучающей выборки (Sample complexity)
Определение, теоремы
Вычислительная сложность обучения
Связь PAC-learning с классами сложности (), математической криптографией (односторонние функции, криптосистемы)
Ссылки
- Valiant L.G. A theory of the learnable // Communications of the ACM. — 1984 T. 27. — С. 1134-1142.