बायेसियन प्रोग्रामिंग

बायेसियन प्रोग्रामिंग एक औपचारिकता और संभाव्यता वितरण को निर्दिष्ट करने और आवश्यक जानकारी से कम जानकारी उपलब्ध होने पर समस्याओं को हल करने की तकनीक रखने की एक पद्धति है।

एडविन थॉम्पसन जेन्स|एडविन टी. जेन्स ने प्रस्तावित किया कि अपूर्ण और अनिश्चित जानकारी के साथ तर्कसंगत तर्क के लिए संभाव्यता को एक विकल्प और तर्क के विस्तार के रूप में माना जा सकता है। उनकी संस्थापक पुस्तक प्रोबेबिलिटी थ्योरी: द लॉजिक ऑफ साइंस में उन्होंने इस सिद्धांत को विकसित किया और प्रस्तावित किया जिसे उन्होंने "रोबोट" कहा, जो नहीं था एक भौतिक उपकरण, लेकिन संभाव्य तर्क को स्वचालित करने के लिए एक अनुमान इंजन - तर्क के बजाय संभाव्यता के लिए एक प्रकार का प्रोलॉग। बायेसियन प्रोग्रामिंग यह इस रोबोट का औपचारिक और ठोस कार्यान्वयन है।

बायेसियन प्रोग्रामिंग को चित्रमय मॉडल  को निर्दिष्ट करने के लिए बीजगणितीय औपचारिकता के रूप में भी देखा जा सकता है, उदाहरण के लिए, बायेसियन नेटवर्क, गतिशील बायेसियन नेटवर्क, कलमन फ़िल्टर या छिपे छिपा हुआ मार्कोव मॉडल दरअसल, बायेसियन प्रोग्रामिंग बायेसियन नेटवर्क की तुलना में अधिक सामान्य है और इसमें संभाव्य कारक ग्राफ़ के बराबर अभिव्यक्ति की शक्ति है।

औपचारिकता
बायेसियन प्रोग्राम संभाव्यता वितरण के एक परिवार को निर्दिष्ट करने का एक साधन है।

बायेसियन कार्यक्रम के घटक तत्व नीचे प्रस्तुत किए गए हैं:

\text{Program} \begin{cases} \text{Description} \begin{cases} \text{Specification} (\pi) \begin{cases} \text{Variables}\\ \text{Decomposition}\\ \text{Forms}\\ \end{cases}\\ \text{Identification (based on }\delta) \end{cases}\\ \text{Question} \end{cases} $$
 * 1) एक प्रोग्राम का निर्माण एक विवरण और एक प्रश्न से होता है.
 * 2) विवरण कुछ विशिष्टताओं का उपयोग करके बनाया गया है ($$\pi$$) जैसा कि प्रोग्रामर द्वारा दिया गया है और डेटा सेट का उपयोग करके विनिर्देश द्वारा पूरी तरह से निर्दिष्ट नहीं किए गए मापदंडों के लिए एक पहचान या सीखने की प्रक्रिया ($$\delta$$).
 * 3) एक विनिर्देश का निर्माण प्रासंगिक चर, एक अपघटन और रूपों के एक सेट से किया जाता है।
 * 4) फॉर्म या तो पैरामीट्रिक फॉर्म हैं या अन्य बायेसियन कार्यक्रमों के प्रश्न हैं।
 * 5) एक प्रश्न निर्दिष्ट करता है कि किस संभाव्यता वितरण की गणना की जानी है।

विवरण
विवरण का उद्देश्य संयुक्त संभाव्यता वितरण की गणना करने की एक प्रभावी विधि निर्दिष्ट करना है यादृच्छिक चर के एक सेट पर $$\left\{ X_{1},X_{2},\cdots,X_{N}\right\}$$ प्रायोगिक डेटा का एक सेट दिया गया $$\delta$$ और कुछ विनिर्देश $$\pi$$. इस संयुक्त संभाव्यता वितरण को इस प्रकार दर्शाया गया है: $$P\left(X_{1}\wedge X_{2}\wedge\cdots\wedge X_{N}\mid\delta\wedge\pi\right)$$. प्रारंभिक ज्ञान निर्दिष्ट करने के लिए $$\pi$$, प्रोग्रामर को निम्नलिखित कार्य करने होंगे:


 * 1) प्रासंगिक यादृच्छिक चर के सेट को परिभाषित करें $$\left\{ X_{1},X_{2},\cdots,X_{N}\right\}$$ जिस पर संयुक्त वितरण परिभाषित किया गया है।
 * 2) संयुक्त वितरण को विघटित करें (इसे प्रासंगिक स्वतंत्रता (संभावना सिद्धांत) या सशर्त संभाव्यता में तोड़ें)।
 * 3) प्रत्येक वितरण के रूपों को परिभाषित करें (उदाहरण के लिए, प्रत्येक चर के लिए, संभाव्यता वितरण की सूची में से एक)।

अपघटन
का एक विभाजन दिया गया है $$\left\{ X_{1},X_{2},\ldots,X_{N}\right\}$$ युक्त $$K$$ उपसमुच्चय, $$K$$ चर परिभाषित हैं $$L_{1},\cdots,L_{K}$$, प्रत्येक इन उपसमुच्चयों में से एक के अनुरूप है। प्रत्येक चर $$L_{k}$$ चरों के संयोजन के रूप में प्राप्त किया जाता है $$\left\{ X_{k_{1}},X_{k_{2}},\cdots\right\}$$ से संबंधित $$k^{th}$$ सबसेट। बेयस प्रमेय के पुनरावर्ती अनुप्रयोग की ओर जाता है:



\begin{align} & P\left(X_{1}\wedge X_{2}\wedge\cdots\wedge X_{N}\mid\delta\wedge\pi\right)\\ ={} & P\left(L_{1}\wedge\cdots\wedge L_{K}\mid\delta\wedge\pi\right)\\ ={} & P\left(L_{1}\mid\delta\wedge\pi\right)\times P\left(L_{2}\mid L_{1}\wedge\delta\wedge\pi\right) \times\cdots\times P\left(L_{K}\mid L_{K-1}\wedge\cdots\wedge L_{1}\wedge\delta\wedge\pi\right)\end{align} $$ सशर्त स्वतंत्रता परिकल्पना तब और अधिक सरलीकरण की अनुमति देती है। एक सशर्त चर के लिए स्वतंत्रता परिकल्पना $$L_{k}$$ कुछ वेरिएबल चुनकर परिभाषित किया गया है $$X_{n}$$ संयोजन में प्रदर्शित होने वाले चरों के बीच $$L_{k-1}\wedge\cdots\wedge L_{2}\wedge L_{1}$$, लेबलिंग $$R_{k}$$ के रूप में इन चुने हुए चर और सेटिंग का संयोजन:



P \left(L_{k}\mid L_{k-1}\wedge\cdots\wedge L_{1}\wedge\delta\wedge\pi\right ) = P\left( L_{k} \mid R_{k}\wedge\delta\wedge\pi \right) $$ फिर हम प्राप्त करते हैं:



\begin{align} & P\left(X_{1}\wedge X_{2}\wedge\cdots\wedge X_{N}\mid\delta\wedge\pi\right)\\ ={} & P\left(L_{1}\mid\delta\wedge\pi\right)\times P\left(L_{2}\mid R_{2}\wedge\delta\wedge\pi\right)\times\cdots\times P\left(L_{K}\mid R_{K}\wedge\delta\wedge\pi\right)\end{align} $$ सरल वितरणों के उत्पाद के रूप में संयुक्त वितरण का ऐसा सरलीकरण है श्रृंखला नियम (संभावना) का उपयोग करके प्राप्त अपघटन कहा जाता है।

यह सुनिश्चित करता है कि प्रत्येक चर कंडीशनिंग के बाईं ओर अधिकतम एक बार दिखाई दे बार, जो गणितीय रूप से मान्य लिखने के लिए आवश्यक और पर्याप्त शर्त है विघटन.

प्रपत्र
प्रत्येक वितरण $$P\left(L_{k}\mid R_{k}\wedge\delta\wedge\pi\right)$$ फिर उत्पाद में दिखाई देना संबद्ध हो जाता है या तो एक पैरामीट्रिक फॉर्म के साथ (यानी, एक फ़ंक्शन $$f_{\mu}\left(L_{k}\right)$$) या किसी अन्य बायेसियन कार्यक्रम के लिए एक प्रश्न $$P\left(L_{k}\mid R_{k} \wedge \delta \wedge \pi \right) = P\left(L\mid R\wedge\widehat{\delta}\wedge\widehat{\pi}\right)$$.

जब यह एक रूप है $$f_{\mu}\left(L_{k}\right)$$, सामान्य रूप में, $$\mu$$ पैरामीटरों का एक वेक्टर है जिस पर निर्भर हो सकता है $$R_{k}$$ या $$\delta$$ अथवा दोनों। सीखना तब होता है जब इनमें से कुछ मापदंडों की गणना डेटा सेट का उपयोग करके की जाती है $$\delta$$.

बायेसियन प्रोग्रामिंग की एक महत्वपूर्ण विशेषता नए बायेसियन प्रोग्राम की परिभाषा के घटकों के रूप में अन्य बायेसियन कार्यक्रमों के प्रश्नों का उपयोग करने की क्षमता है। $$P\left(L_{k}\mid R_{k}\wedge\delta\wedge\pi\right)$$ विनिर्देशों द्वारा परिभाषित किसी अन्य बायेसियन प्रोग्राम द्वारा किए गए कुछ अनुमानों द्वारा प्राप्त किया जाता है $$\widehat{\pi}$$ और डेटा $$\widehat{\delta}$$. यह शास्त्रीय प्रोग्रामिंग में एक सबरूटीन को कॉल करने के समान है और बायेसियन नेटवर्क#पदानुक्रमित मॉडल बनाने का एक आसान तरीका प्रदान करता है।

प्रश्न
एक विवरण दिया गया है (अर्थात्, $$P\left(X_{1}\wedge X_{2}\wedge\cdots\wedge X_{N}\mid\delta\wedge\pi\right)$$), विभाजन द्वारा एक प्रश्न प्राप्त किया जाता है $$\left\{ X_{1},X_{2},\cdots,X_{N}\right\}$$ तीन सेटों में: खोजे गए चर, ज्ञात चर और मुक्त चर.

3 चर $$Searched$$, $$Known$$ और $$Free$$ के रूप में परिभाषित किया गया है से संबंधित चरों का संयोजन ये सेट.

एक प्रश्न को सेट के रूप में परिभाषित किया गया है वितरण का:



P\left(Searched\mid \text{Known}\wedge\delta\wedge\pi\right) $$ के कार्डिनल के रूप में कई त्वरित प्रश्नों से बना है $$Known$$, प्रत्येक तात्कालिक प्रश्न वितरण है:



P\left(\text{Searched}\mid\text{Known}\wedge\delta\wedge\pi\right) $$

अनुमान
संयुक्त वितरण को देखते हुए $$P\left(X_{1}\wedge X_{2}\wedge\cdots\wedge X_{N}\mid\delta\wedge\pi\right)$$, निम्नलिखित सामान्य अनुमान का उपयोग करके किसी भी संभावित प्रश्न की गणना करना हमेशा संभव है:



\begin{align} & P\left(\text{Searched}\mid\text{Known}\wedge\delta\wedge\pi\right)\\ ={} & \sum_\text{Free}\left[P\left( \text{Searched} \wedge \text{Free} \mid \text{Known}\wedge\delta\wedge\pi\right)\right]\\ ={} & \frac{\displaystyle \sum_\text{Free}\left[P\left(\text{Searched}\wedge \text{Free}\wedge \text{Known}\mid\delta\wedge\pi\right)\right]}{\displaystyle P\left(\text{Known}\mid\delta\wedge\pi\right)}\\ ={} & \frac{\displaystyle \sum_\text{Free}\left[P\left(\text{Searched}\wedge \text{Free}\wedge \text{Known}\mid\delta\wedge\pi\right)\right]}{\displaystyle \sum_{\text{Free}\wedge \text{Searched}} \left[P\left(\text{Searched} \wedge \text{Free} \wedge \text{Known}\mid\delta\wedge\pi\right)\right]}\\ ={} & \frac{1}{Z}\times\sum_\text{Free}\left[P\left(\text{Searched}\wedge \text{Free} \wedge \text{Known} \mid \delta\wedge\pi\right)\right]\end{align} $$ जहां पहली समानता हाशिए के नियम से उत्पन्न होती है, वहीं दूसरी बेयस प्रमेय के परिणाम और तीसरा हाशिए के दूसरे अनुप्रयोग से मेल खाता है। हर एक सामान्यीकरण शब्द प्रतीत होता है और इसे एक स्थिरांक द्वारा प्रतिस्थापित किया जा सकता है $$Z$$.

सैद्धांतिक रूप से, यह किसी भी बायेसियन अनुमान समस्या को हल करने की अनुमति देता है। व्यवहार में, हालाँकि, गणना की लागत विस्तृत और सटीक है $$P\left(\text{Searched} \mid \text{Known} \wedge\delta\wedge\pi\right)$$ लगभग सभी मामलों में बहुत बढ़िया है.

संयुक्त वितरण को उसके अपघटन द्वारा प्रतिस्थापित करने पर हमें प्राप्त होता है:



\begin{align} & P\left(\text{Searched}\mid \text{Known}\wedge\delta\wedge\pi\right)\\ = {}& \frac{1}{Z} \sum_\text{Free} \left[\prod_{k=1}^K \left[ P\left( L_{i}\mid K_{i} \wedge \pi \right)\right]\right] \end{align} $$ जो आम तौर पर गणना करने के लिए एक बहुत ही सरल अभिव्यक्ति है, क्योंकि निम्न आयाम वितरण के उत्पाद में अपघटन से समस्या की आयामीता काफी कम हो जाती है।

बायेसियन स्पैम का पता लगाना
बायेसियन स्पैम फ़िल्टरिंग का उद्देश्य जंक ई-मेल को ख़त्म करना है।

समस्या को सूत्रबद्ध करना बहुत आसान है. ई-मेल को वर्गीकृत किया जाना चाहिए दो श्रेणियों में से एक में: गैर-स्पैम या स्पैम। ई-मेल को वर्गीकृत करने के लिए एकमात्र उपलब्ध जानकारी उनकी सामग्री है: शब्दों का एक सेट। क्रम को ध्यान में रखे बिना इन शब्दों का उपयोग करना आमतौर पर शब्दों का थैला कहा जाता है।

क्लासिफायरियर को इसके अलावा अपने उपयोगकर्ता के अनुकूल होने और सीखने में सक्षम होना चाहिए अनुभव से। प्रारंभिक मानक सेटिंग से शुरू करते हुए, क्लासिफायरियर को ऐसा करना चाहिए जब उपयोगकर्ता अपने निर्णय से असहमत हो तो अपने आंतरिक मापदंडों को संशोधित करें। इसलिए यह गैर-स्पैम और के बीच अंतर करने के लिए उपयोगकर्ता के मानदंडों के अनुकूल होगा अवांछित ईमेल। यह अपने परिणामों में सुधार करेगा क्योंकि इसे तेजी से वर्गीकृत ई-मेल का सामना करना पड़ेगा।

चर
इस प्रोग्राम को लिखने के लिए आवश्यक वेरिएबल इस प्रकार हैं:
 * 1) $$Spam$$: एक बाइनरी वैरिएबल, यदि ई-मेल स्पैम नहीं है तो गलत और अन्यथा सत्य।
 * 2) $$W_0,W_1, \ldots, W_{N-1}$$: $$N$$ बाइनरी डेटा। $$W_n$$ सत्य है यदि $$n^{th}$$ शब्दकोश का शब्द पाठ में मौजूद है।

इन $$N + 1$$ बाइनरी वैरिएबल सारी जानकारी को संक्षेप में प्रस्तुत करते हैं एक ई-मेल के बारे में.

अपघटन
संयुक्त वितरण से शुरू करने और बेयस प्रमेय को पुनरावर्ती रूप से लागू करने से हमें प्राप्त होता है:



