הורדת מימדיות 10 : פרק - Technion moodle

‫הטכניון – הפקולטה להנדסת חשמל‬
‫אביב תשס"ט‬
‫הרצאות במערכות לומדות‬
‫מאת‪ :‬שי מנור‬
‫פרק ‪ :10‬הורדת מימדיות‬
‫‪10.1‬‬
‫מבוא ופירוק ‪SVD‬‬
‫‪10.2‬‬
‫קירובים ליניאריים מדרגה נמוכה וישומים‬
‫‪10.3‬‬
‫‪ Lasso‬ו ‪Ridge Regression‬‬
‫‪10.1‬‬
‫מבוא ופירוק ‪SVD‬‬
‫ראשית נזכיר משפט מאלגברה ליניארית‪ .‬תהא ‪ S‬מטריצה ‪ MxM‬מדרגה ‪ .M‬אזי ניתן לרשום‬
‫אותה בתור‪:‬‬
‫‪−1‬‬
‫‪ S = U ΛU‬כאשר ‪ U‬מטריצת הו"ע של ‪ S‬ו ‪ Λ‬מטריצה אלכסונית שכניסותיה‬
‫הע"ע של ‪.S‬‬
‫מטריצות ריבועיות נדירות בישומים ולכן‪ ,‬למרות האטרקטיביות של משפט הפירוק לעיל‪ ,‬נשתמש‬
‫במשפטי פירוק למטריצות מלבניות‪ .‬בהינתן מטריצה ‪ C‬בגודל ‪ ,MxN‬נגדיר את‪:‬‬
‫‪ U .1‬היא המטריצה ‪ MxM‬שעמודותיה הו"ע האורתוגונליים של ‪. CC T‬‬
‫‪ V .2‬היא המטריצה ‪ NxN‬שעמודותיה הו"ע האורתוגונליים של ‪. C T C‬‬
‫משפט‪ (Singular value decomposition) :‬תהא ‪ r‬דרגת המטריצה ‪ .C‬אזי ניתן לרשום‪:‬‬
‫‪C = U ΣV T‬‬
‫כאשר‪:‬‬
‫‪ λ1 ,…, λr .1‬הם הע"ע של ‪) CC T‬ושל ‪) ( C T C‬המסודרים מגדול לקטן(‬
‫‪ .2‬המטריצה ‪ Σ‬היא מטריצה ‪ MxN‬המקיימת‪ ( 1 ≤ i ≤ r ) Σii = λi :‬ו‪ Σ ij = 0 -‬אחרת‪.‬‬
‫למספרים ‪ ( 1 ≤ i ≤ r ) Σii = λi‬קוראים הערכים הסינגולריים של ‪.C‬‬
‫אם נכפיל את ‪ C‬ב‪ C T -‬מקבלים‪:‬‬
‫‪= U Λ 2U T‬‬
‫)‬
‫‪T‬‬
‫(‬
‫‪CC T = U ΛV −1 U ΛV −1‬‬
‫ומכאן שהערכים הסינגולריים מכלילים את הע"ע‪.‬‬
‫‪ 10.2‬קירובים ליניאריים מדרגה נמוכה‬
‫הבעייה המרכזית עם גישת ה‪ SVD -‬היא שבאופן שללי המטריצה ‪ C‬היא מדרגה מלאה‪ .‬על מנת‬
‫לאפשר הורדת דרגה יש להשתמש בשיטות קירוב‪ .‬תהא ‪ C‬מטריצה בגודל ‪ MxN‬ונניח ש ‪Ck‬‬
‫פרק ‪ : 10‬הורדת מימדיות‬
‫הרצאות במערכות לומדות )תשס"ט(‬
‫מטריצה מדרגה ‪ k‬לכל היותר‪ .‬נגדיר את ‪ X‬להיות מטריצת ההפרש‪ . X = C − Ck :‬נורמת‬
‫פרוביניוס של ההפרש מוגדרת כ‪:‬‬
‫‪N‬‬
‫‪ij‬‬
‫‪M‬‬
‫‪∑∑ X‬‬
‫=‬
‫‪i =1 j =1‬‬
‫‪F‬‬
‫‪X‬‬
‫מטרתנו למצוא את המטריצה ‪ Ck‬שמביאה למינימום את נורמת ההפרש תוך שמירה על דרגה ‪.k‬‬
‫כאשר ‪ k‬קטנה משמעותית מ‪) r -‬דרגת ‪ (C‬אנו אומרים שיש לנו קירוב מדרגה נמוכה‪.‬‬
‫משפט ה‪ SVD -‬יכול לשמש על מנת לפתור את בעיית הקירוב מדרגה נמוכה‪ .‬ניתן להפעיל את‬
‫התהליך הבא‪:‬‬
‫‪ .1‬בהינתן ‪ ,C‬בנה את ה‪ SVD -‬בצורה ‪C = U ΣV T‬‬
‫‪ .2‬מתוך ‪ Σ‬צור את המטריתה ‪ Σ k‬על ידי איפוס ‪ r-k‬הערכים הסינגולריים הקטנים על‬
‫האלכסון של ‪. Σ‬‬
‫‪ .3‬הפלט של הבעיה הוא ‪ Ck = U Σ kV T‬בקירוב מדרגה נמוכה‪.‬‬
‫קל לראות שדרגת ‪ Ck‬היא לכל היותר ‪.k‬‬
‫ניתן להוכיח שהתהליך לעיל אופטימלי במובן נורמת פרובניוס‪:‬‬
‫‪= λk +1‬‬
‫‪F‬‬
‫‪= C − Ck‬‬
‫‪F‬‬
‫‪C−Z‬‬
‫‪min‬‬
‫‪Z :rank ( Z ) = k‬‬
‫ישומים‬
‫אחד היישומים הנפוצים של קירוב מדרגה נמוכה הוא אינדוקס סמנטי )‪.(semantic indexing‬‬
‫במסגרת אינדוקס סממנטי מיצגים מסמך )עמוד ‪ ,WEB‬מסמך משפטי‪ ,‬וכ"ו( כשורה במטריצת‬
‫כניסה שעמודותיה המילים האפשריות באנגלית‪ .‬מובן שהמטריצה דלילה ביותר‪ .‬שאילתא‬
‫במקרה זה תחפש מילה במסמך‪ .‬למשל‪ ,‬המסמך ‪ d‬מתואר כוקטור והשאילתא ‪) q‬שניהם במרחב‬
‫המילים( ונגדיר את הקורלציה כ‪ q ⋅ d -‬כמדד הקרבה )בד"כ מנרמלים(‪.‬‬
‫ראשית ניתן קצת מוטיבציה‪ :‬יש שתי בעיות מרכזיות בגישה‪ :‬סינונימיות )‪(synonymyty‬‬
‫ופוליסמיות )‪ .(polysemy‬סינונימיות מתארת את המקרה ששתי מילים דומות מאוד מבחינת‬
‫משמעות )מכונית ואוטו(‪ .‬ולכן לקיחת השאילתא מכונית ומסמך מסויים בו המילה אוטו ומכונית‬
‫מופיעול לסירוגין תוביל להערכת חסר )‪ (underestimation‬של הקשר למילה מכונית‪ .‬הבעייה‬
‫השניה היא הבעייה ההפוכה‪ :‬יש מילים כגון מטען שיש להן משמעויות שונות )חשמלית‪,‬‬
‫‪ (luggage‬ולכן כ‪ q ⋅ d -‬כמדד הקרבה עלול להעריך יתר )‪ (overestimate‬את הקרבה‪ .‬היינו רוצים‬
‫שמילה כגון מטען תקושר לחשמל כרכיב אחד‪.‬‬
‫‪2‬‬
‫פרק ‪ : 10‬הורדת מימדיות‬
‫הרצאות במערכות לומדות )תשס"ט(‬
‫השימוש ב‪ SVD -‬לפיכך משרת שתי מטרות‪:‬‬
‫‪ .1‬חישובית עבודה במרחב ממימד נמוך יותר קלה הרבה יותר‪.‬‬
‫‪ .2‬אני מצפים שאיכות הסיווג תשתפר )!( מאחר ומילים נרדפות ישוייכו לאותו כיוון בפירוק‬
‫ומילים בעלות משמעויות רבות יהפכו למספר כיוונים שונים‪.‬‬
‫על מנת לחשב את השאילתא המצומצמת )ל‪ k -‬מימדים( נחשב‪:‬‬
‫‪qk = Σ −k 1U k T q‬‬
‫דוגמא‪http://nlp.stanford.edu/IR-book/html/htmledition/latent-semantic-indexing-) :‬‬
‫‪(1.html‬‬
‫נתונה מטריצת האינדקס הסמנטי הבאה‪:‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪ship‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪boat‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪ocean‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪voyage 1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪trip‬‬
‫‪0‬‬
‫המטריצה ‪ U‬מפירוק ‪ SVD‬היא‪:‬‬
‫‪3‬‬
‫‪2‬‬
‫‪1‬‬
‫‪5‬‬
‫‪4‬‬
‫‪0.73‬‬
‫‪0.00‬‬
‫‪boat‬‬
‫‪0.00‬‬
‫‪ocean‬‬
‫‪ship‬‬
‫‪0.16‬‬
‫‪0.15‬‬
‫‪0.58‬‬
‫‪3‬‬
‫‪0.35‬‬
‫‪voyage‬‬
‫‪0.65‬‬
‫‪trip‬‬
‫פרק ‪ : 10‬הורדת מימדיות‬
‫הרצאות במערכות לומדות )תשס"ט(‬
‫הערכים הסינגולריים ) ‪( Σ‬‬
‫‪2.16 0.00 0.00 0.00 0.00‬‬
‫‪0.00 1.59 0.00 0.00 0.00‬‬
‫‪0.00 0.00 1.28 0.00 0.00‬‬
‫‪0.00 0.00 0.00 1.00 0.00‬‬
‫‪0.00 0.00 0.00 0.00 0.39‬‬
‫על ידי איפוס כל הערכים הסינגולריים למעט שני הגדולים וחישוב המטריצה ‪ C2‬מקבלים‪:‬‬
‫‪1‬‬
‫‪0.65‬‬
‫‪0.35‬‬
‫‪1.00‬‬
‫‪2‬‬
‫‪0.00‬‬
‫‪0.00‬‬
‫‪0.00‬‬
‫‪0.00‬‬
‫‪0.00‬‬
‫‪0.00‬‬
‫‪3‬‬
‫‪0.00‬‬
‫‪0.00‬‬
‫‪0.00‬‬
‫‪0.00‬‬
‫‪0.00‬‬
‫‪0.00‬‬
‫‪4‬‬
‫‪0.00‬‬
‫‪0.00‬‬
‫‪0.00‬‬
‫‪0.00‬‬
‫‪0.00‬‬
‫‪0.00‬‬
‫‪5‬‬
‫‪ Lasso 10.3‬ו‪Ridge Regression -‬‬
‫‪ 10.3.1‬מבוא‬
‫לפני שנדון ברגרסיה נתבונן בבעיית שערוך ממוצע תחת אילוצים‪:‬‬
‫‪subject to μ 2 ≤ C‬‬
‫‪2‬‬
‫‪n‬‬
‫) ‪∑ (Y − μ‬‬
‫‪i‬‬
‫‪i =1‬‬
‫בעזרת כופלי לגרנז הבעייה שקולה ל‪:‬‬
‫‪+λC μ 2‬‬
‫‪2‬‬
‫‪n‬‬
‫) ‪∑ (Y − μ‬‬
‫‪i‬‬
‫‪Minimize‬‬
‫‪i =1‬‬
‫נגזור‪:‬‬
‫‪μˆ C = 0‬‬
‫‪n‬‬
‫‪∑ (Y − μˆ ) +2λ‬‬
‫‪C‬‬
‫‪C‬‬
‫‪i‬‬
‫‪4‬‬
‫‪i =1‬‬
‫‪-2‬‬
‫‪Minimize‬‬
‫פרק ‪ : 10‬הורדת מימדיות‬
‫הרצאות במערכות לומדות )תשס"ט(‬
‫ונקבל‪:‬‬
‫‪n‬‬
‫‪n‬‬
‫‪n + λC‬‬
‫‪= K CY ,‬‬
‫= ‪KC‬‬
‫‪∑Y‬‬
‫‪i‬‬
‫‪i =1‬‬
‫‪n + λC‬‬
‫= ‪μˆ C‬‬
‫)*(‬
‫ורואים שהאפקט של ‪ C‬קריטי‪:‬‬
‫‪C → 0, μˆC → Y‬‬
‫‪C → ∞ μˆ C → 0‬‬
‫מסקנה‪ :‬האפקט של רגולריזציה הוא אפקט מכווץ )‪.(shrinking‬‬
‫בתרגול נראה ש‪:‬‬
‫‪+λC μ 2‬‬
‫‪2‬‬
‫‪n‬‬
‫) ‪∑ (Y − μ‬‬
‫‪i‬‬
‫‪Minimize‬‬
‫‪i =1‬‬
‫שקול לשערוך ‪ (maximum a-posteriori) MAP‬של ‪ μ‬עם פריור גאוסי‪.‬‬
‫הסתכלות שקולה לפיכך היא להטות את הפתרון )‪ (bias‬בכיוון רצוי‪ .‬השאלה היא כיצד למצוא‬
‫הטייה מועילה‪ .‬האינטרפרטציות הן‪:‬‬
‫‪ .1‬בייסיאנית‪ :‬מציאת פריור מתאים‬
‫‪ .2‬סיבוכיות‪ :‬פתרון פשוט )נורמה קטנה( לעומת פתרון מסובך )נורמה גדולה(‬
‫‪Ridge Regression 10.3.2‬‬
‫נתבונן כעת ברגרסיה רב מימדית ונניח‪:‬‬
‫‪ .1‬ל‪ X -‬ממוצע ‪ ,0‬וקטור ‪ p‬מימדי‪.‬‬
‫‪ .2‬ל‪ Y -‬ממוצע ‪0‬‬
‫נחפש רגרסור מהצורה ‪ . Y ≈ β T X‬למודל כזה קוראים המודל הסטנדרטי‪.‬‬
‫נגדיר את הפונקציה הבאה‪:‬‬
‫‪2‬‬
‫‪2‬‬
‫‪+λ β‬‬
‫‪2‬‬
‫) ‪∑ (Y − X β‬‬
‫‪n‬‬
‫‪T‬‬
‫‪i‬‬
‫‪i‬‬
‫‪i =1‬‬
‫= ) ‪SSE λ ( β‬‬
‫ה‪ β -‬שמביא למינימום את ) ‪ SSEλ ( β‬הוא הפתרון של בעיית ה‪:ridge regression -‬‬
‫‪2‬‬
‫‪2‬‬
‫‪β ) +λ β‬‬
‫‪2‬‬
‫‪∑ (Y − X‬‬
‫‪n‬‬
‫‪T‬‬
‫‪i‬‬
‫‪i‬‬
‫‪Minimize‬‬
‫‪i =1‬‬
‫‪5‬‬
‫פרק ‪ : 10‬הורדת מימדיות‬
‫הרצאות במערכות לומדות )תשס"ט(‬
‫קל לראות שהבעייה שקולה לבעיית אופטימיזציה עם אילוצים על הנורמה של הרגרסור ‪β‬‬
‫)מכופלי לגרנז'( ולפיכך בעיית האפוטימיזציה היא בעיה קמורה‪.‬‬
‫‪ LASSO‬היא בעיית האופטימיזציה בה נורמת ‪ 2‬של איבר הרגולריזציה מוחלף ע"י נורמת ‪ ,1‬ז"א‪:‬‬
‫) ‪β ) +λ ∑ β ( k‬‬
‫‪p‬‬
‫‪2‬‬
‫‪∑ (Y − X‬‬
‫‪n‬‬
‫‪T‬‬
‫‪i‬‬
‫‪k =1‬‬
‫‪i‬‬
‫‪Minimize‬‬
‫‪i =1‬‬
‫נחזור לבעיית ה‪ .Ridge regression -‬נגזור לפי ‪ β‬ונקבל‪:‬‬
‫) ‪SSE λ ( β ) = 2∑ (Yi − X iT β ) X iT ( k ) +2λβ ( k‬‬
‫‪n‬‬
‫‪i =1‬‬
‫∂‬
‫) ‪∂β ( k‬‬
‫וברישום מטריצי לאחר השוואה ל‪ 0-‬נקבל‪:‬‬
‫‪−Y T X + βˆλ T ( X T X + λ I ) = 0‬‬
‫)נשים לב‪ βλ :‬היא וקטור ‪ p‬מימדי‪ Y ,‬וקטור ‪ n‬מימדי ו‪ X -‬מטריצה ‪(.nxp‬‬
‫ולכן‪:‬‬
‫‪−1‬‬
‫) ‪βˆλ T = Y T X ( X T X + λ I‬‬
‫)היפוך המטריצה מותר תמיד כי ‪(. λ > 0‬‬
‫זו הגרסה הוקטורית של משערך הממוצע )*(‪ .‬נעיר שהאינטרפטציה הבייסיאנית עובדת גם כאן‬
‫)ראה תרגול(‬
‫‪LASSO 10.3.3‬‬
‫אלגוריתם ‪ LASSO‬מבוסס על פתרון בעיית האופטימיזציה‪:‬‬
‫‪p‬‬
‫) ‪+λ ∑ β ( k‬‬
‫‪k =1‬‬
‫‪2‬‬
‫) ‪∑ (Y − X β‬‬
‫‪n‬‬
‫‪T‬‬
‫‪i‬‬
‫‪i‬‬
‫‪Minimize‬‬
‫‪i =1‬‬
‫קל לראות שזוהי בעייה קמורה עם אילוץ על נורמת ‪ 1‬של ‪ . β‬למרבית הצער‪ ,‬הערך המוחלט מונע‬
‫מאיתנו גזירה נוחה של פונקציית המטרה‪ .‬למרות זאת ניתן לחשב את הפסאודו‪-‬גרדיאנט של‬
‫פונקציית המטרה וקיימים אלגוריתמים יעילים לפיתרון בעיית האופטימיזציה‪.‬‬
‫אלגוריתם ה‪ LASSO -‬עובד היטב אם קיימים פתרונות דלילים )ז"א רוב הקאורדינטות של‬
‫‪ β‬הם ‪.(0‬‬
‫‪ 10.3.4‬בחירת ‪λ‬‬
‫אם היינו יודעים את ה‪ MSE -‬של מסווג מסויים היינו בוחרים את המסווג עם ה‪MSE -‬‬
‫המינימלי‪ .‬ניתן לשערך את ה‪ MSE -‬ע"י אימות צולב )‪.(Cross Validation‬‬
‫‪6‬‬
‫פרק ‪ : 10‬הורדת מימדיות‬
‫הרצאות במערכות לומדות )תשס"ט(‬
‫שיטה אחרת היא לרשום חסם הכללה התלוי ב‪ , λ -‬כפי שנעשה בהרצאה הדנה בתיאוריה‪.‬‬
‫נסיים בהבחנה מעניינת‪ .‬ניתן להתבונן במטריצה הבאה‪:‬‬
‫‪Sλ = ( X T X + λ I ) X T‬‬
‫‪−1‬‬
‫המקיימת )עבור ‪ . βˆλ = Sλ Y :(Ridge Regression‬ניתן לחשוב על ‪ Sλ‬כהטלה ממרחב ‪ n‬מימדי‬
‫למרחב ‪ p‬מימדי‪ .‬עבור ‪ λ = 0‬מספר דרגות החופש הוא ‪ ,p‬וככל שנגדיל את ‪ λ‬יקטן מספר דרגות‬
‫החופש האפקטיביות שניתן להעריכו ע"י ) ‪. n − TR ( Sλ‬‬
‫‪7‬‬