नैवे बेस क्लासिफायर गणना में एक शून्य कारक को कैसे संभालना है?


14

यदि मेरे पास एक प्रशिक्षण डेटा सेट है और मैं इस पर एक Naive Bayes Classifier को प्रशिक्षित करता हूं और मेरे पास एक विशेषता मान है जिसमें संभाव्यता शून्य है। यदि मैं बाद में नए डेटा पर वर्गीकरण की भविष्यवाणी करना चाहता हूं तो मैं इसे कैसे संभाल सकता हूं? समस्या यह है, यदि गणना में एक शून्य है तो पूरा उत्पाद शून्य हो जाता है, चाहे मुझे कितने भी अन्य मूल्य मिले जो शायद एक और समाधान मिल जाएगा।

उदाहरण:

P(x|spam=yes)=P(TimeZone=US|spam=yes)P(GeoLocation=EU|spam=yes) ... =0.004

P(x|spam=no)=P(TimeZone=US|spam=no)P(GeoLocation=EU|spam=no) ... =0

संपूर्ण उत्पाद हो जाता है क्योंकि प्रशिक्षण डेटा में विशेषता टाइमजोन यूएस हमेशा हमारे छोटे प्रशिक्षण डेटा सेट में रहती है। इससे मैं किस तरह निपट सकता हूं? क्या मुझे प्रशिक्षण डेटा का एक बड़ा सेट उपयोग करना चाहिए या इस समस्या को दूर करने की एक और संभावना है?0


यदि आपको असतत विशेषता मान प्राप्त होता है, तो इसकी संभावना शून्य नहीं हो सकती है, परिभाषा के अनुसार।
पॉल

क्यों हम 1 में 0 आवृत्ति की समस्या जोड़ते हैं इसके पीछे तर्क क्या है क्यों हम एक और संख्या नहीं जोड़ते हैं।
आफताब हुसैन 21

जवाबों:


13

बायेसियन सेटिंग में इस 'शून्य आवृत्ति समस्या' को दूर करने के लिए एक दृष्टिकोण हर विशेषता मूल्य-वर्ग संयोजन के लिए एक को जोड़ने के लिए है जब एक विशेषता मान हर वर्ग मूल्य के साथ नहीं होता है। इसलिए, उदाहरण के लिए, अपने प्रशिक्षण डेटा को इस तरह देखा:

Spam=yesSpam=noTimeZone=US105TimeZone=EU00

P(TimeZone=US|Spam=yes)=1010=1

P(TimeZone=EU|Spam=yes)=010=0

जब आप संभावनाओं की गणना करने के लिए इसका उपयोग कर रहे हों तब आपको इस तालिका में प्रत्येक मूल्य में एक जोड़ना चाहिए:

Spam=yesSpam=noTimeZone=US116TimeZone=EU11

P(TimeZone=US|Spam=yes)=1112

P(TimeZone=EU|Spam=yes)=112


4
वास्तव में। ध्यान दें कि कुछ समय बाद आप एक के अलावा अन्य मान जोड़ सकते हैं। जानकारी के लिए देखें en.wikipedia.org/wiki/Additive_smoothing
DaL
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.