Pomegranate: سؤال: أخذ عينات من الاحتمال الشرطي

تم إنشاؤها على ٢٨ فبراير ٢٠١٦  ·  18تعليقات  ·  مصدر: jmschrei/pomegranate

أهلا،
لا أعرف ما إذا كان هذا هو المكان المناسب لطرح هذا السؤال ، من فضلك قل لي إذا لم يكن كذلك.
بالنسبة لرسالة الماجستير الخاصة بي ، أود تقدير الاحتمالات المشروطة لمتغيرات عشوائية متعددة يمكن أن تكون منفصلة ومستمرة (خليط من المتغيرات المستمرة والمتقطعة). أعتقد أن هذا يمكن أن يتم باستخدام الرمان من خلال عمل تقدير الكثافة على هذا الخليط والتوزيع المشترك لمتغيرات الأدلة. والنتيجة ستكون كسرًا من مزيجين من التوزيعات ، ولكن ليس توزيعًا مغلقًا. وبالتالي ، لأخذ عينات من التوزيع المشروط ، يجب أن ألجأ إلى أخذ عينات الرفض (أو طريقة MCMC المحسنة). هل هذا صحيح؟

التعليق الأكثر فائدة

تضمين التغريدة ستكون طريقة العينة () رائعة أو ممكنة لترحيل نموذج الرمان إلى PyMC بحيث يمكن أخذ العينات هناك. :)

ال 18 كومينتر

لا يدعم الرمان حاليًا التوزيعات الشرطية المشروطة بالتوزيعات المستمرة للأسف. إنه شيء أريد إضافته قريبًا. الفكرة تبدو معقولة بالرغم من ذلك. قد تفكر في PyMC ، وهي أكثر اكتمالاً في هذا المجال.

من ، إذا جاز لي ، اقتراح. يدعم PyMC أيضًا مخاليط التوزيع ، HMM ، إلخ. ولكن لا توجد طرق مصنع لإنشائها. سيكون من الرائع أن يتمكن الرمان (الذي له واجهة واضحة جدًا) من الاندماج مع طرق أخذ العينات (المُحسَّنة) في PyMC. ربما ، عن طريق تحويل نموذج الرمان إلى نموذج PyMC.

تبدو فكرة معقولة. ومع ذلك ، إذا كان عليّ الوقت لإعداد ذلك ، فسيكون لدي أيضًا الوقت لتنفيذه في الرمان. سيكون لدي بعض الوقت اليوم للعمل على هذه القضايا. إذا كان بإمكانك تقديم نموذج مقتطف الشفرة الذي ترغب في رؤيته يعمل ، يمكنني معرفة ما إذا كان بإمكاني تنفيذه قريبًا.

لم أستخدم الرمان بعد ، فأنا في مرحلة البحث في أكثر مكتبة كاملة عن مشكلتي. لكن مع التوزيعات الشرطية سأحصل على كل شيء. ما لدي هو الكود الحالي الذي أفعل فيه بالضبط ما ذكرته في رسالتي الأولى ، ولكن فقط باستخدام خليط من gaussians (الذي يوجد له اشتقاق مغلق).

تحرير: سأعرض مقتطفًا عن كيفية استخدامه الآن مع sklearn GMM

weighted_fit هي نسخة موسعة من sklearns fit () تتعامل مع البيانات الموزونة

gmm.weighted_fit (بيانات ، وزن_بيانات)

بياناتي عبارة عن متجهات مستمرة ثلاثية الأبعاد [X ، Y ، Z]

ض = 1.2

الفوسفور (X = نان ، X = نان | ع = Z)

(con_mean، con_cov، con_weights) = فائدة.cond_dist_gmm (np.array ([np.nan، np.nan، z])، gmm.means_، gmm._get_covars ()، gmm.weights_)

رمز psueodocode التوضيحي لما أحتاج إلى إضافته. بشكل أساسي ، إذا كان لديك شيء مثل هذا:

a = NormalDistribution( 5, 2 )
b = ConditionalGaussianDistribution( w=[5], w0=2, sigma=2 )

سيحدد ذلك التوزيع الأصل الذي يعد توزيعًا طبيعيًا ، والتوزيع الطبيعي المشروط يتمحور حول الانحدار الخطي للوالدين. كل ما سيكون أكثر ملاءمة لك.

لست متأكدًا مما تطلبه بالضبط. يتم تنفيذ GMMs في الرمان (وأعتقد أنه أسرع من sklearn). هل تبحث عن نماذج خليط غاوسي شرطي؟

لدي GMMs الشرطية.
سأصيغها بشكل مختلف ، بالنظر إلى البيانات ذات المتغيرات المنفصلة والمستمرة على سبيل المثال d = [c1 ، c2 ، d1 ، d2].
أود أن أتمكن من القيام بذلك:

