ניתוח רכיבים עיקריים – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מ תקלדה
אין תקציר עריכה
שורה 1:
[[קובץ:GaussianScatterPCA.png|שמאל|ממוזער|300px|דוגמה לניתוח גורמים ראשיים בשני ממדים. הווקטורים המאויירים מתאימים לגורם ראשי ראשון (הארוך) ולגורם ראשי שני (הקצר). הווקטורים הם וקטורים עצמיים של מטריצת השונות המתואמת שנורמלו על ידי שורשי הערכים העצמיים המתאימים, והוסטו כך שזנבם נמצא על ממוצע ההתפלגות. פיזור הנקודות בתמונה הוא לפי התפלגות גאוסיאנית דו-ממדית (עם ממוצע (1,3), סטית תקן 3 בכיוון (0.478, 0.878) וסטית תקן 1 בכיוון המאונך).]]
'''ניתוח גורמים ראשיים''' (אובאנגלית: בשמהPrincipal המקובלComponents בלעזAnalysis, בראשי תיבות: '''PCA''', Principal Components Analysis) היא שיטה [[סטטיסטיקה|סטטיסטית]] להתמרה ליניארית של נתונים למערכת קואורדינטות חדשה שבה המידע בקואורדינטות ה[[שונות]] הוא [[אורתוגונליות|אורתוגונלי]] ובעל שונות הולכת וקטנה. שימוש נפוץ בשיטה הוא לצורך למציאתמציאת ייצוג מ[[ממד (מתמטיקה)|ממד]] נמוך למידע רב-ממדימממד גבוה. שיטה זו הומצאה בשנת [[1901]] על ידי [[קרל פירסון]] והיא שימושית מאוד ב[[סטטיסטיקה]] וב[[למידהלמידת חישוביתמכונה]].
 
בהינתן מדגם של [[וקטור (אלגברה)|וקטור]]ים מממד d (שה[[ממוצע]] שלהן הוא אפס), ניתוח גורמים ראשיים ממיר אותם לקואורדינטות אחרות שגם בה הם מממד d, ולקואורדינטה הראשונה (הנקראת הגורם הראשי הראשון) יש את ה[[שונות]] (של איברים באותה הקואורדינטה בכל הווקטורים במדגם) הגדולה ביותר האפשרית, לקואורדינטה השניה (הגורם הראשי השני) יש את השונות הגדולה ביותר האפשרית תחת האילוץ שהיא אורתוגונלית לקואורדינטה הראשונה, וכן הלאה. ההתמרה ניתנת לייצוג ככפל של המטריצה המייצגת את ההתמרה במטריצה שעמודותיה הן וקטורי המדגם. כך, כל גורם ראשי הוא מכפלה פנימית עם שורה במטריצה המייצגת את ההתמרה, ושורות אלה נקראות הווקטורים הראשיים. הורדת המימד נעשית על ידי לקיחת מספר קטן של גורמים ראשיים בלבד, שהשונות שלהם היא הגדולה ביותר.
בהינתן מספר [[מדגם|דגימות]] מממד d (שה[[ממוצע]] שלהן הוא אפס), ניתן לחשב את d הגורמים הראשיים, שהם [[וקטור (אלגברה)|וקטור]]ים מממד d. הגורם הראשי הראשון יהיה הכיוון במרחב שלאורכו ה[[שונות]] של הדגימות היא מקסימלית. הגורם הראשי השני מאונך לגורם הראשי הראשון, ולאורכו השונות היא מקסימלית במרחב המאונך לגורם הראשון. הגורם הראשי השלישי גם הוא מאונך לראשון ולשני, וכך ניתן להמשיך ולמצוא גורמים ראשיים נוספים, כאשר כל אחד מאונך לכל הגורמים הקודמים, ובכיוונו השונות היא מקסימלית.
 