\begin{align} & P(\text{Spam}\wedge W_{0}\wedge\cdots\wedge W_{N-1})\\ ={} & P(\text{Spam})\times P(W_0 \mid \text{Spam})\times P(W_1 \mid \text{Spam} \wedge W_0)\\ & \times\cdots\\ & \times P\left(W_{N-1}\mid\text{Spam}\wedge W_{0}\wedge\cdots\wedge W_{N-2}\right)\end{align} $$ यह एक सटीक गणितीय अभिव्यक्ति है.

इसे यह मानकर काफी सरल बनाया जा सकता है कि पाठ की प्रकृति (स्पैम या नहीं) को जानते हुए किसी शब्द के प्रकट होने की संभावना दूसरे शब्दों के प्रकट होने से स्वतंत्र है। यह बेयस की भोली-भाली धारणा है और यह इस स्पैम फ़िल्टर को बेयस मॉडल का भोली-भाली बनाती है।

उदाहरण के लिए, प्रोग्रामर यह मान सकता है:



P(W_1\mid\text{Spam} \land W_0) = P(W_1\mid\text{Spam}) $$ अंततः प्राप्त करने के लिए:



P(\text{Spam} \land W_0 \land \ldots     \land W_{N-1}) = P(\text{Spam})\prod_{n=0}^{N-1}[P(W_n\mid\text{Spam})] $$ इस प्रकार की धारणा को नाइव बेयस क्लासिफायर|नाइव बेयस धारणा के रूप में जाना जाता है। यह इस अर्थ में अनुभवहीन है कि शब्दों के बीच की स्वतंत्रता स्पष्ट रूप से पूर्णतः सत्य नहीं है। उदाहरण के लिए, यह पूरी तरह से उपेक्षा करता है कि शब्दों के जोड़े की उपस्थिति पृथक उपस्थिति से अधिक महत्वपूर्ण हो सकती है। हालाँकि, प्रोग्रामर इस परिकल्पना को मान सकता है और यह परीक्षण करने के लिए मॉडल और संबंधित निष्कर्ष विकसित कर सकता है कि यह कितना विश्वसनीय और कुशल है।

पैरामीट्रिक फॉर्म
संयुक्त वितरण की गणना करने में सक्षम होने के लिए, प्रोग्रामर को अब निर्दिष्ट करना होगा $$N + 1$$ अपघटन में प्रकट होने वाले वितरण:

कहाँ $$a^n_f$$ की उपस्थिति की संख्या को दर्शाता है $$n^{th}$$ गैर-स्पैम ई-मेल में शब्द और $$a_f$$ गैर-स्पैम ई-मेल की कुल संख्या को दर्शाता है। इसी प्रकार, $$a_t^n$$ की उपस्थिति की संख्या को दर्शाता है $$n^{th}$$ स्पैम ई-मेल में शब्द और $$a_t$$ स्पैम ई-मेल की कुल संख्या को दर्शाता है।
 * 1) $$P(\text{Spam})$$ उदाहरण के लिए, पूर्व परिभाषित है $$P([\text{Spam}=1]) = 0.75 $$
 * 2) हरेक $$N$$ फार्म $$P(W_n\mid\text{Spam})$$ उत्तराधिकार के लाप्लास नियम का उपयोग करके निर्दिष्ट किया जा सकता है (यह पीपीएम संपीड़न एल्गोरिदम का मुकाबला करने के लिए एक छद्म गिनती-आधारित एन-ग्राम # स्मूथिंग तकनीक है। शब्दों की शून्य-आवृत्ति समस्या जो पहले कभी नहीं देखी गई):
 * 3) $$P(W_n\mid[\text{Spam}=\text{false}])=\frac{1+a^n_f}{2+a_f}$$
 * 4) $$P(W_n\mid[\text{Spam}=\text{true}])=\frac{1+a^n_t}{2+a_t}$$

पहचान
$$N$$ h> प्रपत्र $$P(W_n\mid\text{Spam})$$ अभी तक पूरी तरह से निर्दिष्ट नहीं हैं क्योंकि $$2N + 2$$ पैरामीटर $$a_f^{n=0, \ldots, N-1}$$, $$a_t^{n=0, \ldots, N-1}$$, $$a_f$$ और $$a_t$$ अभी तक कोई मूल्य नहीं है.

इन मापदंडों की पहचान या तो वर्गीकृत ई-मेल की एक श्रृंखला के बैच प्रसंस्करण द्वारा या ई-मेल के आने पर उपयोगकर्ता के वर्गीकरण का उपयोग करके मापदंडों के वृद्धिशील अद्यतन द्वारा की जा सकती है।

दोनों तरीकों को जोड़ा जा सकता है: सिस्टम एक सामान्य डेटाबेस से जारी किए गए इन मापदंडों के प्रारंभिक मानक मूल्यों के साथ शुरू हो सकता है, फिर कुछ वृद्धिशील शिक्षा प्रत्येक व्यक्तिगत उपयोगकर्ता के लिए क्लासिफायरियर को अनुकूलित करती है।

प्रश्न
कार्यक्रम से पूछा गया प्रश्न यह है: किसी दिए गए पाठ के स्पैम होने की क्या संभावना है, यह जानते हुए कि इस पाठ में कौन से शब्द दिखाई देते हैं और कौन से शब्द दिखाई नहीं देते हैं? इसे इसके द्वारा औपचारिक रूप दिया जा सकता है:


 * $$P (\text{Spam}\mid w_0 \wedge\cdots\wedge w_{N-1} )$$