نموذج خليط المكونات k ، لنمذجة البيانات المستمرة [d1 ، d2] ، يكون المتغير متعدد المتغيرات ثنائي الأبعاد لمتجه النموذج [d1 ، d2]

gmm = MixtureDistribution (MultivariateGaussianDistribution1، MultivariateGaussianDistribution2، ...، MultivariateGaussianDistributionk)

توزيع منفصل

cat1 = DiscreteDistribution ([(0،0.1)، (1،0.3)، (2،0.6)])
cat2 = DiscreteDistribution ([(0،0.6)، (1،0.4)])

يحدد النموذج الجديد التوزيع المشترك لكل من البيانات المستمرة والمنفصلة -> p (d)

لا أعتقد أن هذا ممكن ، حتى الآن ، في الرمان

أعتقد أن هذا ربما يكون سبب عدم وضوح ما كنت أقصده بالضبط ، لقد خلطت خليط التوزيع مع التوزيع المشترك المختلط ...

انظر التوزيع المشترك "الحالة المختلطة" في أسفل الصفحة للصياغة الرياضية

d_model = التوزيع المشترك (gmm ، cat1 ، cat2)

تناسب معلمات النموذج مع البيانات

d_model.from_sample (بيانات)

الآن بالنظر إلى أنني أعرف (تقريبًا) الاحتمال المشترك ، أود أن أعرف على سبيل المثال الاحتمال المشترك لـ [c1 ، c2] بالنظر إلى أن d1 = 1 و d2 = 0

cond_d = ConditionalDistr (d_model، [np.nan، np.nan، 1،0])

أنا آسف ، ما زلت لا أفهم تمامًا ما تعنيه. هل تقول أنك تريد أن تكون قادرًا على تحديد التوزيع الشرطي ليكون له كلا الوالدين المستمرين والمنفصلين؟ بشكل أساسي ، شبكة بايزي تحتوي على متغيرات منفصلة ومستمرة؟

نعم ، هذا ما أعتقده. لكنني أجريت المزيد من الأبحاث وسوف أتجنب أي شكل من أشكال طرق أخذ العينات لصالح EM. حتى لو كان هذا يقلل من تعبير نموذجي. لذلك ، إذا كنت ستطبق نموذج المزيج الغاوسي الشرطي (لا يعمل تطبيقي الخاص بشكل صحيح) ، فسيكون ذلك موضع تقدير كبير. يمكنني تقديم الورقة التي استخدمتها ، لكن ربما لديك كل الموارد التي تحتاجها.

بالتأكيد ، أود إلقاء نظرة على الورقة فقط للتأكد من أننا على نفس الصفحة.

هناك طريقتان وجدتهما:
الذي جربته: الملحق أ في العمليات الغوسية للتعلم الآلي
أو الفصل 2 في نماذج خليط غاوسي الشرطي لـ رسم خرائط المخاطر البيئية

هل أحرزت تقدمًا تجاه التوزيع المشروط؟

لم يكن لدي الكثير من الوقت للدخول في شيء بعمق مثل هذا حتى الآن ، أيام زيارة الطلاب المرتقبة هذا الأسبوع. سأعود إلى هذه المسألة قريبا.

هذا سقط تمامًا عن الرادار ، أنا آسف! إذا عملت على هذا قريبًا ، فهل سيكون مفيدًا لك ، أم أنك أكملت أطروحتك؟

لا مشكلة.
وشكرًا لرجوعك إلي ، لكن أطروحتي انتهت.
حظا سعيدا مع مكتبتك.

في 01 سبتمبر 2016 ، الساعة 04:21 ، كتب Jacob Schreiber [email protected] :

هذا سقط تمامًا عن الرادار ، أنا آسف! إذا عملت على هذا قريبًا ، فهل سيكون مفيدًا لك ، أم أنك أكملت أطروحتك؟

-
أنت تتلقى هذا لأنك قمت بتأليف الموضوع.
قم بالرد على هذا البريد الإلكتروني مباشرةً ، أو قم بعرضه على GitHub https://github.com/jmschrei/pomegranate/issues/86#issuecomment -243958007 ، أو قم بكتم صوت الموضوع https://github.com/notifications/unsubscribe-auth/AG5qEFMbUPk0uoKA4JTxdt8JaxTqoM4.

عزيزي jmschrei ما هي

مرحبًاjaSunny. هل يمكنك أن تصف بالضبط ما تريد تنفيذه؟

تضمين التغريدة ستكون طريقة العينة () رائعة أو ممكنة لترحيل نموذج الرمان إلى PyMC بحيث يمكن أخذ العينات هناك. :)

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات