Каков подходящий алгоритм машинного обучения для этого сценария?

Я работаю над проблемой машинного обучения, которая выглядит так:

Входные переменные

 Categorical

   a

   b

   c

   d

 Continuous

   e

Выходные переменные

Discrete(Integers)
    v
    x
    y

Continuous
    z

Основная проблема, с которой я сталкиваюсь, заключается в том, что выходные переменные не полностью независимы друг от друга, и между ними нельзя установить связь. То есть зависимость есть, но не из-за причинно-следственной связи (высокое значение одного значения не означает, что другое значение также будет высоким, но шансы того, что другое значение будет выше, увеличатся)

Примером может быть:

v - Количество показов рекламы

x - количество кликов по объявлению

y - количество конверсий

г - Доход

Теперь, чтобы объявление было нажато, оно должно сначала появиться в поиске, поэтому клик в некоторой степени зависит от показа.

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

Поэтому запуск 4 экземпляров задачи, предсказывающей каждую из выходных переменных, не имеет для меня смысла. На самом деле должен быть какой-то способ предсказать все 4 вместе, заботясь об их неявных зависимостях.

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

Кроме того, выходные переменные не являются категориальными, но на самом деле являются дискретными и непрерывными.

Любые входные данные о том, как решить эту проблему. Также покажите мне существующие реализации для того же и какой набор инструментов использовать для быстрой реализации решения.

Просто случайное предположение - я думаю, что эта проблема может быть нацелена на байесовские сети. Как вы думаете ?


person Shatu    schedule 04.06.2012    source источник
comment
Итак, вы пытаетесь предсказать v, x, y и z, учитывая некоторые входные значения a, b, c, d и e? У вас есть дополнительная информация о a, b, c, d и e?   -  person Sicco    schedule 04.06.2012
comment
a,b,c,d являются категориальными (диапазон от 0 до 5), а e является непрерывным. Какую дополнительную информацию вы ищете?   -  person Shatu    schedule 04.06.2012


Ответы (1)


Байесовские сети подойдут в вашем случае. Ваша сеть также не будет такой огромной, поэтому вы можете жить с точными алгоритмами вывода, такими как исключение графа или дерево соединений. Если вы решите использовать BN, вы можете использовать набор инструментов BN Кевина Мерфи. Вот ссылка на это. Для более общего инструментария, который использует выборку Гиббса для приблизительного вывода Монте-Карло, вы можете использовать BUGS< /а>.

Редактировать:

В качестве примера посмотрите на известный пример разбрызгивателя здесь. Для полностью дискретных переменных вы определяете таблицы условной вероятности, как в ссылке. Например, вы говорите, что учитывая, что сегодня облачно, вероятность дождя равна 0,8. Вы определяете все распределения вероятностей, где график показывает причинно-следственные связи (т. е. если облако, то дождь и т. д.). Затем в качестве запроса вы задаете своему алгоритму вывода такие вопросы, как, учитывая, что трава была мокрой; было ли облачно, шел ли дождь, был ли включен разбрызгиватель и так далее.

Для использования BN необходима системная модель, которая описывается в терминах причинно-следственных связей (направленный ациклический граф) и вероятностных переходов. Если вы хотите узнать параметры своей системы, есть такие методы, как алгоритм EM. Однако изучение структуры графа — действительно сложная задача, и в этом случае подходы машинного обучения с учителем справятся лучше.

person jkt    schedule 04.06.2012
comment
Так будет ли он изучать Граф отношений сам по себе? И будет ли это работать даже для непрерывных выходов? - person Shatu; 04.06.2012
comment
Изучение байесовской сети — сложная задача. Однако, если у вас есть график и вероятности перехода, алгоритмы вывода вернут вам апостериорное распределение любых входных данных с учетом выходных данных. Непрерывные узлы также не проблематичны, учитывая, что у вас есть действительные и согласованные вероятности перехода. - person jkt; 04.06.2012
comment
Я действительно новичок в байесовской сети и все такое. Не могли бы вы рассказать мне, как получить эти вероятности перехода? Может быть, я знаю об этом, но просто пропускаю терминологию. Любые ссылки, указывающие на это? - person Shatu; 04.06.2012
comment
То, что я действительно ищу, - это очень быстрая реализация решения. Я делаю очень быстрое прототипирование. Так что, пожалуйста, не обращайте внимания на мою попытку использовать приготовленную еду :D - person Shatu; 05.06.2012
comment
YBE: Как определяются вероятности перехода в контексте байесовских сетей? - person bayer; 05.06.2012