От байесовских сетей к нейронным сетям: как многомерная регрессия может быть перенесена в сеть с несколькими выходами

20

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

Графическая модель, описывающая проблему

представляет ежедневные продажи продукта в супермаркете (наблюдается).Y

- известная матрица регрессоров, включая цены, акции, день недели, погоду, праздники.X

- неизвестный уровень скрытого запаса каждого продукта, который вызывает большинство проблем и который я считаю вектором двоичных переменных, по одному на каждый продукт, где 1 указывает на дефицит и, следовательно, недоступность продукта. Даже если теоретически неизвестно, я оценил его через HMM для каждого продукта, поэтому его следует считать известным как X.Я просто решил выделить его для правильного формализма.S1

- это параметр смешанного эффекта для любого отдельного продукта, где рассматриваются смешанные эффекты: цена продукта, рекламные акции и запасы.η

- вектор фиксированных коэффициентов регрессии, а b 1 и b 2 - векторы коэффициента смешанных эффектов. Одна группа указывает намарку,а другая указывает навкус(это пример, на самом деле у меня много групп, но я привожу здесь только 2 для ясности).βb1b2

, Σ b 1 и Σ b 2 являются гиперпараметрами над смешанными эффектами.ΣηΣb1Σb2

Поскольку у меня есть данные подсчета, скажем, что я рассматриваю продажи каждого продукта как распределение Пуассона, условно распределенное по регрессорам (даже если для некоторых продуктов справедливо линейное приближение, а для других лучше модель с нулевым завышением). В таком случае я бы выбрал для продукта ( это только для тех, кто интересуется самой байесовской моделью, перейдите к вопросу, если вы находите ее неинтересной или нетривиальной :) ):Y

ΣηIW(α0,γ0)

Σb1IW(α1,γ1)

, α 0 , γ 0 , α 1 , γ 1 , α 2 , γ 2 известны.Σb2IW(α2,γ2)α0,γ0,α1,γ1,α2,γ2

ηN(0,Ση)

b1N(0,Σb1)

b2N(0,Σb2)

, Σ β известно.βN(0,Σβ)Σβ

,λtijk=βXti+ηiXppsti+b1jZtj+b2kZtk

YtijkPoi(exp(λtijk))

, j 1 , , m 1 , k 1 , , m 2i1,,Nj1,,m1k1,,m2

матрица смешанных эффектов для 2 групп, X p p s i, указывающая цену, продвижение и дефицит рассматриваемого продукта. I W обозначает обратные распределения Вишарта, обычно используемые для ковариационных матриц нормальных многомерных априорных значений. Но это не важно здесь. Примером возможного Z i может быть матрица всех цен, или мы можем даже сказать Z i = X i . Что касается априорных значений для дисперсионно-ковариационной матрицы смешанных эффектов, я бы просто попытался сохранить корреляцию между записями, чтобы σ i j было бы положительным, еслиZiXppsiIWZiZi=Xiσij и j - продукты одного бренда или одного и того же вкуса. ij

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

Мои вопросы:

  1. Есть ли способ перенести эту модель в архитектуру нейронной сети? Я знаю, что есть много вопросов, ищущих связь между байесовской сетью, марковскими случайными полями, байесовскими иерархическими моделями и нейронными сетями, но я не нашел ничего, переходящего от байесовской иерархической модели к нейронным сетям. Я задаю вопрос о нейронных сетях, поскольку из-за высокой размерности моей проблемы (учитывая, что у меня 340 продуктов), оценка параметров через MCMC занимает недели (я пробовал только 20 продуктов, работающих в параллельных цепочках в runJags, и это занимало дни) , Но я не хочу идти случайным образом и просто передавать данные в нейронную сеть в виде черного ящика. Я хотел бы использовать структуру зависимости / независимости моей сети.

PiSiiY1Y2Y3может быть совершенно другой продукт (например, 2 апельсиновых сока и красное вино), но я не использую эту информацию в нейронных сетях. Интересно, используется ли информация о группировке только для инициализации веса, или можно настроить сеть для решения этой проблемы.

кукольный пример нейронной сети

Отредактируйте мою идею:

Возможна инициализация?

Y1Y2Y3

  1. Y1,Y2Y3
  2. Я инициализирую большие веса между входами и выделенными узлами (полужирными краями) и, конечно, строю другие скрытые узлы, чтобы зафиксировать оставшуюся «случайность» в данных.

Заранее спасибо за вашу помощь

