Теория Валианта
Материал из MachineLearning.
м (→Ссылки: литература) |
(дополнение) |
||
Строка 39: | Строка 39: | ||
# Сколько примеров требуется для обучения. | # Сколько примеров требуется для обучения. | ||
== Объем обучающей выборки (Sample complexity) == | == Объем обучающей выборки (Sample complexity) == | ||
- | Определение, | + | Определение |
+ | |||
+ | Связь с параметрами обучения для конечных классов концепций. | ||
+ | |||
+ | Связь с параметрами обучения для беcконечных классов концепций с конечной [[Размерность Вапника-Червоненкиса | размерностью Вапника-Червонескиса]]. | ||
+ | |||
+ | |||
+ | ==Пример: протокол обучения для булевых функций== | ||
+ | Мы хотим изучить некоторую (неизвестную) булеву функцию. Для решения задачи в общем виде требуется протестировать <tex>2^n</tex> наборов для n-арной функции. Ограничим класс возможных функций до класса функций, представимых в конъюктивной нормальной форме с ограниченным числом слагаемых в каждом конъюнкте и попробуем добиться приемлемой сложности обучения. | ||
+ | |||
+ | Пусть имеется t булевых переменных: <tex>p_1 \dots p_t</tex>. Значения переменных будем задавать вектором вида <tex>\{0,1,*\}^t</tex>, где <tex>*</tex> - означает неопределенное значение. Вектор назовем полным, если в нем отсутствуют неопределенные значения. Булева функция F_t отображает двоичные вектора длины t на множество {0,1}. Расширим определение функции на неполные вектора, будем считать, что <tex>F_t(v) = 1</tex> тогда и только когда F(u) = 1 для всех векторов u, полученных дополнением вектора v до полного. Пусть EXAMPLE() выдает наборы, на которых функция <tex>F_t</tex> равна 1. Например, для функции <tex>F_3(p) = p_1p_2+p_3</tex>: EXAMPLE() → (*, *, 1); EXAMPLE() → (1, 1, 0). | ||
+ | |||
+ | Будем считать, что функция изучаема, если существует алгоритм, который работает за полиномиальное от t и h время с параметром уверенности δ > 1 - 1/h и параметром ошибки следующего вида. Выдаваемая функция g такова, что: | ||
+ | # всегда, если g(v) = 1, то <tex>F_t(v) = 1</tex>; | ||
+ | # cумма вероятностей D[v] по всем v таким, что <tex>F_t(v) = 1</tex>, но <tex>g(v) \neq 1</tex>, не превосходит 1/h. | ||
+ | |||
+ | Для функций, представимых в конъюктивной нормальной форме с числом слагаемых равным k можно предложить следующий тривиальный алгоритм нахождения целевой функции. | ||
+ | |||
+ | '''Алгоритм:''' | ||
+ | |||
+ | <code> | ||
+ | g = произведение всех возможных конъюнктов длины k; //инициализация | ||
+ | for(i = 0; i < L; i++) // L — число раудов | ||
+ | v = EXAMPLE(); | ||
+ | for (j = 0; j < m; j++) // m —- число конъюнктов в g | ||
+ | if (конъюнкт <tex>c_j</tex> не равен 1 на v) then удалить конъюнкт <tex>c_j</tex> из g; | ||
+ | return g; | ||
+ | </code> | ||
+ | |||
+ | <tex>L(h,s)</tex> — минимальное целое число такое, что вероятность события: среди <tex>L(h,s)</tex> независимых испытаний по Бернулли с вероятностью успеха h будет меньше чем s успешных, меньше чем 1/h. Верхняя оценка: <tex>L(h,s) \leq 2h(s + \ln h)</tex> | ||
+ | |||
+ | '''Теорема''' Для любого k функция от t переменных, представимая в конъюктивной нормальной форме с числом слагаемых равным k, изучаема через предложенный алгоритм с числом раудов <tex>L = L(h, (2t)^{k+1})</tex>. | ||
== Вычислительная сложность обучения == | == Вычислительная сложность обучения == | ||
Связь PAC-learning с классами сложности (<tex>P \neq NP</tex>), математической криптографией (односторонние функции, криптосистемы) | Связь PAC-learning с классами сложности (<tex>P \neq NP</tex>), математической криптографией (односторонние функции, криптосистемы) |
Версия 17:29, 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)
Определение
Связь с параметрами обучения для конечных классов концепций.
Связь с параметрами обучения для беcконечных классов концепций с конечной размерностью Вапника-Червонескиса.
Пример: протокол обучения для булевых функций
Мы хотим изучить некоторую (неизвестную) булеву функцию. Для решения задачи в общем виде требуется протестировать наборов для n-арной функции. Ограничим класс возможных функций до класса функций, представимых в конъюктивной нормальной форме с ограниченным числом слагаемых в каждом конъюнкте и попробуем добиться приемлемой сложности обучения.
Пусть имеется t булевых переменных: . Значения переменных будем задавать вектором вида , где - означает неопределенное значение. Вектор назовем полным, если в нем отсутствуют неопределенные значения. Булева функция F_t отображает двоичные вектора длины t на множество {0,1}. Расширим определение функции на неполные вектора, будем считать, что тогда и только когда F(u) = 1 для всех векторов u, полученных дополнением вектора v до полного. Пусть EXAMPLE() выдает наборы, на которых функция равна 1. Например, для функции : EXAMPLE() → (*, *, 1); EXAMPLE() → (1, 1, 0).
Будем считать, что функция изучаема, если существует алгоритм, который работает за полиномиальное от t и h время с параметром уверенности δ > 1 - 1/h и параметром ошибки следующего вида. Выдаваемая функция g такова, что:
- всегда, если g(v) = 1, то ;
- cумма вероятностей D[v] по всем v таким, что , но , не превосходит 1/h.
Для функций, представимых в конъюктивной нормальной форме с числом слагаемых равным k можно предложить следующий тривиальный алгоритм нахождения целевой функции.
Алгоритм:
g = произведение всех возможных конъюнктов длины k; //инициализация for(i = 0; i < L; i++) // L — число раудов v = EXAMPLE(); for (j = 0; j < m; j++) // m —- число конъюнктов в g if (конъюнкт не равен 1 на v) then удалить конъюнкт из g; return g;
— минимальное целое число такое, что вероятность события: среди независимых испытаний по Бернулли с вероятностью успеха h будет меньше чем s успешных, меньше чем 1/h. Верхняя оценка:
Теорема Для любого k функция от t переменных, представимая в конъюктивной нормальной форме с числом слагаемых равным k, изучаема через предложенный алгоритм с числом раудов .
Вычислительная сложность обучения
Связь PAC-learning с классами сложности (), математической криптографией (односторонние функции, криптосистемы)
Ссылки
- Valiant L.G. A theory of the learnable // Communications of the ACM. — 1984 T. 27. — С. 1134-1142.
- Goldreich O. Introduction to Complexity Theory // The Weizmann Institute of Science, lecture Notes for a Two-Semester course. — 1999.
- Goldman S.A. Computational Learning Theory // Washington University, lecture Notes. — 1991.
- Anthony M., Biggs N. Computational Learning Theory: An Introduction // Cambridge. University Press. — 1992.