كيف يتم تنفيذ تحليل التمييز الخطي في R؟



ستخبرك هذه المقالة ما هو تحليل التمييز الخطي وستعطيك أيضًا شرحًا تفصيليًا باستخدام لغة البرمجة R.

يعد التحليل التمييزي الخطي أسلوبًا شائعًا جدًا في التعلم الآلي يتم استخدامه لحل مشاكل التصنيف. سنحاول في هذه المقالة فهم الحدس والرياضيات الكامنة وراء هذه التقنية. مثال على تنفيذ LDA بتنسيق ر يتم توفيرها أيضًا.

لذلك دعونا نبدأ بعد ذلك





افتراض تحليل التمييز الخطي

يعتمد التحليل التمييزي الخطي على الافتراضات التالية:

  • المتغير التابع ص منفصل. في هذه المقالة سنفترض أن المتغير التابع هو ثنائي ويأخذ قيم فئة {+1 ، -1} . احتمال تنتمي عينة إلى فئة +1 ، بمعنى آخر الفوسفور (ص = +1) = ص . لذلك ، فإن احتمال تنتمي عينة إلى فئة -واحد يكون 1 ص .



  • المتغير المستقل (المتغيرات) X تأتي من التوزيعات الغاوسية. يعتمد متوسط ​​التوزيع الغوسي على تسمية الفئة ص . أي إذا ص أنا = +1 ، ثم يعني X أنا يكون & # 120583 +1 ، وإلا هو & # 120583 -واحد . التباين & # 120590 2 هو نفسه لكلا الفئتين. رياضيا ، س | (ص = +1) ~ ن (& # 120583 +1 ، & # 120590 2 ) و س | (ص = -1) ~ ن (& # 120583 -واحد ، & # 120590 2 ) ، أين ن يدل على التوزيع الطبيعي.

باستخدام هذه المعلومات ، من الممكن إنشاء توزيع مشترك ف (س ، ص) للمتغير المستقل والتابع. لذلك ، ينتمي LDA إلى فئة نماذج المصنف التوليدي . المصنف التوليدي وثيق الصلة هو التحليل التربيعي التمييز (QDA). يعتمد على جميع الافتراضات نفسها لـ LDA ، باستثناء اختلاف تباينات الصنف.

دعونا نواصل مقالة التحليل الخطي التمييزي ونرى

حدس

ضع في اعتبارك التوزيعات الغاوسية للفئة الشرطية لـ X نظرا للفئة ص . يوضح الشكل أدناه وظائف الكثافة للتوزيعات. في هذا الشكل ، إذا ص = +1 ، ثم يعني X هو 10 وإذا ص = -1 ، المتوسط ​​هو 2. الفرق هو 2 في كلتا الحالتين.

الحدس - تحليل التمييز الخطي - Edureka

افترض الآن قيمة جديدة لـ X تعطى لنا. دعنا فقط نشير إليها على أنها x أنا . المهمة هي تحديد تسمية الفئة الأكثر احتمالا لهذا الغرض x أنا ، بمعنى آخر. ص أنا . للتبسيط افترض أن الاحتمال ص من العينة التي تنتمي إلى الفصل +1 هو نفس الانتماء إلى الفصل -واحد ، بمعنى آخر. ص = 0.5 .

حدسيًا ، من المنطقي أن نقول إن x أنا أقرب إلى & # 120583 +1 مما هو عليه & # 120583 -واحد ، فمن الأرجح أن ص أنا = +1 . أكثر رسميا، ص أنا = +1 إذا:

| x أنا - & # 120583 +1 |<|x أنا - & # 120583 -واحد |

تطبيع كلا الجانبين بواسطة الانحراف المعياري:

| x أنا - & # 120583 +1 | / & # 120590<|x أنا - & # 120583 -واحد | / & # 120590

تربيع كلا الجانبين:

تمر بالإشارة في جافا