Томмазо Геррини
источник
@Tomasso Guerrini здесь возможный ответ для вас: stats.stackexchange.com/questions/4498/…
Антон Данилов
спасибо @AntonDanilov, к сожалению, принятый ответ гласит: «Хотя нейронные сети поставляются с« графиками », они обычно не кодируют информацию о зависимостях, а узлы не представляют случайные величины»: /
Томмазо
1
Вы пробовали Стэна , или это не выполнимо для вашей проблемы? Гамильтониан Монте-Карло может быть на несколько порядков быстрее, чем выборка Гиббса, и хорошо масштабируется до сотен (или даже тысяч) переменных.
Lacerbi
1
Вы пытались задать один и тот же вопрос (ы) в списке рассылки пользователей Stan ? Они обычно чрезвычайно полезны с техническими аспектами, чтобы заставить модель работать. Например, возможно, что проблемы в вашем случае могут быть решены с лучшей параметризацией. ( Гамильтониан Монте-Карло должен смешиваться намного быстрее, чем выборка Гиббса.)
lacerbi
1
Наверное, лучше сказать, что я спамил этот список рассылки. Кстати, большое спасибо Луиджи ... Я нахожусь в той ситуации, когда у меня больше нет времени, чтобы разобраться в проблемах, как я должен, так как у меня есть приближающийся крайний срок. Кажется, что STAN - отличный инструмент, но кривая обучения немного крутая, чтобы по-настоящему осознать его невероятную производительность (на данный момент я осознал его ускорение по сравнению с JAGS)
Томмазо

Ответы:

1

Для протокола, я не рассматриваю это как ответ, а просто длинный комментарий! PDE (уравнение теплопроводности), которое используется для моделирования потока тепла через металлический стержень, также можно использовать для моделирования цены опциона. Никто из тех, кого я знаю, никогда не пытался предположить связь между ценами на опционы и тепловым потоком как таковым. Я думаю, что цитата из ссылки Данилова говорит о том же. И байесовские графы, и нейронные сети используют язык графов для выражения отношений между их различными внутренними элементами. Тем не менее, байесовские графики говорят о корреляционной структуре входных переменных, а график нейронной сети говорит о том, как построить функцию прогнозирования из входных переменных. Это очень разные вещи.
Различные методы, используемые в DL, пытаются «выбрать» наиболее важные переменные, но это эмпирический вопрос. Это также не говорит о структуре корреляции всего набора переменных или оставшихся переменных. Это просто говорит о том, что выжившие переменные будут наилучшими для прогнозирования. Например, если вы посмотрите на нейронные сети, вы попадете в набор кредитных данных Германии, который содержит, если я правильно помню, 2000 точек данных и 5 зависимых переменных. Методом проб и ошибок, я думаю, вы обнаружите, что сеть с одним скрытым слоем и использованием только двух переменных дает наилучшие результаты для прогнозирования. Однако это можно обнаружить, только собрав все модели и проверив их на независимом тестовом наборе.

Мех
источник
Я не получаю ваше сравнение с применением одной и той же модели на разных данных: здесь данные одинаковы, а модель отличается, а не наоборот. Кроме того, я не пытаюсь сделать вывод о корреляционной структуре моих переменных, используя нейронную сеть, которая уже хорошо достигается с помощью байесовского постериорного вывода. График был просто для того, чтобы изобразить, что происходит в иерархической модели, поэтому я не понимаю, что такое «язык графиков» (хотя я, возможно, и ввел вас в заблуждение названием, но мне нужен был броский: D)
Томмазо Геррини,
И, возможно, я не понимаю ваш вопрос. Я все еще думаю, что дело в том, что способ создания ребер в двух структурах графа не имеет ничего общего друг с другом. Можно просто определить нейронную сеть с заданным набором ребер и весов, но нет оснований полагать, что такая сеть будет либо точной, либо полезной. Суть создания нейронной сети - использовать что-то похожее на обратное распространение, чтобы позволить данным определять «правильные» веса.
Мех
«График был просто для того, чтобы изобразить, что происходит в иерархической модели». Мы согласны с тем, что в одном случае мы определяем ковариационную структуру, и модель очень хорошо интерпретируется апостериори, в то время как в другом мы позволяем градиентному спуску выполнять свою работу, и даже если он не интерпретируется, он обычно (как в моем случае) приводит к хорошим результатам. Мой вопрос: есть ли способ поддерживать интерпретируемость, не теряя при этом прогнозирования? Вот почему я спросил об этом в стеке, и именно поэтому я предлагаю эту идею в редактировании, я ищу идеи. Надеюсь теперь тебе понятно.
Томмазо
Нельзя доказать отрицательность, поэтому я не могу окончательно сказать, что нет никакой связи между графиками байесовских сетей и графиками нейронных сетей. Я могу сказать, что мне ничего не известно о такой связи, и я глубоко скептически отношусь к любой связи. Хотя можно использовать структуру графа байесовской сети, чтобы дать структуру графа для нейронной сети, с точки зрения нейронной сети это не кажется разумным. Я в настоящее время не хватает времени , чтобы выработать детали, но в качестве мысленного эксперимента представить себе набор данных , где независимые переменные были все statisitically
Мех
y=xi+zizi=A×σ1(xi)σziпримерно ноль. И все же они должны быть частью любой хорошей модели.
Мех