जिसकी गणना इस प्रकार की जा सकती है:


 * $$\begin{align}

& P(\text{Spam}\mid w_{0}\wedge\cdots\wedge w_{N-1} )\\ ={} & \frac{\displaystyle P(\text{Spam}) \prod_{n=0}^{N-1} [ P(w_{n}\mid\text{Spam})]}{\displaystyle \sum_\text{Spam} [P(\text{Spam}) \prod_{n=0}^{N-1} [P (w_{n}\mid\text{Spam})]]}\end{align}$$ हर एक सामान्यीकृत स्थिरांक प्रतीत होता है। यह तय करने के लिए कि हम स्पैम से निपट रहे हैं या नहीं, इसकी गणना करना आवश्यक नहीं है। उदाहरण के लिए, अनुपात की गणना करना एक आसान तरकीब है:



\begin{align} & \frac{P([\text{Spam}=\text{true}]\mid w_0\wedge\cdots\wedge w_{N-1})}{P([ \text{Spam} = \text{false} ]\mid w_0 \wedge\cdots\wedge w_{N-1})}\\ ={} & \frac{P([ \text{Spam}=\text{true} ] )}{P([ \text{Spam} =\text{false} ])}\times\prod_{n=0}^{N-1} \left[\frac{P(w_n\mid [\text{Spam}=\text{true}])}{P(w_n\mid [\text{Spam} = \text{false}])}\right] \end{align} $$ यह गणना तेज़ और आसान है क्योंकि इसके लिए केवल आवश्यकता होती है $$2N$$ उत्पाद.

बायेसियन प्रोग्राम
बायेसियन स्पैम फ़िल्टर प्रोग्राम पूरी तरह से परिभाषित है:



\Pr \begin{cases} Ds \begin{cases} Sp (\pi) \begin{cases} Va: \text{Spam},W_0,W_1 \ldots W_{N-1} \\ Dc: \begin{cases} P(\text{Spam} \land W_0 \land \ldots \land W_n \land \ldots \land W_{N-1})\\ = P(\text{Spam})\prod_{n=0}^{N-1}P(W_n\mid\text{Spam}) \end{cases}\\ Fo: \begin{cases} P(\text{Spam}): \begin{cases} P([\text{Spam}=\text{false}])=0.25 \\ P([\text{Spam}=\text{true}])=0.75 \end{cases}\\ P(W_n\mid\text{Spam}): \begin{cases} P(W_n\mid[\text{Spam}=\text{false}])\\ =\frac{1+a^n_f}{2+a_f} \\ P(W_n\mid[\text{Spam}=\text{true}])\\ =\frac{1+a^n_t}{2+a_t} \end{cases} \\ \end{cases}\\ \end{cases}\\ \text{Identification (based on }\delta) \end{cases}\\ Qu: P(\text{Spam}\mid w_0 \land \ldots \land w_n \land \ldots \land w_{N-1}) \end{cases} $$

बायेसियन फ़िल्टर, कलमैन फ़िल्टर और छिपा हुआ मार्कोव मॉडल
बायेसियन फिल्टर (अक्सर पुनरावर्ती बायेसियन अनुमान कहा जाता है) समय विकसित होने वाली प्रक्रियाओं के लिए सामान्य संभाव्य मॉडल हैं। कई मॉडल इस सामान्य दृष्टिकोण के विशेष उदाहरण हैं, उदाहरण के लिए: कलमैन फ़िल्टर या हिडन मार्कोव मॉडल (एचएमएम)।

चर

 * चर $$S^{0},\ldots,S^{T}$$ राज्य चर की एक समय श्रृंखला है जिसे समय क्षितिज पर माना जाता है $$0$$ को $$T$$.
 * चर $$O^{0},\ldots,O^{T}$$ एक ही क्षितिज पर अवलोकन चर की एक समय श्रृंखला है।

अपघटन
अपघटन आधारित है:
 * पर $$P(S^t \mid S^{t-1})$$, जिसे सिस्टम मॉडल, संक्रमण मॉडल या गतिशील मॉडल कहा जाता है, जो समय पर राज्य से संक्रमण को औपचारिक बनाता है $$t-1$$ समय पर राज्य के लिए $$t$$;
 * पर $$P(O^t\mid S^t)$$, जिसे अवलोकन मॉडल कहा जाता है, जो व्यक्त करता है कि समय पर क्या देखा जा सकता है $$t$$ जब सिस्टम स्थिति में हो $$S^t$$;
 * समय पर प्रारंभिक अवस्था में $$0$$: $$P(S^0 \wedge O^0)$$.

पैरामीट्रिकल फॉर्म
पैरामीट्रिकल फॉर्म सीमित नहीं हैं और अलग-अलग विकल्प अलग-अलग प्रसिद्ध मॉडल की ओर ले जाते हैं: नीचे कलमैन फिल्टर और हिडन मार्कोव मॉडल देखें।

प्रश्न
ऐसे मॉडलों के लिए सामान्य प्रश्न है $$P\left(S^{t+k}\mid O^{0}\wedge\cdots\wedge O^{t}\right)$$: समय पर राज्य के लिए संभाव्यता वितरण क्या है $$t + k$$ अवलोकनों को तुरंत जानना $$0$$ को $$t$$?

