אופטימיזציה לא מוגבלת
בפרק זה נעסוק במציאת מינימום של פונקציה ב-
לבעיה זו קוראים בעיית מינימיזציה/אופטימיזציה.
דוגמה:
להלן מקרה פשוט בו
, , והפונקציה נתונה: קל לראות שלפונקציה הזאת יש ערך מינימלי
בנקודה :
הפונקציה
בעלת ערך מינימלי מוחלט בראשית הצירים, ואין לה מקסימום. אם נהפוך אותה, נקבל את הפונקציה . לפונקציה זאת יהיה מקסימום מוחלט בראשית הצירים, ולא יהיה מינימום.
בבעיות אמיתיות ללא פתרון טריוויאלי, אנו לרוב לא יכולים למצוא את הנקודות מינימום רק מלהסתכל על הבעיה. למעשה, לרוב גם לא נדע כמה נקודות מינימום מקומיות יש, ואם הנקודה שהגענו אליה היא בכלל הנקודת מינימום הגלובלית.
כדי לפתור בעיות מינימיזציה, נוכל להמיר אותם לבעיית מערכת משוואות לא לינארית, ומשם לפתור בעזרת שיטת ניוטון. כדי לבצע את המרה זאת, נדרש כמו מקודם לפתח טור טיילור, רק הפעם מסדר
משפט:
פיתוח שיטת ניוטון
נניח של-
הערה:
שיטת ניוטון כאן רק יודעת למצוא לנו את הנקודות החשודות, אבל היא לא יודעת להבטיח לנו שהנקודות שנמצא הן נקודות מינימום.
כדי למצוא נקודות חשודות, נרצה לפתור את מערכת המשוואות הבאה:
כלומר, אנו מחפשים מתי הנגזרת הראשונה של
נסמן את ההסיין של
נשים לב ש-
אלגוריתם: שיטת ניוטון לאופטימיזציה לא מוגבלת
בהינתן בעיית מינימיזציה של
עבור
- נפתור
כדי למצוא את . - נציב
.
דוגמה:
נביט בפונקציה:
נמצא את הנקודות הקריטיות ע”י המערכת משוואות:
כאשר:
מבחינת הפתרון האנליטי, נקבל שיש לפונקציה מינימום ב-
, בו ערך הפונקציה הוא . בנוסף, יש גם נקודת אוכף ב- , כך שגם בו הגרדיאנט מתאפס, ואז .
הפונקציה הנתונה בדוגמה. יש לה מינימום ב-
וגם נקודת אוכף ב- . אם נפעיל את שיטת ניוטון עם ניחוש התחלתי
, נקבל את האיטרציות עם השגיאות הבאות: קיבלנו התכנסות יחסית מהירה אל הפתרון
.
אם היינו מתחילים מניחוש התחלתינקבל את האיטרציות עם השגיאות הבאות: הפעם הפתרון שלנו יתכנס לנקודת אוכף,
ולא לנקודת מינימום!
שיטות ירידת גרדיאנט וחזרה לאחור
ראינו מהדוגמה האחרונה שלפתור את בעיית המינימיזציה של פונקציה מסוימת יכולה להיות טיפה בעייתית.
נשים לב שלכל כיוון
וקטור
לשיטת ניוטון שראינו יש מספר יתרונות כמו התכנסות ריבועית. אבל, יש לה גם המון חסרונות:
- נדרש הקיום של ההסיין.
- נדרש חישוב של ההסיין.
- נדרש לפתור מערכת משוואות לינארית בכל איטרציה.
- לא ניתן לדעת אם השיטה תתכנס בכלל לנקודת מינימום, מקסימום או אפילו אוכף.
נביט בשיטה הבאה לטיפול בחסרונות אלו:
ירידת גרדיאנט (gradient descent)
במקום לפתור את המערכת משוואות
בחירת
מצד שני, אנו נאלצים לבחור גודל צעד
חיפוש קווי וחזרה לאחור
שיטות חיפוש קווי (line search) הן שיטות המתייחסות למציאת גודל צעד
בשיטת ניוטון עבור מערכת משוואות לא לינאריות, מאחורי הקלעים כבר בחרנו
לפיכך, בהינתן
כאשר
שיטה פשוטה הנקראת חזרה לאחור (backtracking) היא לבדוק את השיפור שלנו בין בחירת
נעצור כאשר קיבלנו את התנאי עצירה לעיל.
תרגיל:
חברת חלב רוצה לייצר חמאה. היא רוצה לדעת מהו המחיר האופטימלי שיאפשר לה להרוויח הכי הרבה. החברה חושבת שהיא יכולה לייצר
בנוסף, לאחר סקר שוק, הם מצאו את הנוסחה הבאה שמייצגת את הביקוש כתלות המחיר
לכן, כמות החמאה שהם יכולים למכור היא
לבסוף, החברה יכולה לבנות את פונקציית הרווח:
בעזרת ירידת גרדיאנט, מצאו את המחיר האופטימלי. התחילו מ-
איזה צעד מתכנס הכי מהר לפתרון?
פתרון:
נרצה למקסמם את הרווח, ולכן נשים מינוס על הפונקציה, כך שנהפוך את הבעיה למציאת מינימום של הפונקציה:
נמצא כי הגרדיאנט של הפונקציה:
הכיוון שלנו הוא
עבור
באותו אופן עבור ה-
עבור שני הצעדים הקטנים, השיטה מתכנסת למינימום של פונקציית המחיר,
עם
לסיכום, אפשר לומר שהשיטה מתכנסת הכי מהר עבור