कैसे आर में रैखिक भेदभावपूर्ण विश्लेषण को लागू करने के लिए?

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

रेखीय विभेदक विश्लेषण एक बहुत लोकप्रिय मशीन लर्निंग तकनीक है जिसका उपयोग वर्गीकरण समस्याओं को हल करने के लिए किया जाता है। इस लेख में हम इस तकनीक के पीछे के अंतर्ज्ञान और गणित को समझने की कोशिश करेंगे। में LDA के कार्यान्वयन का एक उदाहरण है आर भी प्रदान किया गया है।

जावा में मान से गुजरें

तो चलिए फिर शुरू करते हैं





रैखिक भेदभाव विश्लेषण विश्लेषण

रेखीय विभेदक विश्लेषण निम्नलिखित मान्यताओं पर आधारित है:

  • आश्रित चर असतत है। इस लेख में हम यह मानेंगे कि आश्रित चर द्विआधारी है और वर्ग मान लेता है {+1, -1} । वर्ग से संबंधित नमूने की संभावना +1 , अर्थात पी (वाई = +1) = पी । इसलिए, वर्ग से संबंधित नमूने की संभावना -एक है 1-पी



  • स्वतंत्र चर एक्स गाऊसी वितरण से आते हैं। गाऊसी वितरण का मतलब वर्ग लेबल पर निर्भर करता है । यानी अगर मैं = +1 , तो का मतलब एक्स मैं है & # 120583 +1 , और यह है & # 120583 -एक । विचरण & # 120590 दोनों वर्गों के लिए समान है। गणितीय रूप से बोल रहा हूँ, X | (Y = +1) ~ N (& # 120583) +1 , & # 120590 ) तथा X | (Y = -1) ~ N (& # 120583) -एक , & # 120590 ) , कहां है एन सामान्य वितरण को दर्शाता है।

इस जानकारी के साथ संयुक्त वितरण का निर्माण संभव है पी (एक्स, वाई) स्वतंत्र और आश्रित चर के लिए। इसलिए, LDA वर्ग के वर्ग से संबंधित है जनरेटिव क्लासिफायर मॉडल । एक निकट संबंधी जनरेटिव क्लासिफायरियर क्वाड्रेटिक डिस्क्रिमिनेंट एनालिसिस (QDA) है। यह एलडीए की सभी समान धारणाओं पर आधारित है, सिवाय इसके कि वर्ग भिन्नताएं अलग-अलग हैं।

आइए हम रेखीय विभेदक विश्लेषण लेख के साथ जारी रखें और देखें

सहज बोध

वर्ग सशर्त गौसियन वितरण के लिए विचार करें एक्स कक्षा दी । नीचे दिया गया आंकड़ा वितरण के घनत्व कार्यों को दर्शाता है। इस आंकड़े में, यदि य = +1 , तो का मतलब एक्स 10 है और यदि य = -1 मतलबी 2 है। दोनों मामलों में विचरण 2 है।

अंतर्ज्ञान - रैखिक भेदभाव विश्लेषण - एडुर्का

अब मान लीजिए कि एक नया मूल्य है एक्स हमें दिया गया है। आइए हम इसे निरूपित करते हैं एक्स मैं । कार्य इसके लिए सबसे अधिक संभावना वर्ग लेबल निर्धारित करना है एक्स मैं , अर्थात। मैं । सादगी के लिए मान लें कि संभावना पी वर्ग से संबंधित नमूने का +1 वर्ग के समान ही है -एक , अर्थात। पी = 0.5

सहज रूप से, यह कहने के लिए समझ में आता है कि अगर एक्स मैं के करीब है & # 120583 +1 की तुलना में यह है & # 120583 -एक , तो यह अधिक संभावना है कि मैं = +1 । अधिक औपचारिक रूप से, मैं = +1 अगर:

| एक्स मैं - & # 120583 +1 |<|x मैं - & # 120583 -एक |

मानक विचलन द्वारा दोनों पक्षों को सामान्य बनाना:

| एक्स मैं - & # 120583 +1 | / & # 120590<|x मैं - & # 120583 -एक | / & # 120590

दोनों पक्षों को चुकता करना:

