Pull to refresh

Comments 37

Сколько классных формул, алгоритмов существует. Вот бы еще знать как на практике их применять!
Как раз об этом я хочу написать в следующем посте. Просто если не понимать базовую теорию, о которой я здесь написал, то на практике все становится слишком запутанным.
Практических применений у этих формул — несчетное множество. На вот этой самой формуле Байеса построена вся современная радиотехника. Например, алгоритмы слежения за сигналом — ничто иное, как алгоритмы расчета (в приведенных в статье обозначениях) p(\theta | Data). Где \theta — различные параметры сигнала, а Data — принятый сигнал.
В моем текущем проекте (ИС для выявления мошенничества на производственном предприятии) используется формула Байеса в разновидности алгоритма likelihood ratio test. Для определения вероятности фрода при наличии/отсутствии нескольких фактов, косвенно свидетельствующих в пользу гипотезы о возможности совершения фрода. Алгоритм самообучаем (с обратной связью), т.е. пересчитывает свои коэффициенты (условные вероятности) при фактическом подтверждении или неподтверждении фрода при проверке службой экономической безопасности.

Стоит, наверное, сказать, что подобные методы при проектировании алгоритмов требуют достаточно высокой математической культуры разработчика, т.к. малейшая ошибка в выводе и/или реализации вычислительных формул сведет на нет и дискредитирует весь метод. Вероятностные методы особенно этим грешат, поскольку мышление человека не приспособлено для работы с вероятностными категориями и, соответственно, отсутствует «наглядность» и понимание «физического смысла» промежуточных и итоговых вероятностных параметров. Такое понимание есть лишь для базовых понятий теории вероятностей, а дальше нужно лишь очень аккуратно комбинировать и выводить сложные вещи по законам теории вероятностей — здравый смысл для композитных объектов уже не поможет. С этим, в частности, связаны достаточно серьезные методологические баталии, проходящие на страницах современных книг по философии вероятности, а также большое количество софизмов, парадоксов и задачек-курьезов по этой теме.

Еще один нюанс, с которым пришлось столкнуться — к сожалению, практически все мало-мальски ПОЛЕЗНОЕ НА ПРАКТИКЕ на эту тему написано на английском языке. В русскоязычных источниках в-основном только общеизвестная теория с демонстрационными примерами лишь для самых примитивных случаев.
практически все мало-мальски ПОЛЕЗНОЕ НА ПРАКТИКЕ на эту тему написано на английском языке


На русском языке довольно много материала по байесовым методам содержится в книге В.Ю. Терибежа «Введение в статистическую теорию обратных задач» (2005). В этой книге в основном рассматриваются классические обратные задачи матфизики (типа уравнения Фредгольма первого рода aka восстановление размытого изображения), но все задачи, решаемые с помощью байесовых методов, по сути относятся к классу обратных задач. (Предупреждение: для чтения этой книжки необходима хорошая математическая подготовка.)
UFO landed and left these words here
Сама ИС на методологии COSO Internal Controls основана. Контроли в основном на жестких правилах, но есть ряд задач, когда жестких критериев нарушения нет и нужно выбрать из «генеральной совокупности» бизнес-объектов наиболее подозрительные для последующей ручной проверки. Опыт и знание бизнес-процесса обычно позволяют указать 5-7 вычисляемых событий, которые сами по себе (по отдельности) ничего не значат и «жареными фактами», подтверждающими мошенничество, не являются, но повышают подозрительность. А дальше эти события в совокупности «голосуют» за или против гипотезы о фроде применительно к конкретному бизнес-объекту (экземпляру бизнес-процесса). Формула: Постериорный шанс фрода = (априорный шанс фрода) * LR (событие1) * LR(событие2) *...* LR(событиеN). События должны быть взаимно независимыми, чтобы тупое домножение на LR работало (иначе надо учитывать разные последовательности появления событий и, соответственно, условные шансы, что крайне существенно усложнит формулу).

МГУА глянул — очень сильная вещь, буду изучать, спасибо.
Хоть и на английском, но мне понравилось как разъясняются Байесовские методы в книге Christopher M. Bishop «Pattern Recognition and Machine Learning» — хорошие примеры, много иллюстраций, простой, технический английский.
Сейчас времени не ахти как много, после диплома хочу тоже куда-нибудь это применить. Найти бы ещё простую тему =).
Что касается книжек, то мне очень нравится книга John K. Kruschke «Doing Bayesian Data Analysis: A Tutorial with R and BUGS». Я думаю, это одна из лучших (если не лучшая) практических книг по Байесовскому анализу данных. Она блестяще написана, там приведено большое количество программ на R и после всех глав есть упражнения к этим программам, что позволяет почувствовать теорию на практике.
Еще есть замечательная книга D. Sivia «Data Analysis: A Bayesian Tutorial». Она ориентирована на практику, хотя там не рассматриваются вопросы реализации анализа на каком-либо языке.
И, наконец, Andrew Gelman et all. «Bayesian Data Analysis» — это замечательный учебник, хотя в большей степени теоретический.
А можете привести пару практических задач, где требуется применение Байесовских методов?