לדוגמה, נניח כי בידינו תוצאות של ניסוי הבוחן משקל, גובה וגיל. דגימות אלו נמצאות ב[[מרחב וקטורי]] תלת ממדי שהרכיבים של כל נקודה בו הם משקל, גובה וגיל. באמצעות ניתוח גורמים ראשיים ניתן להוריד את הממד של המידע לממד נמוך יותר אשר יכול לגלות קשרים בין המשתנים השונים. כך, במקום לאפיין אדם על ידי שלושת הפרמטרים - משקל, גובה וגיל, ייתכן כי ניתן לאפיין אותו על ידי שני פרמטרים בלבד, ומתוכם לשחזר את המשקל, הגובה והגיל שלו. לשם כך נחפש את [[הטלה (מתמטיקה)|ההטלה]] הליניארית האופטימלית אשר עליה ה[[שונות]] של המדגם היא רבה ככל הניתן, ואחר כך נפחית אותה מהמדגם ונחפש את ההטלה הבאה עם השונות הכי גדולה. אלו שני הווקטורים העיקריים הראשונים, שאם נטיל את המשקל, הגובה והגיל של אדם עליהם נקבל שני פרמטרים שממזערים את המידע שהולך לאיבוד.
לדוגמה, נניח כי מבצעים ניסוי הבוחן פרמטרים שונים, למשל: משקל, גובה וגיל. יש לנו מספר דגימות. דגימות אלו נמצאות למעשה במרחב תלת ממדי שהרכיבים של כל נקודה בה הם משקל, גובה וגיל מסוימים. באותו אופן, אם ישנם n פרמטרים שונים אשר נחקרים אזי הם מגדירים מרחב מממד n.
ניתוח גורמים ראשיים היא שיטה למצוא מסקנות מעניינות מתוך המידע הרב שנאסף בניסוי שכזה. השיטה מנסה להוריד את הממד של המידע לממד נמוך יותר אשר יכול לגלות מידע רב יותר וקשרים בין המשתנים השונים אשר נחקרים. לשם כך היא מחפשת את [[הטלה (מתמטיקה)|ההטלה]] הליניארית האופטימלית אשר עבור צירים מסוימים, משמרת [[שונות]] רבה ככל הניתן של המידע, ואחר כך מצמצמת את המידע [[קואורדינטות|לקורדינאטות]] שלו רק על אותם צירים. כך מקבלים מידע מעניין אך בממד נמוך יותר, אשר באותו ממד ניתן להבחין בקשרים מעניינים.
למעשה התהליך מסובב את המידע סביב הצירים השונים ומחפש מרחק קטן ביותר של המידע מהמרחב הנפרש על ידי אותם צירים. כל ציר שכזה נקרא גורם ראשי.
 
ניתוח גורמים ראשיים ניתן לחישוב באופן הבא:
PCA עושה שימוש בתהליך הבא כדי למצוא את הגורמים הראשיים:
#מפחיתים את הווקטור הממוצע מכל דגימה. לרוב גם מנרמלים כל דגימה לשונות של 1, אך בניגוד להפחתת הממוצע, פעולה זו אינה חובה.
* לרוב עושים סטנדרטיזציה למידע לפני התהליך: כלומר דואגים שהתוחלת תהיה 0 ושונות 1.
#מחשבים חישובאת מטריצת [[שונות משותפת|השונות המשותפת]] (covariance) כך:על כלידי תאהכפלת i,jמטריצת במטריצההדגימות הוא(לאחר השונותהפחתת המשותפתהממוצע) שלב[[מטריצה משתנהמשוחלפת|מטריצה i שנחקר ומשתנההמשוחלפת]] jשלה.
#מלכסנים לכסוןאת המטריצה. המטריצה סימטרית וממשית (גם חיובית), ולכן כל [[ערך עצמי|ערכיה העצמיים]] ממשיים וחיוביים. ממיינים את הערכים העצמיים בסדר יורד (ואת הווקטורים העצמיים בהתאם), ומנרמלים את הווקטורים העצמיים.
#הווקטורים העצמיים הם הווקטורים העיקריים. אם מטרתנו היא לבצע הורדת מימד, לוקחים כמה מהווקטורים העצמיים הראשונים (המתאימים לערכים העצמיים הגדולים ביותר).
# כעת, לוקחים את הערך העצמי הגדול ביותר - הוא כנגד הגורם הראשי ביותר. אם אנחנו רוצים להסביר 80% מהמידע עלינו לבחור ע"ע מהגדול אל הקטן בכמות כזו שכסכום אותם ערכים עצמיים הוא מעל 80% מסכום כל הערכים העצמיים. לפי מספר הע"ע שנבחר, נקבל את הממד החדש של המידע.
# עבור אותם ע"ע שבחרנו, נמצא את הווקטורים העצמיים. המטריצה אשר שורותיה הם הווקטורים העצמיים המתאימים, היא ההעתקה הליניארית האופטימלית אשר מורידה את הממד לממד חדש, בו ניתן לראותהמבצעת מבניםניתוח מענייניםגורמים במידעראשיים.
 
