从贝叶斯网络到神经网络:如何将多元回归转换为多输出网络


20

我正在处理贝叶斯层次线性模型,这里是描述它的网络。

描述问题的图形模型

Y代表超市中某产品的每日销售额(已观察)。

X是已知的回归矩阵,包括价格,促销,星期几,天气,假期。

1S是每种产品的未知潜在库存水平,这会导致最多的问题,并且我认为是二进制变量的向量,每个产品一个,其中表示缺货,因此该产品不可用。 即使在理论上未知,我也通过HMM对每个产品进行了估算,因此可以将其视为X。我只是为了适当的形式主义而决定对它进行着色。1

η是任何单个产品的混合效果参数,其中考虑的混合效果是产品价格,促销和缺货。

b 1 b 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,Σβ),已知。Σβ

λŤ一世Ĵķ=βXŤ一世+η一世XppsŤ一世+b1个ĴžŤĴ+b2ķžŤķ

ÿŤ一世ĴķPØ一世ËXpλŤ一世Ĵķ

Ĵ 1 ... 1 ķ 1 ... 2一世1个ñ,,Ĵ1个1个ķ1个2

X p p š 本人W¯¯ ž ž = X σ ĴĴž一世混合效应的矩阵,表示所考虑产品的价格,促销和缺货。表示逆Wishart分布,通常用于正态多元先验的协方差矩阵。但这在这里并不重要。一个可能的的示例可以是所有价格的矩阵,或者甚至可以说。关于混合效果方差-协方差矩阵的先验,我将尝试保留条目之间的相关性,这样,如果和是同一个品牌或其中一个品牌的产品,则将为正。同样的味道。 Xpps一世一世w ^ž一世ž一世=X一世σ一世Ĵ一世Ĵ

这种模型背后的直觉是,给定产品的销售取决于其价格,是否可获得,还取决于所有其他产品的价格和所有其他产品的缺货。由于我不想为所有系数都使用相同的模型(读取:相同的回归曲线),因此我引入了混合效应,该混合效应通过参数共享利用了数据中的某些组。

我的问题是:

  1. 有没有办法将此模型转换为神经网络体系结构?我知道有很多问题正在寻找贝叶斯网络,马尔可夫随机字段,贝叶斯层次模型和神经网络之间的关系,但是我没有找到从贝叶斯层次模型到神经网络的任何信息。 我问有关神经网络的问题,因为我的问题具有很高的维度(考虑到我有340个产品),通过MCMC进行参数估计需要花费数周的时间(我只尝试了20种在runJags中运行并行链的产品,这花费了几天的时间) 。但是我不想随意,而只是将数据作为黑匣子提供给神经网络。 我想利用我网络的依赖性/独立性结构。

在这里,我只是草绘了一个神经网络。如您所见,顶部的回归变量(和分别表示产品价格和缺货)和那些特定产品的输入(在这里我考虑了价格和缺货)被输入到隐藏层。S i i P一世小号一世一世(蓝色和黑色边缘没有特殊含义,仅是为了使图形更清晰)。此外,可能高度相关,而Y 1 Y 2 Y 3ÿ1个ÿ2ÿ3可能是完全不同的产品(想像一下2个橙汁和红酒),但我不在神经网络中使用此信息。我想知道分组信息是仅用于体重减轻还是可以针对问题定制网络。

神经网络的示例

编辑,我的想法:

可能的初始化?

我的想法是这样的:和以前一样,和是相关产品,而是完全不同的产品。知道这是先验的,我做了两件事:Y 2 Y 3ÿ1个ÿ2ÿ3

  1. 我将隐藏层中的一些神经元预分配给我拥有的任何组,在这种情况下,我有2个组{(),()}。Y 3ÿ1个ÿ2ÿ3
  2. 我在输入和分配的节点(粗体边)之间初始化高权重,当然我构建其他隐藏节点以捕获数据中剩余的“随机性”。

预先感谢您的帮助


@Tomasso里尼在这里可以回答你:stats.stackexchange.com/questions/4498/...
安东丹尼洛夫

