Определим класс функций для набора из битов. Исправьте два распределения , которые «разумно» отличаются друг от друга (если хотите, их вариационное расстояние составляет не менее , или что-то подобное).p , q ϵ
Теперь каждая функция в этом классе определяется набором из индексов и оценивается следующим образом: если четность выбранных битов равна 0, вернуть случайную выборку из , иначе вернуть случайную выборку из .k S p q
Проблема : Предположим, у меня есть доступ оракула к некоторому из этого класса, и хотя я знаю (или некоторую другую меру расстояния), я не знаю и .ϵ p q
Есть ли какие-либо ограничения на количество вызовов, которые мне нужно сделать для PAC-learn ? Предположительно мой ответ будет в терминах и .n , k ϵ
Примечание : я не указал выходной домен. Опять же, я гибок, но сейчас давайте скажем, что и определены над конечной областью . В общем, меня также интересует случай, когда они определены над (например, если они гауссианы)q [ 1 .. M ] R
источник
Ответы:
Обсуждение в комментариях ниже указывает на то, что я неправильно понял вопрос. Мой ответ основывается на Oracle не принимает никакого ввода и возврата , где х ~ р или х ~ д , в зависимости от F ∈ F . Это явно не то, что просят.( х , ф( х ) ) х ∼ р х ∼ д е∈ F
Поскольку распределение цели является фиксированным для каждой цели , применяется верхняя граница образца PAC (это следует из того факта, что распределение цели для этой границы может даже полностью зависеть от f ∗ ). Следовательно, m ≤ ˜ O ( 1е*∈ F е*
примеров должно быть достаточно, чтобы найти гипотезу ошибки≤ϵwp≥1-δ. Обратите внимание - после просмотра этих примеров нужно найти непротиворечивую гипотезу отF, и это может не соответствовать.
С другой стороны, можно получить почти совпадающую нижнюю границу даже для случая , равномерное распределение, где m ≥ Ω ( V C ( F ) ), примеры все еще требуются (это можно немного улучшить) ,п = q= U m ≥ Ω ( V C ( F) )
Вариационное расстояние между и q , а также k может играть роль в небольшом зазоре между этими границами, но я сомневаюсь в этом.п Q К
источник
def fitness() ...
random_number_generator.set_seed(x)