(x أنا - & # 120583 +1 ) 2 / & # 120590 2 <(x أنا - & # 120583 -واحد ) 2 / & # 120590 2

x أنا 2 / & # 120590 2 + & # 120583 +1 2 / & # 120590 2 - 2 × أنا & # 120583 +1 / & # 120590 2 أنا 2 / & # 120590 2 + & # 120583 -واحد 2 / & # 120590 2 - 2 × أنا & # 120583 -واحد / & # 120590 2

2 × أنا (& # 120583 -واحد - & # 120583 +1 ) / & # 120590 2 - (& # 120583 -واحد 2 / & # 120590 2 - & # 120583 +1 2 / & # 120590 2 )<0

-2 × أنا (& # 120583 -واحد - & # 120583 +1 ) / & # 120590 2 + (& # 120583 -واحد 2 / & # 120590 2 - & # 120583 +1 2 / & # 120590 2 )> 0

التعبير أعلاه من النموذج bx أنا + ج> 0 أين ب = -2 (& # 120583 -واحد - & # 120583 +1 ) / & # 120590 2 و ج = (& # 120583 -واحد 2 / & # 120590 2 - & # 120583 +1 2 / & # 120590 2 ) .

من الواضح أن شكل المعادلة هو خطي ، ومن هنا جاء اسم التحليل التمييزي الخطي.

دعنا نواصل مقالة التحليل الخطي التمييزي ونرى ،

الوصف الرياضي لـ LDA

يعتمد الاشتقاق الرياضي للتعبير عن LDA على مفاهيم مثل قاعدة بايز و مصنف بايز الأمثل . يتم تشجيع القراء المهتمين على قراءة المزيد عن هذه المفاهيم. يمكن إيجاد طريقة واحدة لاشتقاق التعبير هنا .

سنقدم التعبير مباشرة لحالتنا المحددة حيث ص يأخذ فصلين {+1 ، -1} . سنقوم أيضًا بتوسيع الحدس الموضح في القسم السابق إلى الحالة العامة حيث X يمكن أن تكون متعددة الأبعاد. لنفترض أن هناك إلى المتغيرات المستقلة. في هذه الحالة ، الفصل يعني & # 120583 -واحد و & # 120583 +1 سيكون نواقل الأبعاد ك * 1 ومصفوفة التباين-التغاير & # 120622 سيكون مصفوفة الأبعاد ك * ك .

يتم إعطاء وظيفة المصنف كـ

ص = ح (س) = علامة (ب تي X + ج)

أين،

ب = -2 & # 120622 -واحد (& # 120583 -واحد - & # 120583 +1 )

ج = & # 120583 -واحد تي & # 120622 -واحد & # 120583 -واحد - & # 120583 -واحد تي & # 120622 -واحد & # 120583 -واحد {-2 ln (1-p) / ع}

ترجع وظيفة الإشارة +1 إذا كان التعبير ب تي س + ج> 0 ، وإلا فإنه يعود -واحد . مصطلح اللوغاريتم الطبيعي ج موجود لضبط حقيقة أن احتمالات الفئة لا يجب أن تكون متساوية لكلا الفئتين ، أي ص يمكن أن تكون أي قيمة بين (0 ، 1) وليس 0.5 فقط.

تعلم معلمات النموذج

نظرا لمجموعة بيانات مع ن نقاط البيانات (x واحد ، ص واحد ) ، (x 2 ، ص 2 ) ، ... (X ن ، ص ن ) ، نحن بحاجة إلى تقدير ص ، & # 120583 -واحد ، & # 120583 +1 و & # 120622 . تسمى تقنية التقدير الإحصائي أقصى تقدير احتمال تستخدم لتقدير هذه المعلمات. فيما يلي تعبيرات عن المعلمات أعلاه.

& # 120583 +1 = (1 / ن +1 ) * & # 120506 أنا: يي = + 1 x أنا

& # 120583 -واحد = (1 / ن -واحد ) * & # 120506 أنا: yi = -1 x أنا

ع = ن +1

& # 120622 = (1 / N) * & # 120506أنا = 1: ن (x أنا - & # 120583 أنا ) (x أنا - & # 120583 أنا ) تي

أين ن +1 = عدد العينات حيث y أنا = +1 و ن -واحد = عدد العينات حيث y أنا = -1 .

الفرق بين جدول التجزئة وخريطة التجزئة

مع التعبيرات أعلاه ، اكتمل نموذج LDA. يمكن للمرء تقدير معلمات النموذج باستخدام التعبيرات أعلاه واستخدامها في دالة المصنف للحصول على تسمية الفئة لأي قيمة إدخال جديدة لمتغير مستقل X .

دعونا نواصل مقالة التحليل الخطي التمييزي ونرى

مثال في R

يولد الكود التالي مجموعة بيانات وهمية بمتغيرين مستقلين X1 و X2 ومتغير تابع ص . إلى عن على X1 و X2 ، سنقوم بتوليد عينة من توزيعين غاوسيين متعددي المتغيرات بالوسائل & # 120583 -واحد = (2، 2) و & # 120583 +1 = (6 ، 6) . 40٪ من العينات تنتمي إلى الفصل +1 و 60٪ ينتمون إلى الفصل -واحد ، وبالتالي ص = 0.4 .

مكتبة (ggplot2) مكتبة (MASS) (mvtnorm) # مصفوفة التباين المشترك لعينة gaussian العشوائية ثنائية المتغير var_covar = matrix (data = c (1.5، 0.3، 0.3، 1.5)، nrow = 2) # عينات عشوائية ثنائية المتغير gaussian للفئة + 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 باستخدام البيانات المذكورة أعلاه.

# تدريب نموذج LDA باستخدام مجموعة البيانات أعلاه lda_model<- lda(Y ~ X1 + X2, data = dataset) #Print the LDA model lda_model 

انتاج:

الاحتمالات السابقة للمجموعات:

كيفية استخدام charat في جافا

-أحد عشر

0.6 0.4

المجموعة تعني:

X1 X2

-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 هو تقدير المعلمة ص . ال ب المتجه هو المعاملات المميزة الخطية.

سنستخدم الآن النموذج أعلاه للتنبؤ بتسميات الفئات لنفس البيانات.

# توقع فئة كل عينة في مجموعة البيانات أعلاه باستخدام نموذج LDA 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 تم تصنيفها بشكل صحيح بواسطة نموذج LDA. وبالمثل ، فإن العينات الحمراء من الفصل -واحد التي تم تصنيفها بشكل صحيح. الأزرق هم من الطبقة +1 ولكن تم تصنيفها بشكل غير صحيح على أنها -واحد . الاخضر من الصف -واحد التي تم تصنيفها بشكل خاطئ على أنها +1 . تحدث حالات الخطأ في التصنيف لأن هذه العينات أقرب إلى متوسط ​​الفئة الأخرى (المركز) من متوسط ​​الفئة الفعلي.

هذا يقودنا إلى نهاية هذه المقالة ، تحقق من من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. ستساعدك تحليلات البيانات مع تدريب R من Edureka على اكتساب الخبرة في برمجة R ومعالجة البيانات وتحليل البيانات الاستكشافية وتصور البيانات واستخراج البيانات والانحدار وتحليل المشاعر واستخدام R Studio لدراسات الحالة الواقعية على البيع بالتجزئة والوسائط الاجتماعية.

لديك سؤال لنا؟ يرجى ذكرها في قسم التعليقات بهذه المقالة وسنعاود الاتصال بك في أقرب وقت ممكن.