2013-09-09 3 views
0

У меня есть два уравнения ниже, которые относятся к алгоритмам подгонки модели и прогнозирования наивного классификатора заливов.Наивный байесовский классификатор, объяснение алгоритмов моделирования и прогнозирования

  • Я пытаюсь понять, что делает линия 6 алгоритма 3.2. Я думаю, что он пытается сделать цифры «более приятными», выполнив трюк log-sum-exp, который я до сих пор не понимаю полностью. Может кто-нибудь изложить, почему это нужно/нужно сделать? И конкретно, что аргумент

    logsumexp(Li,:)
    означает// читается как?

  • Также может ли кто-нибудь дать мне хорошее представление о том, для чего предназначены два значения в строке 8 алгоритма 3.1? Являются ли они в основном исходными смещениями/смещениями до Lic в алгоритме 3.2?

enter image description here enter image description here

Из машинного обучения Вероятностный Перспективный Автор Kevin P. Murphy

+0

было бы полезно привести свой источник, поскольку это чужая работа, которую вы цитировали. – TooTone

+0

К сожалению, кредит добавлен. –

+0

Алгоритм 3.2 не имеет строки 8 ... –

ответ

1

Пожалуйста, смотрите ниже. Если вы хотите получить более подробную информацию о математике, вам может быть лучше опубликовать на cross-validated.

Может кто-нибудь изложить, почему трюк log-sum-exp/должен быть выполнен?

Это для численной устойчивости. Если вы ищете «logsumexp», вы увидите несколько полезных объяснений. Например, https://hips.seas.harvard.edu/blog/2013/01/09/computing-log-sum-exp и log-sum-exp trick why not recursive. По сути, процедура позволяет избежать числовой ошибки, которая может возникать при слишком больших или слишком больших числах.

конкретно, что аргумент л я ,: читается как

В i средств возьмите I й подряда, а : средства принимают всех значения из этой строки. Итак, в целом, L i ,: означает i th строка L. Двоеточие : используется в Matlab (и его производной с открытым исходным кодом Octave), что означает «все индексы» при индексировании векторов или матриц.

Может ли кто-нибудь дать мне хорошее представление о том, для чего предназначены два значения в строке 8 алгоритма 3.1?

enter image description here

Это частота, класс C появится в учебных примерах.

enter image description here

Добавление шляпы указывает на то, что эта частота должна быть использована в качестве оценки вероятности класса С, появляющегося в популяции в целом. В терминах Наивного Байеса мы можем видеть эти вероятности как priors.

И точно так же ...

enter image description here

Оценка вероятности J го функция появляется, когда вы ограничиваете свое внимание к классу C. Эти условные вероятности: P (J | c) = вероятность видения признака j заданного класса c - и Наивный в Наив-Байесе означает, что мы считаем, что они независимы.


Примечание: цитаты из вашего вопроса были изменены немного для ясности/удобства экспозиции. не


Редактировать в ответ на ваш комментарий

  • L я ,: вектор
  • N является не из обучающих примеров
  • D размерность данных, т.е. номер функций (каждая функция представляет собой столбец в матрице x, чьи строки являются примерами обучения).
  • Что такое L i ,:? Каждый L i, c выглядит как журнал: предыдущий для класса c умножает произведение всех P (i | c), т. Е. Произведение условных вероятностей видения признаков, например i, данного класса c. Обратите внимание, что есть только два записей в векторе L i ,:, по одному для каждого класса (это двоичная классификация, поэтому есть только два класса).

Используя теорему Байеса, записи из L я ,: можно интерпретировать как лога относительных условных вероятностей обучающего примера я будучи в классе с заданных особенностями I (на самом деле они а не относительные вероятности, потому что каждый из них должен быть разделен на одну и ту же константу, но мы можем смело игнорировать это).

Я не уверен в строке 6 алгоритма 3.2. Если все, что вам нужно сделать, это выяснить, к какому классу относится ваш пример обучения, то для меня кажется достаточным пропустить строку 6 и для использования линии 7 argmax c L ic. Возможно, автор включил строку 6, потому что p ic имеет определенную интерпретацию?

+0

Итак, тогда Ли ,: список? Который мы делаем лог-сумму показателей. Это, в частности, список вероятностей просмотра определенной функции для каждого класса? - Кроме того, N - количество функций, а D - размер данных/функций? –

+0

'Li,:' - вектор, а 'N' - нет примеров обучения. Но я согласен с тем, что 'D' - размерность данных, т. Е. * Число * признаков (каждая функция - это столбец в матрице' x', строки которой являются примерами обучения). Re, что есть 'Li,:', каждый 'Lic' выглядит как предыдущий для c с условными вероятностями просмотра функций, например, для класса c.Обратите внимание, что в векторе 'Li,:' есть только * две * записи, по одному для каждого класса (это двоичная классификация, поэтому есть только два класса). – TooTone

+0

Для получения дополнительной информации о математике, надеюсь, ваша книга даст некоторый контекст; альтернативно, вы можете публиковать на перекрестной проверке с тем, что вы узнали здесь. (Кроме того, я написал некоторые математические статьи в http://stackoverflow.com/questions/17030793/is-taking-logs-to-vectorize-repeated-multiplication-the-right-approach) – TooTone

Смежные вопросы