NumPy 1.14 - numpy.random.dirichlet()

numpy.random.dirichlet




numpy

numpy.random.dirichlet

numpy.random.dirichlet(alpha, size=None)

Dirichlet वितरण से नमूने ड्रा।

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

पैरामीटर:

अल्फा : सरणी

वितरण का पैरामीटर (आयाम k के नमूने के लिए k)।

आकार : इंट या टुपल इन्टस, वैकल्पिक

आउटपुट आकार। यदि दी गई आकृति है, जैसे, (m, n, k) , तो m * n * k नमूने खींचे जाते हैं। डिफ़ॉल्ट कोई भी नहीं है, जिस स्थिति में एकल मान लौटाया जाता है।

यह दिखाता है:

नमूने : ndarray,

आरेखित किए गए नमूने, आकार के (आकार, अल्फ़ंड)।

जन्म देती है:

ValueError

यदि अल्फ़ा में कोई मान शून्य से कम या उसके बराबर है

टिप्पणियाँ

X \ लगभग \ prod_ {i = 1} ^ {k} {x ^ {\ Alpha_i-1} _i}

संगणना के लिए निम्नलिखित संपत्ति का उपयोग करता है: प्रत्येक आयाम के लिए, आकृति alpha_i मानक गामा जनरेटर से एक यादृच्छिक नमूना y_i alpha_i , फिर X = \ frac {1} {\ sum_ {i = 1} ^ k {y_i}} (y_1, \ ldots, y_n) डिरिचलेट वितरित किया गया है।

संदर्भ

[R429430] डेविड मैकके, "सूचना सिद्धांत, आविष्कार और लर्निंग एल्गोरिदम," अध्याय 23, http://www.inference.phy.cam.ac.uk/mackay/
[R430430] विकिपीडिया, "डिरिचलेट वितरण", http://en.wikipedia.org/wiki/Dirichlet_distribution

उदाहरण

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

>>> s = np.random.dirichlet((10, 5, 3), 20).transpose()
>>> plt.barh(range(20), s[0])
>>> plt.barh(range(20), s[1], left=s[0], color='g')
>>> plt.barh(range(20), s[2], left=s[0]+s[1], color='r')
>>> plt.title("Lengths of Strings")