सबसे आम मामला बायेसियन फ़िल्टरिंग का है $$k=0$$, जो पिछली टिप्पणियों को जानकर, वर्तमान स्थिति की खोज करता है।

हालाँकि, यह भी संभव है $$(k>0)$$, अतीत की टिप्पणियों से भविष्य की स्थिति का अनुमान लगाना, या स्मूथिंग करना $$(k<0)$$, उस क्षण से पहले या बाद में किए गए अवलोकनों से पिछली स्थिति को पुनर्प्राप्त करना।

अधिक जटिल प्रश्न भी पूछे जा सकते हैं जैसा कि नीचे एचएमएम अनुभाग में दिखाया गया है।

बायेसियन फ़िल्टर $$(k=0)$$ इनमें एक बहुत ही रोचक पुनरावर्ती गुण होता है, जो उनके आकर्षण में बहुत योगदान देता है। $$P\left(S^{t}|O^{0}\wedge\cdots\wedge O^{t}\right)$$ से आसानी से गणना की जा सकती है $$P\left(S^{t-1}\mid O^0 \wedge \cdots \wedge O^{t-1}\right)$$ निम्नलिखित सूत्र के साथ:



\begin{array}{ll} & P\left(S^{t}|O^{0}\wedge\cdots\wedge O^{t}\right)\\ = & P\left(O^{t}|S^{t}\right)\times\sum_{S^{t-1}}\left[P\left(S^{t}|S^{t-1}\right)\times P\left(S^{t-1}|O^{0}\wedge\cdots\wedge O^{t-1}\right)\right]\end{array} $$ इस समीकरण के लिए एक और दिलचस्प दृष्टिकोण यह विचार करना है कि इसके दो चरण हैं: a भविष्यवाणी चरण और अनुमान चरण:
 * भविष्यवाणी चरण के दौरान, गतिशील मॉडल और पिछले क्षण में राज्य के अनुमान का उपयोग करके राज्य की भविष्यवाणी की जाती है:



\begin{array}{ll} & P\left(S^{t}|O^{0}\wedge\cdots\wedge O^{t-1}\right)\\ = & \sum_{S^{t-1}}\left[P\left(S^{t}|S^{t-1}\right)\times P\left(S^{t-1}|O^{0}\wedge\cdots\wedge O^{t-1}\right)\right]\end{array} $$
 * अनुमान चरण के दौरान, अंतिम अवलोकन का उपयोग करके भविष्यवाणी की या तो पुष्टि की जाती है या अमान्य:

\begin{align} & P\left(S^{t}\mid O^{0}\wedge\cdots\wedge O^{t}\right)\\ ={} & P\left(O^{t}\mid S^{t}\right)\times P\left(S^{t}|O^{0}\wedge\cdots\wedge O^{t-1}\right) \end{align} $$

बायेसियन प्रोग्राम


Pr\begin{cases} Ds\begin{cases} Sp(\pi)\begin{cases} Va:\\ S^{0},\cdots,S^{T},O^{0},\cdots,O^{T}\\ Dc:\\ \begin{cases} & P\left(S^{0}\wedge\cdots\wedge S^{T}\wedge O^{0}\wedge\cdots\wedge O^{T}|\pi\right)\\ = & P\left(S^{0}\wedge O^{0}\right)\times\prod_{t=1}^{T}\left[P\left(S^{t}|S^{t-1}\right)\times P\left(O^{t}|S^{t}\right)\right]\end{cases}\\ Fo:\\ \begin{cases} P\left(S^{0}\wedge O^{0}\right)\\ P\left(S^{t}|S^{t-1}\right)\\ P\left(O^{t}|S^{t}\right)\end{cases}\end{cases}\\ Id\end{cases}\\ Qu:\\ \begin{cases} \begin{array}{l} P\left(S^{t+k}|O^{0}\wedge\cdots\wedge O^{t}\right)\\ \left(k=0\right)\equiv \text{Filtering} \\ \left(k>0\right)\equiv \text{Prediction} \\ \left(k<0\right)\equiv \text{Smoothing} \end{array}\end{cases}\end{cases} $$

कलमन फ़िल्टर
बहुत प्रसिद्ध कलमैन फ़िल्टर बायेसियन का एक विशेष मामला है फिल्टर.

इन्हें निम्नलिखित बायेसियन प्रोग्राम द्वारा परिभाषित किया गया है:



Pr\begin{cases} Ds\begin{cases} Sp(\pi)\begin{cases} Va:\\ S^{0},\cdots,S^{T},O^{0},\cdots,O^{T}\\ Dc:\\ \begin{cases} & P\left(S^{0}\wedge\cdots\wedge O^{T}|\pi\right)\\ = & \left[\begin{array}{c} P\left(S^{0}\wedge O^{0}|\pi\right)\\ \prod_{t=1}^{T}\left[P\left(S^{t}|S^{t-1}\wedge\pi\right)\times P\left(O^{t}|S^{t}\wedge\pi\right)\right]\end{array}\right]\end{cases}\\ Fo:\\ \begin{cases} P\left(S^t \mid S^{t-1}\wedge\pi\right)\equiv G\left(S^{t},A\bullet S^{t-1},Q\right)\\ P\left(O^t \mid S^t \wedge\pi\right)\equiv G\left(O^{t},H\bullet S^{t},R\right)\end{cases}\end{cases}\\ Id\end{cases}\\ Qu:\\ P\left(S^T \mid O^0 \wedge\cdots\wedge O^{T}\wedge\pi\right)\end{cases} $$
 * चर निरंतर होते हैं.
 * संक्रमण मॉडल $$P(S^t \mid S^{t-1}\wedge\pi)$$ और अवलोकन मॉडल $$P(O^t \mid S^t \wedge\pi)$$ दोनों को गॉसियन कानूनों का उपयोग करके ऐसे साधनों के साथ निर्दिष्ट किया गया है जो कंडीशनिंग चर के रैखिक कार्य हैं।