谢谢@AntonDanilov,不幸的是,被接受的答案是“虽然神经网络带有“图”,但它们通常不对依赖信息进行编码,并且节点不代表随机变量”:/
Tommaso Guerrini

1
您尝试过Stan还是对您的问题不可行?汉密尔顿蒙特卡洛可以比吉布斯采样快几个数量级,并且可以很好地扩展到数百(甚至数千)个变量。
lacerbi

1
您是否尝试过向Stan用户邮件列表提出相同的问题?通常,它们在技术方面对建立模型非常有用。例如,可以通过更好的参数化解决您所遇到的问题。(哈密顿蒙特卡洛应该混合得多快于Gibbs抽样。)
lacerbi

1
最好说我是该邮件列表的垃圾邮件。.非常感谢Luigi ..我处在这种情况下,由于我的截止日期即将到来,所以我没有更多时间去研究问题了。 。STAN似乎是一个很好的工具,但要真正实现其令人难以置信的性能,学习曲线有些陡峭(到目前为止,我意识到它可以加快JAGS的速度)
Tommaso Guerrini

Answers:


1

作为记录,我不认为这是答案,而只是很长的评论!用于对通过金属棒的热流进行建模的PDE(热方程)也可以用于对期权定价进行建模。据我所知,没有人试图提出期权定价与热流之间的联系。我认为,达尼洛夫(Danilov)链接中的引用是在说同样的话。贝叶斯图和神经网络都使用图的语言来表达其内部不同部分之间的关​​系。但是,贝叶斯图告诉一个有关输入变量的相关结构,而神经网络图告诉一个如何从输入变量构建预测函数。这些是完全不同的东西。
DL中使用的各种方法试图“选择”最重要的变量,但这是一个经验问题。它也没有告诉有关整个变量集或其余变量的相关结构。它仅表明,尚存的变量将最适合predistiton。例如,如果人们查看神经网络,则将其引向德国信用数据集,如果我没有记错的话,该数据集有2000个数据点和5个因变量。通过反复试验,我认为您会发现只有1个隐藏层并且仅使用2个变量的网络可以提供最佳的预测结果。但是,只有通过构建所有模型并在独立测试集上对其进行测试才能发现这一点。


我没有将您与同一模型在不同数据上的应用进行比较:这里的数据是相同的,并且模型是不同的,反之亦然。此外,我不会尝试使用神经网络来推断变量的相关结构,而这已经通过贝叶斯后验推断已经很好地实现了。该图仅用于描述分层模型中发生的情况,因此我不理解“图的语言”(不过,我可能误以为标题了,但我需要一个吸引人的:D)
Tommaso Guerrini

也许我不明白您的问题。我仍然认为关键是,在两个图形结构中创建边的方式彼此无关。可以只用一组给定的边和权重定义一个神经网络,但是没有理由认为这样的网络将是准确的或有用的。创建神经网络的核心是使用类似于反向传播的方法让数据确定“正确”的权重。
meh

“该图只是为了描述分层模型中发生的情况”。我们同意,在一种情况下,我们定义了协方差结构,并且该模型可以很好地解释后验,而在另一种情况下,我们让梯度下降来完成这项工作,即使通常无法解释(如我的情况),也可以取得良好的性能。我的问题是:有没有办法在保持可预测性的同时又不会失去预测性能?这就是为什么我在堆栈上问这个问题,也就是为什么我在编辑中提出这个想法,我在寻找想法。希望您现在明白了。
Tommaso Guerrini

不能证明是否定的,所以我不能说贝叶斯网络图和神经网络图之间没有联系。我可以说我对这样的联系一无所知,并且我对任何联系深表怀疑。虽然可以使用贝叶斯网络的图结构给出神经网络的图结构,但从神经网络的角度来看,这似乎并不合理。我目前没有时间来详细说明细节,但是作为一个思想实验,您可以想象一个数据集,其中所有自变量都是统计上的
meh

ž = × σ - 1X σÿ=X一世+ž一世ž一世=一种×σ-1个X一世σž一世
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.