मैं वर्तमान में एक छवि विभाजन समस्या के लिए Viterbi प्रशिक्षण का उपयोग कर रहा हूं । मैं जानना चाहता था कि विटर्बी प्रशिक्षण के बजाय बॉम-वेल्च एल्गोरिथ्म का उपयोग करने के क्या फायदे / नुकसान हैं।
मैं वर्तमान में एक छवि विभाजन समस्या के लिए Viterbi प्रशिक्षण का उपयोग कर रहा हूं । मैं जानना चाहता था कि विटर्बी प्रशिक्षण के बजाय बॉम-वेल्च एल्गोरिथ्म का उपयोग करने के क्या फायदे / नुकसान हैं।
जवाबों:
बॉम-वेल्च एल्गोरिथ्म और विटर्बी एल्गोरिथम अलग-अलग चीजों की गणना करते हैं।
यदि आप अपने मॉडल के छिपे हुए भाग के लिए संक्रमण संभावनाओं को जानते हैं, और आपके मॉडल के दृश्यमान आउटपुट के लिए उत्सर्जन संभावनाएं हैं, तो विटर्बी एल्गोरिदम आपको अपने आउटपुट और आपके मॉडल विनिर्देश दोनों पर छिपे हुए राज्यों की सशर्त स्थिति का सबसे अधिक संभावना पूर्ण अनुक्रम प्रदान करता है।
बॉम-वेल्च एल्गोरिदम आपको सबसे अधिक संभावना छिपी हुई संक्रमण संभावनाएं और साथ ही उत्सर्जन संभावनाओं का सबसे संभावित सेट देता है जो केवल मॉडल के मनाया राज्यों (और, आमतौर पर, छिपे हुए राज्यों की संख्या पर एक ऊपरी सीमा) को दिया जाता है। आपको छिपे हुए राज्यों में "पॉइंटवाइज़" उच्चतम संभावना वाले अंक भी मिलते हैं, जो अक्सर एकल छिपे हुए अनुक्रम से थोड़ा अलग होता है जो समग्र संभावना है।
यदि आप अपने मॉडल को जानते हैं और सिर्फ अव्यक्त स्थिति चाहते हैं, तो बॉम-वेल्च एल्गोरिथ्म का उपयोग करने का कोई कारण नहीं है। यदि आप अपने मॉडल को नहीं जानते हैं, तो आप Viterbi एल्गोरिथ्म का उपयोग नहीं कर सकते हैं।
जोड़ने के लिए संपादित: पीटर स्मिट की टिप्पणी देखें; नामकरण में कुछ ओवरलैप / अस्पष्टता है। "पैटर्न रिकॉग्निशन एंड इमेज एनालिसिस" (आईएसबीएन 978-3-540-40217-6, पीपी 845-857) में लुइस जेवियर रोड्रिग्ज और इनेस टॉरेस द्वारा एक अध्याय के आसपास कुछ पोकिंग ने मुझे प्रेरित किया, जिसमें गति बनाम सटीकता व्यापार-बंद की चर्चा है। दो एल्गोरिदम।
संक्षेप में, बॉम-वेल्च एल्गोरिथ्म अनिवार्य रूप से एचएमएम पर लागू उम्मीद-अधिकतमकरण (ईएम) एल्गोरिदम है; एक सख्त ईएम-प्रकार के एल्गोरिथ्म के रूप में जिसे आप कम से कम एक स्थानीय अधिकतम करने के लिए निर्धारित करने की गारंटी देते हैं, और इसलिए अनिमॉडल समस्याओं के लिए MLE ढूंढते हैं। हालांकि, प्रत्येक चरण के लिए आपके डेटा पर दो पास की आवश्यकता होती है, और डेटा की लंबाई और प्रशिक्षण नमूनों की संख्या में जटिलता बहुत बड़ी हो जाती है। हालाँकि, आप अपने छिपे हुए मापदंडों के लिए पूर्ण सशर्त संभावना के साथ समाप्त करते हैं।
Viterbi प्रशिक्षण एल्गोरिथ्म ("Viterbi एल्गोरिथ्म" के विपरीत) सटीकता की कीमत पर गति में लाभ प्राप्त करने के लिए MLE को अनुमानित करता है। यह डेटा को सेगमेंट करता है और फिर सेगमेंट में सबसे अधिक संभावित स्टेट सीक्वेंस प्राप्त करने के लिए विटर्बी एल्गोरिदम (जैसा कि मैंने इसे समझा था) लागू करता है, फिर छिपे हुए मापदंडों का फिर से अनुमान लगाने के लिए उस सबसे अधिक संभावना वाले स्टेट सीक्वेंस का उपयोग करता है। यह बॉम-वेल्च एल्गोरिथ्म के विपरीत, छिपे हुए मापदंडों की पूरी सशर्त संभावना नहीं देता है, और इसलिए महत्वपूर्ण समय की बचत करते हुए सटीकता को कम करता है (अध्याय 1 से 2 परिमाण के आदेश) कम्प्यूटेशनल समय।
फॉरवर्ड-बैकवर्ड का उपयोग तब किया जाता है जब आप 'अदृश्य चीजों' को गिनना चाहते हैं। उदाहरण के लिए, असुरक्षित डेटा के माध्यम से किसी मॉडल को बेहतर बनाने के लिए EM का उपयोग करते समय। मुझे लगता है कि पेट्रोव का पेपर एक उदाहरण है। जिस तकनीक के बारे में मैं सोच रहा हूं, आप पहले एक मोटे अनाउंसमेंट (उदाहरण के लिए 'वर्ब' के लिए एक टैग) के साथ एनोटेट डेटा के साथ एक मॉडल को प्रशिक्षित करते हैं। फिर आप मनमाने ढंग से उस राज्य के लिए संभाव्यता द्रव्यमान को दो असमान मात्राओं में विभाजित करते हैं, और दो राज्यों के बीच द्रव्यमान का पुनर्वितरण करके संभावना को अधिकतम करने के लिए आगे-पीछे चलने वाले, पीछे हटते हैं।