इन परिकल्पनाओं के साथ और पुनरावर्ती सूत्र का उपयोग करके, इसे हल करना संभव है सामान्य रूप से उत्तर देने के लिए विश्लेषणात्मक रूप से अनुमान समस्या $$P(S^T \mid O^0 \wedge\cdots\wedge O^T \wedge\pi)$$ सवाल। यह एक बेहद कुशल एल्गोरिदम की ओर ले जाता है, जो कलमन फिल्टर की लोकप्रियता और उनके रोजमर्रा के अनुप्रयोगों की संख्या को बताता है।

जब कोई स्पष्ट रैखिक संक्रमण और अवलोकन मॉडल नहीं होते हैं, तब भी यह अक्सर होता है प्रथम-क्रम टेलर के विस्तार का उपयोग करके, इन मॉडलों को स्थानीय रूप से रैखिक माना जा सकता है। इस सामान्यीकरण को आमतौर पर विस्तारित कलमैन फ़िल्टर कहा जाता है।

हिडन मार्कोव मॉडल
हिडन मार्कोव मॉडल (एचएमएम) बायेसियन फिल्टर का एक और बहुत लोकप्रिय विशेषज्ञता है।

इन्हें निम्नलिखित बायेसियन प्रोग्राम द्वारा परिभाषित किया गया है:



\Pr\begin{cases} Ds\begin{cases} Sp(\pi)\begin{cases} Va:\\ S^{0},\ldots,S^{T},O^{0},\ldots,O^{T}\\ Dc:\\ \begin{cases} & P\left(S^{0}\wedge\cdots\wedge O^{T}\mid\pi\right)\\ = & \left[\begin{array}{c} P\left(S^{0}\wedge O^{0}\mid\pi\right)\\ \prod_{t=1}^{T}\left[P\left(S^{t}\mid S^{t-1}\wedge\pi\right)\times P\left(O^{t}\mid S^{t}\wedge\pi\right)\right]\end{array}\right]\end{cases}\\ Fo:\\ \begin{cases} P\left(S^{0}\wedge O^{0}\mid\pi\right)\equiv \text{Matrix}\\ P\left(S^{t}\mid S^{t-1}\wedge\pi\right)\equiv \text{Matrix}\\ P\left(O^{t}\mid S^{t}\wedge\pi\right)\equiv \text{Matrix}\end{cases}\end{cases}\\ Id\end{cases}\\ Qu:\\ \max_{S^{1}\wedge\cdots\wedge S^{T-1}}\left[P\left(S^{1}\wedge\cdots\wedge S^{T-1}\mid S^{T}\wedge O^{0}\wedge\cdots\wedge O^{T}\wedge\pi\right)\right]\end{cases} $$ दोनों को संभाव्यता मैट्रिक्स का उपयोग करके निर्दिष्ट किया गया है।
 * चरों को असतत माना जाता है।
 * संक्रमण मॉडल $$P\left(S^{t}\mid S^{t-1}\wedge\pi\right)$$ और अवलोकन मॉडल $$P\left(O^{t}\mid S^{t}\wedge\pi\right)$$ हैं
 * एचएमएम से सबसे अधिक बार पूछा जाने वाला प्रश्न है:

\max_{S^{1}\wedge\cdots\wedge S^{T-1}}\left[P\left(S^{1}\wedge\cdots\wedge S^{T-1}\mid S^{T}\wedge O^{0}\wedge\cdots\wedge O^{T}\wedge\pi\right)\right] $$ अतीत की टिप्पणियों को जानते हुए, वर्तमान स्थिति की ओर ले जाने वाली स्थितियों की सबसे संभावित श्रृंखला क्या है?

इस विशेष प्रश्न का उत्तर एक विशिष्ट और बहुत कुशल एल्गोरिदम के साथ दिया जा सकता है विटर्बी एल्गोरिदम कहा जाता है।

बॉम-वेल्च एल्गोरिदम विकसित किया गया है एचएमएम के लिए.

शैक्षणिक अनुप्रयोग
2000 से, बायेसियन प्रोग्रामिंग का उपयोग रोबोटिक्स अनुप्रयोगों और जीवन विज्ञान मॉडल दोनों को विकसित करने के लिए किया गया है।

रोबोटिक्स
रोबोटिक्स में, बायेसियन प्रोग्रामिंग को स्वायत्त रोबोटिक्स पर लागू किया गया था,   रोबोटिक कंप्यूटर एडेड डिजाइन सिस्टम, उन्नत ड्राइवर-सहायता प्रणाली, रोबोटिक भुजा नियंत्रण, मोबाइल रोबोटिक्स,  मानव-रोबोट संपर्क, मानव-वाहन संपर्क (बायेसियन स्वायत्त चालक मॉडल)     वीडियो गेम अवतार प्रोग्रामिंग और प्रशिक्षण और वास्तविक समय रणनीति खेल (एआई)।