P.S. Если в статье было и я пропустил, просто ткните в абзац.
SpamAssasin использует байесовские методы для нахождения спама :)
В принципе их можно применять абсолютно везде (другой вопрос, насколько это целесообразно).
Вообще, есть три цели анализа данных: оценка параметров, прогнозирование данных и сравнение моделей. С помощью байесовских методов можно достичь все три цели.
Из практических примеров, можно назвать следующее, что приходит в голову.
Как писал MAGNUS8, на основе байесовских сетей можно строить системы принятия решений.
Еще одна практическая задача, которой занимаюсь я, состоит в обработке данных физического эксперимента. Есть данные с различных приборов. Причем одни приборы измеряют точно величину параметра, но у них большая неопределенность в координате измерения (то есть измеряют точно, но непонятно где), а другие измеряют в определенном месте, но неточно. С помощью байесовского анализа можно анализировать данные с разных приборов не изолированно, а вместе, за счет чего достигается эффект синергии, и неопределенность в результатах уменьшается.
Еще одна частая задачка в физике и астрономии состоит в следующем. У вас есть сильнозашумленные данные, в которых есть сигналы определенной формы. Но из-за шума вы не можете сказать, в какое время сигналы появлялись и какова их амплитуда. Байесовский анализ в этом поможет.
На основе байесовского анализа вы можете прогнозировать данные. Например, у вас есть исторический тренд какого-то параметра (например, стоимость акций, ВВП и пр.), и вы ходите узнать, с какой вероятностью в следующий момент времени произойдет скачок этого параметра на определенную величину (такой тип задач можно найти и в физике, и в, например, финансах и экономике).
Спасибо за развернутый ответ.
Буду знать какие области стороной обходить.)
Еще одна частая задачка в физике и астрономии состоит в следующем. У вас есть сильнозашумленные данные, в которых есть сигналы определенной формы. Но из-за шума вы не можете сказать, в какое время сигналы появлялись и какова их амплитуда. Байесовский анализ в этом поможет.

