מה זה PCA, ולמה בכלל צריך לצמצם ממדים
ניתוח רכיבים עיקריים (PCA) הוא שיטה סטטיסטית לצמצום-ממדים: היא לוקחת נתונים המתוארים על ידי מספר רב של משתנים — למשל מאות עמודות בטבלה — ומוצאת עבורם קבוצה קטנה בהרבה של "רכיבים" חדשים, שכל אחד מהם הוא צירוף-ליניארי (משוקלל) של המשתנים המקוריים, לא משתנה חדש שנאסף בנפרד. ככל שיש למחשב פחות משתנים לעבד, כך קל יותר להדמיה חזותית, לאחסון, ולעיתים גם לאימון-מודל מהיר ויציב יותר בהמשך — בתנאי שהצמצום לא זורק בדרך את המידע החשוב באמת.
1901: קרל פירסון והבעיה הגיאומטרית
הרעיון הבסיסי פורסם לראשונה ב-1901 על ידי החוקר הבריטי קרל פירסון, במאמר "On Lines and Planes of Closest Fit to Systems of Points in Space" בכתב-העת Philosophical Magazine. פירסון ניסח את הבעיה כשאלה גיאומטרית טהורה: איזה קו (ואחר-כך מישור, ואחר-כך תת-מרחב רב-מימדי) הכי "קרוב" לענן שלם של נקודות בחלל, במובן שממזער את סכום-המרחקים בין הנקודות לבין הקו. זו הייתה עבודה שקדמה בהרבה לעידן המחשבים — פתרון מתמטי-גיאומטרי, לא אלגוריתם ניתן-להרצה — ופירסון לא השתמש עדיין במונח "רכיבים עיקריים" או במסגרת הסטטיסטית שמוכרת לשיטה כיום.
1933: הרולד הוטלינג וההגדרה הסטטיסטית
את הניסוח הסטטיסטי המודרני, ואת השם "רכיבים עיקריים" (Principal Components) עצמו, טבע ב-1933 הסטטיסטיקאי האמריקאי הרולד הוטלינג, במאמר "Analysis of a Complex of Statistical Variables into Principal Components" בכתב-העת Journal of Educational Psychology. הוטלינג הגיע לשיטה ממחקר בפסיכומטריקה — ניסיון למצוא "גורמים" חבויים מאחורי מכלול גדול של ציוני-מבחנים פסיכולוגיים — ופיתח אותה באופן עצמאי מפירסון, מבלי שהתייחס בהכרח למאמרו המוקדם ב-32 שנה. כיום מקובל להתייחס לשני המאמרים יחד: הרעיון הגיאומטרי של פירסון, וההגדרה הסטטיסטית הפורמלית והמינוח של הוטלינג.
איך PCA בוחר בפועל את הרכיבים
PCA מוצא בנתונים כיוון יחיד שלאורכו השונות (המידה שבה הנקודות מפוזרות) גדולה מכל כיוון אחר — זהו הרכיב הראשי הראשון. הרכיב השני נבחר כך שהוא ניצב (בזווית ישרה) לראשון, ולוכד את מירב-השונות שעוד נותרה; וכן הלאה, כשכל רכיב חדש ניצב לכל הרכיבים שלפניו. בזכות הסידור הזה, כמה רכיבים ראשונים בלבד מספיקים בדרך-כלל כדי לתאר את רוב המידע החשוב בנתונים — כך אפשר לזרוק את הרכיבים התחתונים בביטחון יחסי ולשמור רק על הבודדים העליונים.
שימושים בלמידת מכונה ובוויזואליזציה
PCA משמש בשני הקשרים עיקריים: כשלב-הכנה לפני אימון מודל למידת-מכונה אחר — כדי לצמצם מספר עצום של משתנים לכמה עשרות רכיבים בלבד, ובכך להאיץ את האימון ולהפחית רעש שעלול לבלבל את המודל; וכטכניקת-הדמיה, כשמצמצמים נתונים למימד שני או שלישי בלבד כדי לצייר גרף שאדם יכול להסתכל עליו ולזהות בו קבוצות או מגמות, גם כשמדובר במקור בנתונים בעלי מאות משתנים שאי-אפשר לצייר ישירות. שימוש נוסף, נפוץ פחות אך משמעותי, הוא ניקוי-רעש: כשהמידע החשוב מרוכז ברכיבים העליונים והרעש מתפזר בעיקר ברכיבים התחתונים, זריקת הרכיבים התחתונים ובנייה-מחדש מהעליונים בלבד יכולה למעשה לשפר את איכות הנתונים, לא רק לצמצם אותם.
מגבלה מרכזית: כשהקשר בנתונים אינו ליניארי
PCA הוא שיטה ליניארית בלבד — הרכיבים שהוא מוצא הם תמיד צירופים-משוקללים-פשוטים של המשתנים המקוריים, ולכן הוא לא לוכד קשרים מורכבים ומעוקלים בין משתנים, כמו מבנה בצורת ספירלה או קבוצות שמפוצלות בעיקול ולא לאורך קו ישר. כשהמבנה האמיתי בנתונים אינו ליניארי, שיטות מבוססות-רשת-נוירונים כמו מקודד אוטומטי (Autoencoder) יכולות ללמוד ייצוגים דחוסים עשירים בהרבה, כי כל שכבה ברשת יכולה להוסיף עיוות לא-ליניארי משלה. המחיר הוא בדרך-כלל פחות שקיפות מתמטית: אצל PCA אפשר לדעת בדיוק אילו משתנים מקוריים תורמים לכל רכיב ובאיזה משקל, בעוד שאצל מקודד אוטומטי הרכיבים הדחוסים לרוב חסרי-פירוש ישיר שכזה.