जीवन विज्ञान
जीवन विज्ञान में, गति से आकार का पुनर्निर्माण करने के लिए दृष्टि में बायेसियन प्रोग्रामिंग का उपयोग किया गया था, विज़ुओ-वेस्टिबुलर इंटरैक्शन को मॉडल करने के लिए और सैकेड नेत्र गतिविधियों का अध्ययन करना; प्रारंभिक भाषण अधिग्रहण का अध्ययन करने के लिए भाषण धारणा और नियंत्रण में और कलात्मक-ध्वनिक प्रणालियों का उद्भव; और लिखावट धारणा और नियंत्रण को मॉडल करना।

पैटर्न पहचान
बायेसियन प्रोग्राम लर्निंग में भाषण पहचान और संश्लेषण, छवि पहचान और प्राकृतिक भाषा प्रसंस्करण के संभावित अनुप्रयोग हैं। यह रचनाशीलता (भागों से अमूर्त अभ्यावेदन का निर्माण), कारणता (भागों से जटिलता का निर्माण) और सीखना सीखना (नई अवधारणाओं के निर्माण को आसान बनाने के लिए पहले से मान्यता प्राप्त अवधारणाओं का उपयोग करना) के सिद्धांतों को नियोजित करता है।

संभावना सिद्धांत
संभाव्य दृष्टिकोण (न केवल बायेसियन प्रोग्रामिंग) और संभावना सिद्धांतों के बीच तुलना पर बहस जारी है।

संभाव्यता सिद्धांत जैसे, उदाहरण के लिए, फजी सेट, फजी लॉजिक और संभावना सिद्धांत मॉडल अनिश्चितता के लिए संभाव्यता के विकल्प हैं। उनका तर्क है कि अपूर्ण/अनिश्चित ज्ञान के कुछ पहलुओं को मॉडल करने के लिए संभाव्यता अपर्याप्त या असुविधाजनक है।

संभाव्यता की रक्षा मुख्य रूप से कॉक्स प्रमेय पर आधारित है, जो अनिश्चितता की उपस्थिति में तर्कसंगत तर्क से संबंधित चार अभिधारणाओं से शुरू होती है। यह दर्शाता है कि एकमात्र गणितीय ढांचा जो इन अभिधारणाओं को संतुष्ट करता है वह संभाव्यता सिद्धांत है। तर्क यह है कि संभाव्यता के अलावा कोई भी दृष्टिकोण आवश्यक रूप से इनमें से किसी एक अभिधारणा और उस उल्लंघन के मूल्य का उल्लंघन करता है।

संभाव्य प्रोग्रामिंग
संभाव्य संबंधपरक प्रोग्रामिंग भाषा का उद्देश्य जटिलता को एनकोड करने के लिए प्रोग्रामिंग भाषाओं की अभिव्यक्ति से लाभ उठाते हुए अनिश्चितता से निपटने के लिए संभाव्य मॉडलिंग (विशेष रूप से बायेसियन नेटवर्क) के साथ शास्त्रीय प्रोग्रामिंग भाषाओं के दायरे को एकीकृत करना है।

विस्तारित शास्त्रीय प्रोग्रामिंग भाषाओं में अपहरणात्मक तर्क प्रोग्रामिंग में प्रस्तावित तार्किक भाषाएं शामिल हैं, स्वतंत्र विकल्प तर्क, प्रिज्म, और प्रोलॉग जो प्रोलॉग के विस्तार का प्रस्ताव करता है।

यह कार्यात्मक प्रोग्रामिंग (अनिवार्य रूप से लिस्प (प्रोग्रामिंग भाषा) और स्कीम (प्रोग्रामिंग भाषा)) जैसे आईबीएएल या चर्च का विस्तार भी हो सकता है। अंतर्निहित प्रोग्रामिंग भाषाएँ BLOG और FACTORIE की तरह ऑब्जेक्ट-ओरिएंटेड हो सकती हैं या CES और FIGARO की तरह अधिक मानक भाषाएँ हो सकती हैं। बायेसियन प्रोग्रामिंग का उद्देश्य अलग है। जेन्स के तर्क के रूप में संभाव्यता के सिद्धांत का तर्क है कि संभाव्यता तर्क का एक विस्तार और एक विकल्प है जिसके ऊपर तर्कसंगतता, गणना और प्रोग्रामिंग का एक पूरा सिद्धांत फिर से बनाया जा सकता है। बायेसियन प्रोग्रामिंग शास्त्रीय भाषाओं को संभाव्यता पर आधारित प्रोग्रामिंग दृष्टिकोण से बदलने का प्रयास करती है जो पूर्णता (तर्क) और अनिश्चितता मात्रा निर्धारण पर विचार करती है।

बायेसियन और संभाव्य प्रोग्रामिंग के शब्दार्थ और अभिव्यक्ति की शक्ति के बीच सटीक तुलना एक खुला प्रश्न है।

यह भी देखें
• Bayes' rule

• Bayesian inference

• Bayesian probability

• Bayesian spam filtering

• Belief propagation

• Cox's theorem

• Expectation-maximization algorithm

• Factor graph

• Graphical model

• Hidden Markov model

• Judea Pearl

• Kalman filter

• Naive Bayes classifier

• Pierre-Simon de Laplace

• Probabilistic logic

• Probabilistic programming language

• Subjective logic

बाहरी संबंध

 * A companion site to the Bayesian programming book where to download ProBT an inference engine dedicated to Bayesian programming.
 * The Bayesian-programming.org site for the promotion of Bayesian programming with detailed information and numerous publications.