2017-11-21 6 views
0

確率的プログラミングフレームワークのドキュメントでは、MCMCについて多くのことを読むことができますが、プログラミングに関することはあまりありません。私が見ているすべての例は、通常、非常に短くて単純な確率的プログラムしか持っていません。データの入力や結果の出力をカウントしないと、通常は約5-10行のコードになります。だから、プログラミングのようには見えません。誰かが確率的プログラミングのより明確な「プログラミング」部分を説明できますか?

私が理解するように、私は確率的なプログラムを書くことができますので、私の確率的なプログラムが長いほど計算が速くなり、必要なトレーニングデータが少なくて済みます。私は正しい?

たとえば、写真に猫を見つけたいと思ったら、どのように猫がどのように見えるか、どのような説明ができるかを記述した確率的プログラムを書くことができます。そして、より詳細な私の記述はより良い結果になるでしょうか?私に

おかげで、 ドミトリー

答えて

2

は、「probababilisticプログラミングは」ちょうどあなたがprobabilitiy構文を使用したプログラミング言語で、あなたのモデルを書き留め意味します。 Stanは、あなたに無作為変数を示す変数を持つ命令的プログラミング言語を提供します。

StanのドキュメントにはStanのプログラミングに関する200以上のページがありますので、探しているものがわかりません。これは、データ型からパラメータ化、ユーザー定義関数までを網羅しています。ほとんどのイントロやマニュアルのように、例は短い傾向があります。より長いプログラムを見たい場合は、ケーススタディを参照するか、ユーザーフォーラムに従ってください。

大型モデルは必ずしも必要なデータが少ないわけではありません。開始前(前回)にモデルに回答が含まれている情報が多くなればなるほど、必要なデータは少なくなります。あなたが持っているより多くのデータがあれば、より細かい推論を行うことができます。

私はあなたが詳細な手作りのモデルで猫を記述することは多くの運を持っているとは思わない。

+0

ありがとうございました。確率的プログラミングが画像認識領域(猫の問題のような)にどのように役立つのか、いくつかの例を指摘してください。 – RedRus

+1

本当にありません。最近そうなっているシステムは、深い信念のネットワークである傾向があります。これらのモデルは、確率的プログラムではなく、ネットワークトポロジの構成として、TensorFlowやMxNet、Torchなどのフレームワークで指定される傾向があります。エドワードは私が確率的プログラミングと深い信念ネットの境界に知っている最も近いものです。 –

関連する問題