אלגוריתם תוחלת-מקסום

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
Gnome-edit-clear.svg ערך זה זקוק לעריכה: ייתכן שהערך סובל מפגמים טכניים כגון מיעוט קישורים פנימיים, סגנון טעון שיפור או צורך בהגהה, או שיש לעצב אותו.
אתם מוזמנים לסייע ולתקן את הבעיות, אך אנא אל תורידו את ההודעה כל עוד לא תוקן הדף. אם אתם סבורים כי אין בדף בעיה, ניתן לציין זאת בדף השיחה.
דוגמה לשימוש באלגוריתם תוחלת-מקסום לצורך אשכול (Clustering). בדוגמה זו מוצג מידע על התפרצויות גייזר אולד פייתפול ציר ה-X משך ההתפרצות של גייזר, וציר ה-Y הזמן שחלף מההתפרצות הקודמת. האלגוריתם מגיע להתכנסות ולסיווג לשני סוגים.

אלגוריתם תוחלת–מקסום (באנגלית: Expectation–maximization; ובקיצור: EM) הוא שיטה איטרטיבית למציאת אומדי נראות מקסימלית לפרמטרים, במודלים סטטיסטיים התלויים במשתנים חבויים שלא נצפו. מודל איטרציה זה עובר בין שני שלבים: שלב התוחלת (שלב ה-E), אשר יוצר פונקציה על התוחלת של לוג הנראות המוערך באמצעות האומדן הנוכחי עבור הפרמטרים, ושלב מקסום (שלב ה-M), אשר מחשב את הפרמטרים כדי למקסם את תוחלת לוג הנראות שנמצאו בשלב התוחלת. פרמטרי הערכות אלה משמשים לאחר מכן לקבוע את ההתפלגות של המשתנים החבויים בשלב התוחלת הבא.

היסטוריה[עריכת קוד מקור | עריכה]

אלגוריתם תוחלת-מקסום הוסבר וקיבל את שמו לראשונה בשנת 1977 במאמר מאת ארתור דמפסטר, נאן ליירד, ודונלד רובין. מחברים אלה ציינו שהשיטה הועלתה בעבר בנסיבות שונות על ידי מחברים אחרים. דמפסטר-ליירד-רובין הגדירו את שיטת תוחלת-מקסום ככלי חשוב בניתוח סטטיסטי, לפתרון מגוון רחב ביותר של בעיות. ניתוח ההתכנסות של דמפסטר-ליירד-רובין היה פגום, וניתוח התכנסות נכון פורסם על ידי ס.פ ג'ף וו ב-1983.

מבוא[עריכת קוד מקור | עריכה]

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

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

תיאור מתמטי[עריכת קוד מקור | עריכה]

בהינתן מודל סטטיסטי המורכב מסדרת מדידות X, קבוצת נתונים סמויים שאינם נראים או ערכים חסרים Z, ווקטור של פרמטרים לא ידועים θ, ופונקציית נראות , הערכת הנראות המרבית של הפרמטרים הלא ידועים נקבעת על ידי הנראות השולית של נתונים הנצפים: אלגוריתם תוחלת-מקסום מבקש למצוא את הערכת הנראות המרבית של הנראות השולית על ידי יישום איטרטיבי של שני הצעדים הבאים:

שלב תוחלת (שלב ה-E): חישוב תוחלת הלוגריתם של פונקציית הנראות, ביחס להתפלגות המותנית של X ו-Z, תחת האומדן הנוכחי של הפרמטרים :

שלב מקסום (שלב ה-M): מצא את הפרמטר שמגדיל כמות זו:

המודלים שבהם אופייני להשתמש באלגוריתם תוחלת-מקסום:

  1. הערכים שנמדדו X יכולים להיות בדידים או רציפים (מקבלים ערכים מקבוצה אינסופית). למעשה ייתכן שיש וקטור של ערכים בכל אחת מהתצפיות.
  2. הערכים החסרים Z הם בדידים, ונמשכים ממספר קבוע של משתנים, ויש משתנה חבוי אחד לכל קבוצת משתנים שנצפתה.
  3. הפרמטרים הם רציפים, ומשני סוגים: פרמטרים הקשורים לכל נקודות הנתונים ופרמטרים הקשורים עם ערך מסוים של המשתנה הסמוי.

עם זאת, ניתן להחיל את אלגוריתם תוחלת-מקסום על כל מיני מודלים.

המוטיבציה היא כזו: אם אנחנו יודעים את הערך של הפרמטר θ, אנחנו בדרך כלל יכולים למצוא את ערכיהם של המשתנים הסמויים Z על ידי מקסימיזציית לוג הנראות על כל הערכים האפשריים של Z, אפשר פשוט על ידי איטראציה על Z או דרך אלגוריתם כגון אלגוריתם ויטרבי עבור מודלי מרקוב חבויים. לעומת זאת, אם אנחנו יודעים את הערך של המשתנים הסמויים Z, נוכל להעריך את הפרמטר θ בקלות יחסית, בדרך כלל על ידי קיבוץ הנתונים שנצפו על פי ערכו של המשתנה הסמוי הקשור, וחישוב הממוצע (או פונקציה כלשהי) של ערכי הנקודות בכל קבוצה. הדבר מצביע על אלגוריתם איטרטיבי, במקרה שבו הן הקבוצה Z והן הווקטור θ לא ידוע:

  1. ראשית, צריך לאתחל את הפרמטר θ לערך אקראי כלשהו.
  2. לחשב את ההסתברות לכל ערך Z לפי ערכי פרמטרים אלה.
  3. להשתמש בערכי Z שחושבו, לחישוב אומדן טוב יותר עבור הפרמטר θ. פרמטרים הקשורים לערך מסוים של Z ישמשו רק עם נקודות המידע אשר המשתנים החבויים שמקושרים איתם הם בעלי אותו הערך.
  4. לחזור על השלבים 2 ו-3 עד להתכנסות.