А он не превратится в этой ситуации в best-fit по методу наименьших квадратов (если априорных оценок на распределение возможных моментов начала и на закон распределения амплитуд нет)?
Он превратится в метод наименьших квадратов (МНК), если априорное распределение будет равномерным (с широкими границами — иначе апостериорное распределение будет «обрубаться» на границах), а функция правдоподобия — нормальной с известной дисперсией. То есть фактическим МНК является частным случаем общего анализа при определенных предположениях.
Я подумал, что, может быть, лучше продемонстрировать вышесказанное на формулах.
Теорема Байеса:
p(\theta | Data) ~ p(Data | \theta)*p(\theta) — знаменатель я опустил, т.к. он является константов для нормализации.
Если априорное распределение равномерное, то p(\theta) ~ 1/(b-a), где a и b — границы распределения (мы их можем отодвинуть настолько далеко, насколько хотим). Этот член тоже является константой и его можно опустить,
Если мы считаем, что функция правдоподобия нормальная, то
p(Data | \theta) = 1/(sqrt(2*pi)*sigma) * exp(- sum( (Data_i — model)^2 / (2*sigma^2) ))
sum( (Data_i — model)^2 / (2*sigma^2) ) есть как раз сумма \chi^2
итого p(Data | \theta) = 1/(sqrt(2*pi)*sigma) * exp(- sum(\chi^2) )
Коэффициент 1/(sqrt(2*pi)*sigma) есть константа (если sigma нам задано), таким образом, выкидывая все константы, мы получаем выражение для апостериорной вероятности:
p(\theta | Data) ~ exp(- sum(\chi^2) )
Максимум этого выражения будет как раз в точке минимума суммы \chi^2
То есть при предположениях о равномерности априорного распределения, нормальности функции правдоподобия и заданности сигмы, из формулы Байеса непосредственно следует метод наименьших квадратов.
И где же здесь используется заданность сигмы? Достаточно, что она не зависит от времени.
Одинаковость сигмы это частный случай. Строго говоря, она не обязательно должна быть одинаковой. У вас может быть, например, два набора данных с двумя сигмами или вообще для каждой точки будет своя сигма, в этих случаях метод наименьших квадратов тоже применим и необходимо знать сигмы (или, по крайней мере, их отношения).
UFO landed and left these words here
Да, это хороший пример — как, зная неодинаковость шума, учесть её в коэффициентах МНК. Интуитивно это не очень очевидно, а так — можно подумать. Правда, потом возникнет вопрос, насколько можно доверять использованным оценкам шума, и в итоге всё скатится к чему-нибудь самому примитивному… но всякое бывает. Посмотрим…
Эти коэффициетны берутся из соотношений сигм. Например, для двух точек с разными сигмами:
sum(\chi^2) = ( (Data_1 — model_value_at_point_1) / \sigma_1 )^2 + ( (Data_2 — model_value_at_point_2) / \sigma_2 )^2
С точки зрения минимизации, все равно минимизировать ли sum(\chi^2) или эту сумму, поделенную или умноженную на любую константу, поэтому мы ее можем умножить на, например, \sigma_1^2:
sum(\chi^2) * \sigma_1^2 = (Data_1 — model_value_at_point_1) ^2 + ( \sigma_1 / \sigma_1)^2(Data_2 — model_value_at_point_2)^2
Получается, что ( \sigma_1 / \sigma_1)^2 это и есть коэффициент.
Поэтому я говорил, что в наименьших квадратах необходимо знать сигмы или их отношения. В Байесовском анализе это ограничение снимается. Здесь можно саму сигму (или сигмы) считать как параметр и находить его постериорное распределение. Понятно, что эта неопределенность отражается и на результатах (итоговая погрешность увеличивается).
UFO landed and left these words here
Прочитал заголовок как «Введение в бесовские методы». Видимо, надо меньше смотреть новости.
Отличный рассказ о теореме Байеса: yudkowsky.net/rational/bayes (на английском). Там есть очень интересные интерактивные упражнения, с помощью которых можно понять теорему практически интуитивно и к концу статьи самому ее вывести.
Я использовал метод Байеса в своей дипломной работе «Динамические экспертные системы при оценке рисков в страховании». Основной конечно же были генетические алгоритмы в сочетании с методом Байеса.
Написано очень интересно, но некоторые места не совсем понятны. В виду того, что образование гуманитарное, а все остальное самостоятельное изучение «т.к. интересно и хочу знать и применять», то возникает вопрос: какие доп. знания необходимы для полного усвоения материала?
Честно говоря, я затрудняюсь ответить на ваш вопрос. Тут, скорее, все зависит от того, какие именно места непонятны.
В общем, я бы сказал, что хорошо бы прочитать учебник по теории вероятностей.
Если говорить конкретно о Байесовских методах, то можно почитать John K. Kruschke «Doing Bayesian Data Analysis: A Tutorial with R and BUGS» (к сожалению, только на английском). Эта книга написана очень просто и интересно. Мне кажется, что там все рассказывается очень подробно и с нуля.
По сути, вся статья сводится к анализу и иллюстрации собственно формулы Байеса. Это важно и полезно, но было бы интересно прочитать продолжение, более приближенное к реальности — с функциями распределения и их параметрами, а также с неизвестными параметры статистической модели.
Продолжение почти готово.
Собственно, задача этой статьи и была в том, чтобы рассказать о формуле Байеса (да, разочаровывающе, но это так), потому что без нее невозможно понимать весь анализ. Это центральная формула, вокруг которой строится вся теория и практика.
Я то надеялся какие-то интересные приложения увидеть (кроме заезженных спамовых фильтров). А так — тупо пересказ параграфа из стандартного учебника, с сюсюканием и показыванием на пальцах очевидных вещей.

Это не в упрек, а в совет. Хорошая статья должна быть уникальной, со свежими мыслями и новизной.
Честно говоря, я за популяризацию и за то, чтобы рассказывать просто о каких-то вещах, которые люди не знали. Как по мне, так лучше пусть 10 человек увидят впервые (или не впервые) простую картинку и действительно ее поймут, чем 1 человек увидит интересные приложения и удовлетворит свой интерес, а остальные 9 их увидят и сразу закроют.

P.S.
Если вы знаете «стандартный учебник» на русском языке с простым изложением данной темы, дайте ссылку, пожалуйста.
Если вы знаете «стандартный учебник» на русском языке с простым изложением данной темы, дайте ссылку, пожалуйста.

В любом эта тема одинаково хорошо расписана. Я учился по Вентцель, Овчаров «Теория вероятностей и её инженерные приложения».
Странно. У меня все загружается правильно.
А какие именно картинки? Или все?
Only those users with full accounts are able to leave comments. Log in, please.