(एक्स मैं - & # 120583 +1 ) / & # 120590 <(x मैं - & # 120583 -एक ) / & # 120590

एक्स मैं / & # 120590 + & # 120583 +1 / & # 120590 - 2 एक्स मैं & # 120583 +1 / & # 120590 मैं / & # 120590 + & # 120583 -एक / & # 120590 - 2 एक्स मैं & # 120583 -एक / & # 120590

2 एक्स मैं (& # 120583) -एक - & # 120583 +1 ) / & # 120590 - & # 120583 -एक / & # 120590 - & # 120583 +1 / & # 120590 )<0

-2 एक्स मैं (& # 120583) -एक - & # 120583 +1 ) / & # 120590 + (& # 120583) -एक / & # 120590 - & # 120583 +1 / & # 120590 )> 0

उपरोक्त अभिव्यक्ति रूप की है bx मैं + सी> 0 कहां है b = -2 और (# 120583) -एक - & # 120583 +1 ) / & # 120590 तथा c = (& # 120583) -एक / & # 120590 - & # 120583 +1 / & # 120590 )

यह स्पष्ट है कि समीकरण का रूप क्या है रेखीय , इसलिए नाम रैखिक भेदभावपूर्ण विश्लेषण।

आइए हम रेखीय विभेदक विश्लेषण लेख जारी रखें और देखें,

एलडीए का गणितीय विवरण

एलडीए के लिए अभिव्यक्ति की गणितीय व्युत्पत्ति जैसी अवधारणाओं पर आधारित है बेय्स रूल तथा Bayes Optimal Classifier । इच्छुक पाठकों को इन अवधारणाओं के बारे में अधिक पढ़ने के लिए प्रोत्साहित किया जाता है। अभिव्यक्ति प्राप्त करने का एक तरीका मिल सकता है यहाँ

हम अपने विशिष्ट मामले के लिए सीधे अभिव्यक्ति प्रदान करेंगे दो कक्षाएं लेता है {+1, -1} । हम पिछले अनुभाग में दिखाए गए अंतर्ज्ञान को सामान्य मामले में भी विस्तारित करेंगे जहां एक्स बहुआयामी हो सकता है। बता दें कि सेवा मेरे स्वतंत्र प्रभावित करने वाली वस्तुएँ। इस मामले में, क्लास का मतलब है & # 120583 -एक तथा & # 120583 +1 आयामों के वैक्टर होंगे k * १ और विचरण-सहसंयोजक मैट्रिक्स & # 120622 आयामों का एक मैट्रिक्स होगा k * k

क्लासिफायर फ़ंक्शन के रूप में दिया जाता है

Y = h (X) = संकेत (b) टी X + c)

कहा पे,

b = -2 & # 120622 -एक (& # 120583) -एक - & # 120583 +1 )

c = & # 120583 -एक टी & # 120622 -एक & # 120583 -एक - & # 120583 -एक टी & # 120622 -एक & # 120583 -एक {-2 एलएन (1-पी) / पी}

साइन फंक्शन लौटता है +1 अगर अभिव्यक्ति बी टी x + c> 0 , अन्यथा यह वापस आ जाता है -एक । में प्राकृतिक लॉग टर्म सी इस तथ्य के लिए समायोजित करने के लिए मौजूद है कि कक्षा की संभावनाओं को दोनों वर्गों के लिए समान नहीं होना चाहिए, अर्थात। पी (0, 1) के बीच कोई मान हो सकता है, और सिर्फ 0.5 नहीं।

मॉडल पैरामीटर सीखना

के साथ एक डेटासेट दिया एन डेटा अंक (एक्स एक , वाई एक ), (एक्स , वाई ),… (एक्स एन , वाई एन ) , हमें अनुमान लगाने की आवश्यकता है पी, & # 120583 -एक , & # 120583 +1 तथा & # 120622 । एक सांख्यिकीय आकलन तकनीक कहा जाता है अधिकतम संभावना अनुमान इन मापदंडों का अनुमान लगाने के लिए उपयोग किया जाता है। उपरोक्त मापदंडों के लिए भाव नीचे दिए गए हैं।

& # 120583 +1 = (1 / एन +1 ) * & # 120506 i: yi = + 1 एक्स मैं

& # 120583 -एक = (1 / एन -एक ) * & # 120506 i: yi = -1 एक्स मैं

पी = एन +1 / एन

& # 120622 = (1 / एन) * & # 120506मैं = 1: एन (एक्स मैं - & # 120583 मैं ) (एक्स मैं - & # 120583 मैं ) टी

कहा पे एन +1 = नमूनों की संख्या जहां वाई मैं = +1 तथा एन -एक = नमूनों की संख्या जहां वाई मैं = -1

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

आइए हम रेखीय विभेदक विश्लेषण लेख के साथ जारी रखें और देखें

आर में उदाहरण

निम्न कोड दो स्वतंत्र चर के साथ एक डमी डेटा सेट उत्पन्न करता है एक्स 1 तथा X2 और एक आश्रित चर । के लिये एक्स 1 तथा X2 , हम साधनों के साथ दो बहुभिन्नरूपी गौसियन वितरण से नमूना उत्पन्न करेंगे & # 120583 -एक = (2, 2) तथा & # 120583 +1 = (6, 6) । 40% नमूने कक्षा के हैं +1 और 60% वर्ग के हैं -एक , इसलिए पी = 0.4

लाइब्रेरी (ggplot2) लाइब्रेरी (MASS) लाइब्रेरी (mvtnorm) #Variance कोविरियन मैट्रिक्स, बेवेरेट गौसेवियन सैंपल var_covar = मैट्रिक्स के लिए (डेटा = c (1.5, 0.3, 0.3, 1.5), nrow = 2) क्लास के लिए #Random bivariate गॉसियन सैंपल 1 एक्सप्लस 1<- rmvnorm(400, mean = c(6, 6), sigma = var_covar) # Random bivariate gaussian samples for class -1 Xminus1 <- rmvnorm(600, mean = c(2, 2), sigma = var_covar) #Samples for the dependent variable Y_samples <- c(rep(1, 400), rep(-1, 600)) #Combining the independent and dependent variables into a dataframe dataset <- as.data.frame(cbind(rbind(Xplus1, Xminus1), Y_samples)) colnames(dataset) <- c('X1', 'X2', 'Y') dataset$Y <- as.character(dataset$Y) #Plot the above samples and color by class labels ggplot(data = dataset)+ geom_point(aes(X1, X2, color = Y)) 

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

अब हम उपरोक्त डेटा का उपयोग करके एलडीए मॉडल को प्रशिक्षित करेंगे।

उपरोक्त डेटासेट lda_model का उपयोग करके एलडीए मॉडल का उपयोग करें<- lda(Y ~ X1 + X2, data = dataset) #Print the LDA model lda_model 

आउटपुट:

समूहों की पूर्व संभावनाएं:

एक हैकर और एक नैतिक हैकर के बीच एक बड़ा अंतर है:

-ग्यारह

0.6 0.4

समूह का अर्थ है:

एक्स 1 एक्स 2

-1 1.928108 2.010226

1 5.961004 6.015438

रैखिक भेदभाव के गुणांक:

LD1

X1 0.5646116

X2 0.5004175

जैसा कि एक देख सकता है, मॉडल द्वारा सीखा गया क्लास का मतलब क्लास के लिए (1.928108, 2.010226) हैं -एक और (5.961004, 6.015438) कक्षा के लिए +1 । ये साधन वर्ग के बहुत करीब हैं इसका मतलब है कि हमने इन यादृच्छिक नमूनों को उत्पन्न करने के लिए उपयोग किया था। समूह के लिए पूर्व संभावना +1 पैरामीटर के लिए अनुमान है पी । द बी वेक्टर रेखीय विभेदक गुणांक है।

अब हम समान डेटा के लिए वर्ग लेबल की भविष्यवाणी करने के लिए उपरोक्त मॉडल का उपयोग करेंगे।

# एलडीए मॉडल का उपयोग कर उपरोक्त डेटासेट में प्रत्येक नमूने के लिए वर्ग का चयन करना y_pred<- predict(lda_model, newdata = dataset)$class #Adding the predictions as another column in the dataframe dataset$Y_lda_prediction <- as.character(y_pred) #Plot the above samples and color by actual and predicted class labels dataset$Y_actual_pred <- paste(dataset$Y, dataset$Y_lda_prediction, sep=',') ggplot(data = dataset)+ geom_point(aes(X1, X2, color = Y_actual_pred))

उपरोक्त आंकड़े में, बैंगनी नमूने वर्ग से हैं +1 कि एलडीए मॉडल द्वारा सही ढंग से वर्गीकृत किया गया था। इसी तरह, लाल नमूने वर्ग से हैं -एक इसे सही ढंग से वर्गीकृत किया गया था। नीले रंग के वर्ग से हैं +1 लेकिन गलत तरीके से वर्गीकृत किया गया था -एक । हरे रंग के वर्ग से हैं -एक जो के रूप में गलत थे +1 । गर्भपात इसलिए हो रहे हैं क्योंकि ये नमूने अपने वास्तविक वर्ग माध्य की तुलना में अन्य वर्ग माध्य (केंद्र) के करीब हैं।

यह हमें इस लेख के अंत में लाता है, की जाँच करें 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। R प्रशिक्षण के साथ Edureka का डेटा एनालिटिक्स आपको R प्रोग्रामिंग, डेटा हेरफेर, खोजपूर्ण डेटा विश्लेषण, डेटा विज़ुअलाइज़ेशन, डेटा खनन, प्रतिगमन, सेंटीमेंट विश्लेषण में विशेषज्ञता प्राप्त करने और रिटेल, सोशल मीडिया पर वास्तविक जीवन के अध्ययन के लिए आर स्टूडियो का उपयोग करने में मदद करेगा।

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