כיצד ליישם ניתוח מפלה לינארי ב- R?



מאמר זה יגיד לך מהי ניתוח מפלה ליניארי וגם יתן לך הדגמה מפורטת באמצעות שפת תכנות R.

ניתוח מפלה לינארי הוא טכניקת למידת מכונה פופולארית מאוד המשמשת לפתרון בעיות סיווג. במאמר זה ננסה להבין את האינטואיציה והמתמטיקה שעומדים מאחורי טכניקה זו. דוגמה ליישום LDA ב ר מסופק גם כן.

אז בואו נתחיל אז





הנחת ניתוח מפלה לינארית

ניתוח מפלה לינארי מבוסס על ההנחות הבאות:

  • המשתנה התלוי י הוא דיסקרטי. במאמר זה נניח כי המשתנה התלוי הוא בינארי ולוקח ערכי מחלקה {+1, -1} . ההסתברות לדגימה השייכת למעמד +1 כלומר P (Y = +1) = p . לכן, ההסתברות לדגימה השייכת למעמד -אחד הוא 1-עמ ' .



  • המשתנה / ת העצמאיים איקס מגיעים מהפצות גאוסיות. ממוצע ההתפלגות הגאוסית תלוי בתווית הכיתה י . כלומר אם י אני = +1 ואז הממוצע של איקס אני הוא & # 120583 +1 אחרת זה כן & # 120583 -אחד . השונות & # 120590 2 זהה לשני השיעורים. באופן מתמטי, X | (Y = +1) ~ N (& # 120583 +1 , & # 120590 2 ) ו X | (Y = -1) ~ N (& # 120583 -אחד , & # 120590 2 ) , איפה נ מציין את ההתפלגות הנורמלית.

בעזרת מידע זה ניתן לבנות הפצה משותפת P (X, Y) למשתנה העצמאי והתלוי. לכן, LDA שייך למעמד של מודלים מסווגים גנרטיים . מסווג גנראטיבי הקשור באופן הדוק הוא Quadratic Discriminant Analysis (QDA). הוא מבוסס על כל אותן הנחות יסוד של LDA, אלא שהשונות המעמדית שונה.

בואו נמשיך במאמר ניתוח אנליטי מפלה ונראה

אינטואיציה

שקול את התפלגות הגאוס המותנית בכיתה עבור איקס בהתחשב בכיתה י . האיור שלהלן מציג את פונקציות הצפיפות של ההפצות. באיור זה, אם Y = +1 ואז הממוצע של איקס הוא 10 ואם Y = -1 , הממוצע הוא 2. השונות היא 2 בשני המקרים.

אינטואיציה - ניתוח אפליה ליניארית - אדוריקה

עכשיו נניח ערך חדש של איקס ניתן לנו. בואו פשוט נציין את זה כ- איקס אני . המשימה היא לקבוע את תווית הכיתה הסבירה ביותר לכך איקס אני , כלומר י אני . לשם פשטות נניח שההסתברות עמ ' של המדגם השייך לכיתה +1 זהה לזה של שייכות למעמד -אחד , כלומר p = 0.5 .

באופן אינטואיטיבי, זה הגיוני לומר שאם איקס אני קרוב יותר ל & # 120583 +1 ממה שהוא & # 120583 -אחד אז סביר יותר שזה י אני = +1 . יותר פורמלי, י אני = +1 אם:

| x אני - & # 120583 +1 |<|x אני - & # 120583 -אחד |

מנרמל את שני הצדדים על ידי סטיית התקן:

| x אני - & # 120583 +1 | / & # 120590<|x אני - & # 120583 -אחד | / & # 120590

בריבוע של שני הצדדים:

(איקס אני - & # 120583 +1 ) 2 / & # 120590 2 <(x אני - & # 120583 -אחד ) 2 / & # 120590 2

איקס אני 2 / & # 120590 2 + & # 120583 +1 2 / & # 120590 2 - 2 x אני & # 120583 +1 / & # 120590 2 אני 2 / & # 120590 2 + & # 120583 -אחד 2 / & # 120590 2 - 2 x אני & # 120583 -אחד / & # 120590 2

2 x אני (& # 120583 -אחד - & # 120583 +1 ) / & # 120590 2 - (& # 120583 -אחד 2 / & # 120590 2 - & # 120583 +1 2 / & # 120590 2 )<0

-2 x אני (& # 120583 -אחד - & # 120583 +1 ) / & # 120590 2 + (& # 120583 -אחד 2 / & # 120590 2 - & # 120583 +1 2 / & # 120590 2 )> 0

הביטוי הנ'ל הוא של הצורה bx אני + ג> 0 איפה b = -2 (& # 120583 -אחד - & # 120583 +1 ) / & # 120590 2 ו c = (& # 120583 -אחד 2 / & # 120590 2 - & # 120583 +1 2 / & # 120590 2 ) .

ניכר כי צורת המשוואה היא לינארי ומכאן השם אנליזה מפלה ליניארית.

בואו נמשיך במאמר ניתוח לינארי מפלה ונראה,

תיאור מתמטי של LDA

הנגזרת המתמטית של הביטוי ל- LDA מבוססת על מושגים כמו שלטון בייס ו מסווג אופטימלי של בייס . קוראים מתעניינים מוזמנים לקרוא עוד על מושגים אלה. ניתן למצוא דרך אחת להפיק את הביטוי כאן .

אנו נספק את הביטוי ישירות למקרה הספציפי שלנו היכן י לוקח שתי שיעורים {+1, -1} . אנו נרחיב את האינטואיציה המוצגת בסעיף הקודם למקרה הכללי שבו איקס יכול להיות רב מימדי. בוא נגיד שיש ל משתנים עצמאיים. במקרה זה הכיתה פירושה & # 120583 -אחד ו & # 120583 +1 יהיו וקטורים של ממדים k * 1 ומטריצת השונות-משתנות & # 120622 תהיה מטריצה ​​של ממדים k * k .

פונקציית הסיווג ניתנת כ-

Y = h (X) = סימן (ב ט X + c)

איפה,

b = -2 & # 120622 -אחד (& # 120583 -אחד - & # 120583 +1 )

c = & # 120583 -אחד ט & # 120622 -אחד & # 120583 -אחד - & # 120583 -אחד ט & # 120622 -אחד & # 120583 -אחד {-2 ln (1-p) / p}

פונקציית הסימן חוזרת +1 אם הביטוי ב ט x + c> 0 , אחרת זה חוזר -אחד . מונח היומן הטבעי ב ג נוכח כדי להתאים את העובדה שההסתברויות המחלקתיות לא צריכות להיות שוות עבור שני הכיתות, כלומר עמ ' יכול להיות כל ערך בין (0, 1), ולא רק 0.5.

לימוד פרמטרי המודל

ניתן מערך נתונים עם נ נקודות מידע (איקס אחד , י אחד ), (איקס 2 , י 2 ),… (איקס נ , י נ ) , אנחנו צריכים לאמוד p, & # 120583 -אחד , & # 120583 +1 ו & # 120622 . טכניקת הערכה סטטיסטית הנקראת הערכת הסבירות המרבית משמש לאמידת פרמטרים אלה. הביטויים לפרמטרים לעיל מובאים להלן.

& # 120583 +1 = (1 / N. +1 ) * & # 120506 i: yi = + 1 איקס אני

& # 120583 -אחד = (1 / N. -אחד ) * & # 120506 i: yi = -1 איקס אני

p = N +1 / N

& # 120622 = (1 / N) * & # 120506אני = 1: N (איקס אני - & # 120583 אני ) (איקס אני - & # 120583 אני ) ט

איפה נ +1 = מספר הדגימות בהן y אני = +1 ו נ -אחד = מספר הדגימות בהן y אני = -1 .

מבנה בסיסי של תוכנית Java

עם הביטויים לעיל, מודל LDA הושלם. ניתן לאמוד את פרמטרי המודל באמצעות הביטויים שלעיל ולהשתמש בהם בפונקציית המסווג כדי לקבל את תווית המחלקה של כל ערך קלט חדש של משתנה עצמאי. איקס .

בואו נמשיך במאמר ניתוח אנליטי מפלה ונראה

דוגמה ב- R

הקוד הבא מייצר מערך נתונים דמה עם שני משתנים בלתי תלויים X1 ו X2 ומשתנה תלוי י . ל X1 ו X2 , ניצור מדגם משתי התפלגויות גאוסיות רב-משתנות באמצעים & # 120583 -אחד = (2, 2) ו & # 120583 +1 = (6, 6) . 40% מהדגימות שייכות למעמד +1 ו- 60% שייכים למעמד -אחד , לכן p = 0.4 .

ספריית (ggplot2) ספריית (MASS) ספרייה (mvtnorm) # וריאנס מטריצה ​​משתנה עבור מדגם גאוס דו-משתני אקראי var_covar = מטריצה ​​(נתונים = c (1.5, 0.3, 0.3, 1.5), nrow = 2) # דוגמאות גאוס דו-משתנות אקראיות לכיתה + 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 

תְפוּקָה:

הסתברויות קודמות לקבוצות:

-אחת עשרה

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 . הסיווגים השגויים מתרחשים מכיוון שדגימות אלה קרובות יותר לממוצע (המרכז) האחר מממוצעו.

זה מביא אותנו לסוף מאמר זה, בדוק את מאת אדוריקה, חברת למידה מקוונת מהימנה עם רשת של יותר מ -250,000 לומדים מרוצים הפרוסים ברחבי העולם. ניתוח הנתונים של אדוריקה עם אימון R יסייע לכם לצבור מומחיות בתכנות R, מניפולציה של נתונים, ניתוח נתונים חקר, ויזואליזציה של נתונים, כריית נתונים, רגרסיה, ניתוח סנטימנטים ושימוש ב- R Studio למחקרי מקרה אמיתיים על קמעונאות, מדיה חברתית.

יש לך שאלה עבורנו? אנא הזכיר זאת בסעיף ההערות במאמר זה ונחזור אליך בהקדם האפשרי.