ベイジアンネットワークからニューラルネットワークへ:多変量回帰を多出力ネットワークに変換する方法


20

私はベイジアン階層線形モデルを扱っています。ここではそれを説明するネットワークです。

問題を記述するグラフィカルモデル

は、スーパーマーケットでの製品の毎日の販売を表します(観測)。Y

は、価格、プロモーション、曜日、天気、休日を含む、回帰変数の既知のマトリックスです。X

私は、各製品のバイナリ変数のベクトル一検討最も問題とさせる、各製品、未知の潜在在庫レベルである 1つのを示す欠品や製品の利用できないようにします。 理論的には不明であったとしても、各製品のHMMを使用して推定したため、Xとして知られていると見なされます。適切な形式のためにシェーディングを解除することにしました。S1

は、単一の製品の混合効果パラメーターであり、考慮される混合効果は製品価格、プロモーション、在庫切れです。η

は固定回帰係数のベクトルで、 b 1 b 2は混合効果係数のベクトルです。1つのグループはブランドを示し、もう1つのグループはフレーバーを示します(これは例であり、実際には多くのグループがありますが、ここではわかりやすくするために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を介したパラメーター推定には数週間かかるため、ニューラルネットワークについて質問します(runJagsで並列チェーンを実行している20製品だけを試してみましたが、数日かかりました) 。しかし、ランダムに行きたくないので、データをブラックボックスとしてニューラルネットワークに渡すだけです。 ネットワークの依存/独立構造を活用したいと思います。

PiSiiY1Y2Y3まったく異なる製品になる可能性があります(オレンジジュース2個と赤ワインについて考える)が、ニューラルネットワークではこの情報を使用しません。グループ化情報が重みの初期化だけで使用されるのか、それとも問題に合わせてネットワークをカスタマイズできるのか、疑問に思います。

ニューラルネットの人形の例

編集、私の考え:

可能な初期化?

Y1Y2Y3

  1. Y1,Y2Y3
  2. 入力と割り当てられたノード(太字のエッジ)の間の高い重みを初期化し、もちろん、データ内の残りの「ランダム性」をキャプチャするために他の非表示ノードを構築します。

よろしくお願いします


@Tomasso Guerriniはここに可能であるあなたのための答え:stats.stackexchange.com/questions/4498/...
アントン・ダニロフ

/:「ニューラルネットワークは、 『グラフ』、彼らは一般的ではないエンコード依存情報を行うには、ノードは確率変数を表すものではありませんが付属していますが」感謝@AntonDanilovは、残念ながら受け入れ答えは言う
トンマーゾGuerrini

1
Stanを試したことがありますか、それとも問題に適していませんか?ハミルトニアンモンテカルロは、ギブスサンプリングよりも桁違いに高速であり、数百(または数千)の変数まで十分にスケーリングできます。
-lacerbi

1
Stanユーザーのメーリングリストに同じ質問を投げかけましたか?彼らは通常、モデルを機能させるために技術的な側面で非常に役立ちます。たとえば、あなたのケースの問題は、より良いパラメーター化で解決できる可能性があります。(ハミルトニアンモンテカルロは、ギブスサンプリングよりもはるかに高速に混合する必要があります。)
lacerbi

1
おそらく、私はそのメーリングリストをスパム送信したと言った方が良いでしょう..ところで、ルイージに感謝します。私は、期限が来ているので、問題を掘り下げる時間がもうない状況にいます。 。STANは素晴らしいツールのように思えますが、学習曲線は信じられないほどのパフォーマンスを実際に実現するために少し急です(今のところJAGSでスピードアップを実現しました)
Tommaso Guerrini

回答:


1

記録のために、私はこれを答えとしてではなく、ただの長いコメントと見なします!金属棒を通る熱の流れをモデル化するために使用されるPDE(熱方程式)は、オプションの価格設定をモデル化するためにも使用できます。私が知っている人は、オプションの価格設定と熱の流れ自体の関係を示唆しようとしませんでした。ダニーロフのリンクからの引用は同じことを言っていると思います。ベイジアングラフとニューラルネットの両方は、グラフの言語を使用して、異なる内部断片間の関係を表現します。ただし、ベイジアングラフは入力変数の相関構造を示し、ニューラルネットのグラフは入力変数から予測関数を作成する方法を示します。これらは非常に異なるものです。
DLで使用されるさまざまな方法は、最も重要な変数を「選択」しようとしますが、それは経験的な問題です。また、変数セット全体または残りの変数の相関構造についてもわかりません。それは単に、生存する変数が予測に最適であることを示唆しているだけです。たとえば、ニューラルネットを見ると、ドイツのクレジットデータセットに導かれます。これは、正しく思い出せば、2000個のデータポイントと5つの従属変数を持っています。試行錯誤を通して、隠れ層が1つだけで、変数を2つだけ使用するネットが、予測に最適な結果をもたらすことがわかると思います。ただし、これはすべてのモデルを構築し、独立したテストセットでテストすることによってのみ発見できます。


異なるデータでの同じモデルのアプリケーションとの比較はできません。ここでは、データは同じであり、モデルは他の方法とは異なります。さらに、ニューラルネットを使用して変数の相関構造を推論しようとはしていません。これは、ベイジアン事後推論によってすでに十分に達成されています。グラフは階層モデルで何が起こるかを描くためだけのものでしたので、「グラフの言語」のことは理解できません(タイトルに誤解しているかもしれませんが、キャッチーなものが必要でした:D)
Tommaso Guerrini

そして、おそらく私はあなたの質問を理解していません。ポイントは、2つのグラフ構造でのエッジの作成方法は互いに関係がないということです。所定のエッジと重みのセットを使用してニューラルネットを定義することもできますが、そのようなネットが正確または有用であると考える理由はありません。ニューラルネット作成の核心は、データが「正しい」重みを決定できるように、逆伝播に似たものを使用することです。
meh

「グラフは、階層モデルで何が起こるかを示すためのものでした」。あるケースでは共分散構造を定義し、モデルは事後的に非常によく解釈できますが、別のケースでは勾配降下を行い、解釈できない場合でも通常(私の場合のように)良好なパフォーマンスが得られます。私の質問は、パフォーマンスの予測を失うことなく、解釈可能性を維持する方法はありますか?それが私がスタックでこれを尋ねた理由であり、編集でそのアイデアを提案する理由です。アイデアを探しています。今、それがあなたにとって明らかであることを望みます。
トンマーゾGuerrini

ネガティブを証明することはできないので、ベイジアンネットワークのグラフとニューラルネットのグラフの間に関連性はないと断言することはできません。私はそのようなつながりについて知識がなく、どんなつながりにも懐疑的であると言えます。ベイジアンネットワークのグラフ構造を使用してニューラルネットワークのグラフ構造を与えることはできますが、ニューラルネットワークの観点からは、これは合理的とは思えません。私は現在、詳細アウト作業に時間を持っていますが、思考実験として独立変数はすべてstatisiticallyたデータセットを想像していない
まあまあ

y=xi+zizi=A×σ1(xi)σziほぼゼロです。しかし、彼らは良いモデルの一部である必要があります。
まあまあ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.