הוכחת נכונות[עריכת קוד מקור | עריכה]

אלגוריתם תוחלת-מקסום פועל לשיפור במקום ישירות לשיפור . כאן אנו מראים כי שיפורים לראשון רומזים לשיפורים לאחרון. עבור כל Z בהסתברות שאינה אפס אנחנו יכולים לכתוב:

אנחנו לוקחים את התוחלת על ערכים של Z על ידי הכפלת שני הצדדים ב- וסיכום על Z. צד שמאל הוא תוחלת של קבוע, כך שאנו מקבלים:

מוגדר על ידי הסכום הנשלל שהוא מחליף. המשוואה זו מחזיקה עבור כל ערך θ כולל ,

וחיסור המשוואה האחרונה, זו מהמשוואה הקודמת נותן

עם זאת, אי השוויון של גיבס אומר לנו .

מאפיינים[עריכת קוד מקור | עריכה]

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

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

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

יישומים[עריכת קוד מקור | עריכה]

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

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

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

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

כאשר ו- אומדני מדינת סקלר מחושבים על ידי מסנן או חלק יותר. ההערכה מקדם מודל המעודכן מתקבלת באמצעות: .

גרסאות[עריכת קוד מקור | עריכה]

מספר שיטות הוצעו על מנת להאיץ את ההתכנסות האטית של אלגוריתם תוחלת-מקסום, כדוגמת אלה המשתמשים בשיפוע צמוד והותאם לטכניקות ניוטון-רפסון. בנוסף ניתן להשתמש ב-EM לטכניקות הערכה מאולצות. מקסום מותנה תוחלת מחליף כל צעד של מקסום עם רצף של שלבי מקסום מותנים שבכל פרמטר θi מוגדל באופן אישי, בין התנאים על הפרמטרים האחרים שנותרו קבועים. רעיון זה, להאריך את האלגוריתם עוד יותר במקסום תוחלת כללי, שבו רק אחד מבקש עלייה בפונקציית המטרה F עבור שני הצעדים תוחלת ומקסום תחת התיאור החלופי. ניתן גם לשקול את אלגוריתם תוחלת-מקסום כסדרה של אלגוריתם מקסום-מקסום, ולכן ניתן שימוש בכל המכונות שפותחו במקרה הכללי יותר.

אלגוריתם תוחלת-מקסום-α[עריכת קוד מקור | עריכה]

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

הקשר לשיטות בייס השונות[עריכת קוד מקור | עריכה]

תוחלת-מקסום הוא באופן חלקי שיטת נראות השונה מהשיטה הבייסיאנית. התוצאה הסופית שלה נותנת התפלגות הסתברות על המשתנים החבויים (בסגנון בייס) יחד עם אומד נקודתי ל-θ. אנחנו אולי רוצים גרסה בייסיאנית מלאה, בהינתן התפלגות הסתברות על θ, כמו גם את המשתנים החבויים. למעשה ניתן להסיק מהגישה של בייס ש-θ היא עוד משתנה סמוי. ההבחנה בין צעדי התוחלת והמקסום נעלמת. אם אנו משתמשים בגרסה המלאה לקירוב Q כפי שתואר לעיל (הווריאציה של בייס), אנו עשויים לחזור על כל המשתנים הסמויים ולייעל אותם אחד בכל פעם. כעת יש k צעדים לכל איטרציה, כאשר k הוא מספר המשתנים הסמויים. למודלים גרפיים קל לעשות תלויי Q לכל משתנים, רק בשמיכת מרקוב שלה, כך שהעברת מידע מקומית יכולה לשמש למסקנה יעילה.

דוגמאות[עריכת קוד מקור | עריכה]

שלב התוחלת[עריכת קוד מקור | עריכה]

בהתחשב בהערכה הנוכחית שלנו של θ הפרמטרים (t), ההתפלגות המותנה של Zi נקבעה על ידי משפט בייס להיות הגובה היחסי של הצפיפות הנורמלית משוקללת לפי τ .

אלה נקראים הסתברויות החברות ואלו בדרך כלל נחשבים לפלט, צעד E זה תואם את הפונקציה עבור Q הבא:

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

M step[עריכת קוד מקור | עריכה]

הוא ביטוי ריבועי ב- Q(θ|θ(t) משמעות הדבר היא כי קביעת הערכים עבור מקסום של θ היא פשוטה יחסית. שימו לב כי ניתן להגדיל כל אחד מבין (τ, (μ1, Σ1) ו-(μ2, Σ2), באופן בלתי תלוי, שכן כל שהם מופיעים בתנאים לינארי נפרדים. כדי להתחיל, לשקול τ, שבה יש מגבלת τ1, τ2 = 1

שיש לה הצורה של אומד נראות מקסימלית להתפלגות הבינומית, ולכן

עבור האומדנים הבאים של (μ1, σ1)

זו יש לה הצורה כאומד נראות מקסימלית משוקלל להתפלגות נורמלית, ולכן

    וגם    

ומסימטריה:

    וגם     .