==מאפיינים==
==יתרונות השיטה==
* זו השיטה הליניארית להורדת מימד שעבורה השגיאה הריבועית הכוללת של שחזור הנתונים היא מינימלית.
* השיטה היא [[ליניארי]]ת, ולכן היא פשוטה ומהירה.
* מיקסום השונות למעשה ממקסם את המידע שיש בנתונים, מתוך הנחה שמה שמעניין במדגם הוא ההבדלים בין הדגימות ולא הממוצע שלהן.
* ניתן להראות שתחת הנחות מסוימות PCA היא השיטה הליניארית הטובה ביותר להורדת ממד.
* מקובלעל אף שמקובל לזנוח את רוב הגורמים הראשיים מלבד הגדולים ביותר, אך ייתכן כי יש נקודות מבט מעניינות דווקא במידעהגורמים שלאהקטנים ניתןיותר להסבירמכילים עלמידע ידי גורמים ראשיים גדולים ביותרמעניין.
* השיטה משתמשת באבחנה השימושית ששונות גבוהה מעידה על ממד מעניין. אם ניקח לדוגמה מדגם של נקודות במישור המפוזרות על ציר ה-x (כך שערך ה-y של כולן הוא 0), אז ציר ה-y לא יעניין אותנו. ואכן זהו מקרה קיצוני שבו השונות בכיוון ציר ה-y היא אפס. במקרה זה כדאי יהיה להציג את הנקודות באמצעות קואורדינטה אחת בלבד (על ציר ה-x).
* ניתןישנה להראותהרחבה שתחתלשיטה הנחותהמאפשרות מסוימותלבצע PCAהתמרה היאלא השיטה הליניארית הטובה ביותר להורדת ממדליניארית. אךדוגמה ייתכןפשוטה כילמקרה ישנהשבו העתקהזה אחרת שאינה ליניארית ועוזרת להסביר את המידע טוב יותר. דוגמה פשוטה לכךשימושי היא מדגם אחיד של נקודות מ[[מעגל היחידה]]. שימוש ב-PCA בצורתו הרגילה לא יועיל במקרה כזה כימשום השונותשהשונות זהה בכל כיוון. אולם, המרת הדגימות ל[[קואורדינטות קוטביות]] תאפשר לנו לזנוח את הגורם הראשי השני (שהוא הרדיוס הקבוע עם אפס שונות), ולשמר את הגורם הראשי הראשון - זווית הדגימות.
 
==חסרונות השיטה==
* ניתן להראות שתחת הנחות מסוימות PCA היא השיטה הליניארית הטובה ביותר להורדת ממד. אך ייתכן כי ישנה העתקה אחרת שאינה ליניארית ועוזרת להסביר את המידע טוב יותר. דוגמה פשוטה לכך היא מדגם אחיד של נקודות מ[[מעגל היחידה]]. שימוש ב-PCA לא יועיל במקרה כזה כי השונות זהה בכל כיוון. אולם, המרת הדגימות ל[[קואורדינטות קוטביות]] תאפשר לנו לזנוח את הגורם הראשי השני (שהוא הרדיוס הקבוע עם אפס שונות), ולשמר את הגורם הראשי הראשון - זווית הדגימות.
* מקובל לזנוח את רוב הגורמים הראשיים מלבד הגדולים ביותר, אך ייתכן כי יש נקודות מבט מעניינות דווקא במידע שלא ניתן להסביר על ידי גורמים ראשיים גדולים ביותר.
 
==קישורים חיצוניים==