הרצאה 8 - שיערוך פילוג בשיטות פרמטריות וסיווג גנרטיבי

מה נלמד היום

בעיות בגישה הלא פרמטרית

הערה לגבי זמן הריצה בשלב בניית המודל ובשלב החיזוי

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

דוגמא

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

פריקה כאב בכתף נפיחות סימנים כחולים נימול ביד נזלת
1 + + + + + -
2 + + + + - -
3 + + + - + -
4 + + + + - +
5 - - - - - -
6 - + - - - +
7 - - - + - -
8 - + - - - -

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

שיערוך נאיבי - הנחת חוסר תלות בין המשתנים

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

px(x)=px1(x1)px2(x2)pxD(xD)=d=1Dpxd(xd)p_{\mathbf{x}}(\boldsymbol{x})= p_{\text{x}_1}(x_1) p_{\text{x}_2}(x_2) \dots p_{\text{x}_D}(x_D) =\prod_{d=1}^D p_{\text{x}_d}(x_d)

תחת הנחה זו נוכל לשערך את הפילוג של כל אחד מה pxd(xd)p_{\text{x}_d}(x_d) בנפרד. החיסרון של שיטה זו הוא שהיא מגבילה מאד את הפילוגים שניתן ללמוד.

מסווג בייס נאיבי

נוכל להשתמש בשערוך הנאיבי לפתרון בעיות סיווג. לשם כך אנו נשתמש בהנחת החוסר תלות לשיערוך של pxy(xy)p_{\mathbf{x}|\text{y}}(\boldsymbol{x}|y) ונניח כי ניתן לרשום את הפונקציית ההסתברות / צפיפות הסתברות המונתית באופן הבא:

pxy(xy)=px1y(x1y)px2y(x2y)pxDy(xDy)=d=1Dpxdy(xdy)p_{\mathbf{x}|\text{y}}(\boldsymbol{x}|y)= p_{\text{x}_1|\text{y}}(x_1|y) p_{\text{x}_2|\text{y}}(x_2|y) \dots p_{\text{x}_D|\text{y}}(x_D|y) =\prod_{d=1}^D p_{\text{x}_d|\text{y}}(x_d|y)

זאת אומרת שבהינתן y\text{y} הרכיבים של x\mathbf{x} בלתי תלויים סטטיסטית. אנו לא נרצה להניח חוסר תלות בין x\mathbf{x} ל y\text{y} מיכוון שזוהי בדיוק התלות שאנו מחפשים על מנת לבנות עלפיה את החיזוי של y\text{y} בהינתן x\mathbf{x}.

בעזרת הנחה זו נוכל לבנות חזאים אשר מבוססים על הפילוג של כל אחד מהמשתנים בנפרד. לדוגמא, אם נסתכל על החזאי אשר ממזער את ה misclassifcation rate:

y^=h(x)=argmaxy pyx(yx)\hat{y}=h(\boldsymbol{x})=\underset{y}{\arg\max}\ p_{\text{y}|\boldsymbol{x}}(y|\boldsymbol{x})

נוכל תחת הנחת החוסר תלות (ובעזרת חוק בייס) לרשום את החזאי כ:

y^=argmaxy pxy(xy)py(y)=argmaxy py(y)d=1Dpxdy(xdy)\hat{y} =\underset{y}{\arg\max}\ p_{\boldsymbol{x}|\text{y}}(\boldsymbol{x}|y)p_{\text{y}}(y) =\underset{y}{\arg\max}\ p_{\text{y}}(y)\prod_{d=1}^D p_{\text{x}_d|\text{y}}(x_d|y)

שיטה זו לחיזוי בעזרת הנחת החוסר תלות מכונה סיווג בייס נאיבי (naïve Bayes classification).

דוגמא 1 - זיהוי פריקה של הכתף

נסתכל שוב על הדוגמא של הפריקה של הכתף. על מנת לבנות חזאי, נשערך את py(y)p_{\text{y}}(y) ואז נשתמש בהנחת החוסר תלות ונשערך בנפרד את ההסתברות המותנית של כל אחד מהרכיבים pxdy(xdy)p_{\text{x}_d|\text{y}}(x_d|y). (לשם הפשטות נשתמש ב1 ו0 במקום ה"+" וה"-" (בהתאמה) אשר מופיעים בטבלה):

py(y)={48=0.5148=0.50p_{\text{y}}(y)=\begin{cases} \tfrac{4}{8}=0.5&1\\ \tfrac{4}{8}=0.5&0 \end{cases} pxpainy(xpain1)={44=1104=00p_{\text{x}_{\text{pain}}|\text{y}}(x_{\text{pain}}|1)=\begin{cases} \tfrac{4}{4}=1&1\\ \tfrac{0}{4}=0&0 \end{cases} pxpainy(xpain0)={24=0.5124=0.50p_{\text{x}_{\text{pain}}|\text{y}}(x_{\text{pain}}|0)=\begin{cases} \tfrac{2}{4}=0.5&1\\ \tfrac{2}{4}=0.5&0 \end{cases} pxswellingy(xswelling1)={44=1104=00p_{\text{x}_{\text{swelling}}|\text{y}}(x_{\text{swelling}}|1)=\begin{cases} \tfrac{4}{4}=1&1\\ \tfrac{0}{4}=0&0 \end{cases} pxswellingy(xswelling0)={04=0114=10p_{\text{x}_{\text{swelling}}|\text{y}}(x_{\text{swelling}}|0)=\begin{cases} \tfrac{0}{4}=0&1\\ \tfrac{1}{4}=1&0 \end{cases}

נמשיך כך גם לשלושת העמודות של "סימנים כחולים", "נימול" ונזלת".

החיזוי עבור המקרה שבו מופיעים כל שלושת הסימטומים יהיה:

y^=argmaxy py(y)d=1Dpxdy(1y)\hat{y} =\underset{y}{\arg\max}\ p_{\text{y}}(y)\prod_{d=1}^D p_{\text{x}_d|\text{y}}(1|y)

זאת אומרת שהחיזוי יהיה 1 (שאכן יש פריקה) כאשר:

py(1)d=1Dpxdy(11)>?py(0)d=1Dpxdy(10)0.5×1×1×0.75×0.5×0.25>?0.5×0.5×0×0.25×0×0.250.09375>?0\begin{aligned} p_{\text{y}}(1)\prod_{d=1}^D p_{\text{x}_d|\text{y}}(1|1)\overset{?}{>} &p_{\text{y}}(0)\prod_{d=1}^D p_{\text{x}_d|\text{y}}(1|0)\\ 0.5 \times 1 \times 1 \times 0.75 \times 0.5 \times 0.25 \overset{?}{>} &0.5 \times 0.5 \times 0 \times 0.25 \times 0 \times 0.25\\ 0.09375 \overset{?}{>} & 0 \end{aligned}

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

דוגמא 2 - זיהוי הונאות אשראי

ננסה להשתמש בשיטה זו לבעיית חיזוי הונאות האשראי

שיטות פרמטריות

דרך נוספת לשיערוך פילוגים היא על ידי שימוש במודל פרמטרי. הדבר מאד דומה לשימוש שעשינו במודלים פרמטריים כאשר עסקנו בגישה הדטרמיניסטית. בשיטה זו אנו נגביל את הצורה של הפונקציה שאותה אנו רוצים לשערך (לרוב פונקציית צפיפות ההסתברות) למשפחה מומצמת של פונקציות על ידי שימוש במודל פרמטרי. גם כאן אנו נסמן את וקטור הפרמטרים של המודל ב θ\boldsymbol{\theta}.

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

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

דוגמא: שיערוך הפילוג של זמן הנסיעה בכביש החוף

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

D={x(i)}={55,68,75,50,72,84,65,58,74,66}\mathcal{D}=\{x^{(i)}\}=\{55, 68, 75, 50, 72, 84, 65, 58, 74, 66\}

משערך ה KDE (עם גרעין גאוסיאני עם הרוחב אשר נקבע על פי כלל האצבע) של הפילוג (לא דנו הסמסטר) הינו:

(הנקודות האדומות על ציר ה xx מסמנות את המיקומים של הדגימות מהמדגם)

בהרצאה זו ננסה לשערך פרמטרים של פילוג נורמלי שיתאר בצורה טובה את הדגימות במדגם.

הגישה הלא-בייסיאנית (המכונה גם: קלאסית או תדירותית (Frequintist))

תחת גישה זו אנו נתייחס לפרמטרים בצורה פשוטה כאל מספרים שאותם יש לקבוע על מנת שהמודל יתאר בצורה טובה את המדגם הנתון. ההנחה היא כי יש ערך לא ידוע של הפרמטר שהוא ה"טוב" ביותר. את המודל הפרמטרי להסתברות / צפיפות הסתברות של משתנה אקראי x\mathbf{x} נסמן ב:

px(x;θ)p_{\mathbf{x}}(\boldsymbol{x};\boldsymbol{\theta})

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

משערך Maximum Likelyhood Estimator (MLE)

נסמן ב pD(D;θ)p_{\mathcal{D}}(\mathcal{D};\boldsymbol{\theta}) את ההסתברות לקבלת המדגם הנתון D={x(i)}\mathcal{D}=\{\boldsymbol{x}^{(i)}\} על פי המודל שבידינו. גודל זה מכונה הסבירות (likelihood) של המדגם. אנו מעוניינים למצוא את הפרמטרים θ\boldsymbol{\theta} אשר מניבים את הסבירות הכי גבוהה. על מנת להדגיש את העובדה שהמדגם הוא למעשה גודל ידוע ואילו הגודל הלא ידוע, שאותו נרצה לבדוק, הינו θ\boldsymbol{\theta}, מקובל לסמן את פונקציית ה likelihood באופן הבא:

L(θ;D)pD(D;θ)\mathcal{L}(\boldsymbol{\theta};\mathcal{D})\triangleq p_{\mathcal{D}}(D;\boldsymbol{\theta})

משערך ה MLE של θ\boldsymbol{\theta} הוא הערך אשר ממקסם את פונקציית ה likelihood:

θ^MLE=argmaxθ L(θ;D)\hat{\boldsymbol{\theta}}_{\text{MLE}} =\underset{\boldsymbol{\theta}}{\arg\max}\ \mathcal{L}(\boldsymbol{\theta};\mathcal{D})

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

θ^MLE=argminθ L(θ;D)\hat{\boldsymbol{\theta}}_{\text{MLE}} =\underset{\boldsymbol{\theta}}{\arg\min}\ -\mathcal{L}(\boldsymbol{\theta};\mathcal{D})

כאשר הדגימות במדגם הם i.i.d (בעלות פילוג זהה ובלתי תלויות, כפי שנניח תמיד שמתקיים בבעיות supervised learning) נוכל להסיק כי:

pD(D;θ)=ipx(x(i);θ)p_{\mathcal{D}}(\mathcal{D};\boldsymbol{\theta})=\prod_i p_{\mathbf{x}}(\boldsymbol{x}^{(i)};\boldsymbol{\theta})

ולכן:

θ^MLE=argminθ L(θ;D)=argminθ ipx(x(i);θ)\hat{\boldsymbol{\theta}}_{\text{MLE}} =\underset{\boldsymbol{\theta}}{\arg\min}\ -\mathcal{L}(\boldsymbol{\theta};\mathcal{D}) =\underset{\boldsymbol{\theta}}{\arg\min}\ -\prod_i p_{\mathbf{x}}(\boldsymbol{x}^{(i)};\boldsymbol{\theta})

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

θ^MLE=argminθ logL(θ;D)=argminθ ilog(px(x(i);θ))\hat{\boldsymbol{\theta}}_{\text{MLE}} =\underset{\boldsymbol{\theta}}{\arg\min}\ -\log\mathcal{L}(\boldsymbol{\theta};\mathcal{D}) =\underset{\boldsymbol{\theta}}{\arg\min}\ -\sum_i \log\left(p_{\mathbf{x}}(\boldsymbol{x}^{(i)};\boldsymbol{\theta})\right)

הערה: בקורסים "עיבוד אותות אקראיים" ו-"הסקה סטטיסטית" מרחיבים הרבה בנושא תכונות משערך זה ואחרים.

דוגמא

נסתכל על הדוגמא של התאמת פילוג נורמלי לנסיעות בכביש החוף. הפרמטרים של מודל זה הינם התוחלת μ\mu וסטיית התקן σ\sigma. נסמן את וקטור הפרמטרים ב θ=[μ,σ]\boldsymbol{\theta}=[\mu,\sigma]^\top. המודל שלנו יהיה:

px(x;θ)=12πσexp((xμ)22σ2)p_{\text{x}}(x;\boldsymbol{\theta})=\frac{1}{\sqrt{{2\pi}}\sigma}\exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)

נרשום את בעיית האופטימיזציה של מציאת משערך ה MLE:

θ^MLE=argminθ ilog(px(x(i);θ))=argminθ ilog(12πσexp((x(i)μ)22σ2))=argminθ ilog(σ)+12log(2π)+(x(i)μ)22σ2=argminθ Nlog(σ)+12σ2i(x(i)μ)2\begin{aligned} \hat{\boldsymbol{\theta}}_{\text{MLE}} &=\underset{\boldsymbol{\theta}}{\arg\min}\ -\sum_i \log\left(p_{\text{x}}(x^{(i)};\boldsymbol{\theta})\right)\\ &=\underset{\boldsymbol{\theta}}{\arg\min}\ -\sum_i \log\left(\frac{1}{\sqrt{{2\pi}}\sigma}\exp\left(-\frac{(x^{(i)}-\mu)^2}{2\sigma^2}\right)\right)\\ &=\underset{\boldsymbol{\theta}}{\arg\min}\ \sum_i \log(\sigma) + \tfrac{1}{2}\log(2\pi) + \frac{(x^{(i)}-\mu)^2}{2\sigma^2}\\ &=\underset{\boldsymbol{\theta}}{\arg\min}\ N\log(\sigma) + \frac{1}{2\sigma^2}\sum_i (x^{(i)}-\mu)^2\\ \end{aligned}

את בעיית האופטימיזציה הזו ניתן לפתור על ידי גזירה והשוואה ל-0. נסמן את הפונקציה שאותה יש למזער (ה objective \ פונקציית המטרה) ב ff:

f(θ;x)=Nlog(σ)+12σ2i(x(i)μ)2f(\boldsymbol{\theta};\mathcal{x})=N\log(\sigma) + \frac{1}{2\sigma^2}\sum_i (x^{(i)}-\mu)^2 {f(θ;x)μ=0f(θ;x)σ=0{1σ2i(x(i)μ)=0Nσ1σ3i(x(i)μ)2=0{Nμix(i)=0Nσ2i(x(i)μ)2=0{μ=1Nix(i)σ=1Ni(x(i)μ)2\begin{aligned} &\begin{cases} \frac{\partial f(\boldsymbol{\theta};\mathcal{x})}{\partial\mu} = 0\\ \frac{\partial f(\boldsymbol{\theta};\mathcal{x})}{\partial\sigma} = 0 \end{cases}\\ \Leftrightarrow&\begin{cases} -\frac{1}{\sigma^2}\sum_i (x^{(i)}-\mu)=0\\ \frac{N}{\sigma}-\frac{1}{\sigma^3}\sum_i (x^{(i)}-\mu)^2=0 \end{cases}\\ \Leftrightarrow&\begin{cases} N\mu-\sum_i x^{(i)}=0\\ N\sigma^2-\sum_i (x^{(i)}-\mu)^2=0 \end{cases}\\ \Leftrightarrow&\begin{cases} \mu=\frac{1}{N}\sum_i x^{(i)}\\ \sigma=\sqrt{\frac{1}{N}\sum_i (x^{(i)}-\mu)^2} \end{cases}\\ \end{aligned}

במקרה של הנסיעות בכביש החוף נקבל:

μ=66.7 [min]\mu=66.7\ \text{[min]} σ=9.7 [min]\sigma=9.7\ \text{[min]}

וה PDF המתקבל יראה כך:

הגישה הבייסיאנית

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

pD,θ(D,θ)=pDθ(Dθ)pθ(θ)p_{\mathcal{D},\boldsymbol{\theta}}(\mathcal{D},\boldsymbol{\theta}) =p_{\mathcal{D}|\boldsymbol{\theta}}(\mathcal{D}|\boldsymbol{\theta})p_{\boldsymbol{\theta}}(\boldsymbol{\theta})

תחת ההנחה שבהינתן הפרמטרים הדגימות במדגם הם i.i.d, הפילוג המשותף יהיה:

pD,θ(D,θ)=pθ(θ)ipxθ(x(i)θ)p_{\mathcal{D},\boldsymbol{\theta}}(\mathcal{D},\boldsymbol{\theta}) =p_{\boldsymbol{\theta}}(\boldsymbol{\theta})\prod_i p_{\mathbf{x}|\boldsymbol{\theta}}(\boldsymbol{x}^{(i)}|\boldsymbol{\theta})

תחת גישה זו עלינו לקבוע בנוסף לפילוג של הדגימות בהינתן הפרמטרים pxθ(xθ)p_{\mathbf{x}|\boldsymbol{\theta}}(\boldsymbol{x}|\boldsymbol{\theta}) וגם את הפילוג השולי של הפרמטרים pθ(θ)p_{\boldsymbol{\theta}}(\boldsymbol{\theta}).

A Prioiri Distribution

הפילוג השולי של הפרמטרים pθ(θ)p_{\boldsymbol{\theta}}(\boldsymbol{\theta}), מכונה לרוב הפילוג הפריורי (prior distribution) או הא-פריורי (a priori distribution), זאת אומרת הפילוג של θ\boldsymbol{\theta} לפני שראינו את המדגם.

A Posteriori Distribution

פילוג חשוב נוסף שנרצה להתייחס אליו הוא הפילוג של הפרמטרים בהינתן המדגם p,θD(θD)p_{,\boldsymbol{\theta}|\mathcal{D}}(\boldsymbol{\theta}|\mathcal{D}). פילוג זה מכונה הפילוג הפוסטריורי (posterior distribution) או א-פוסטריורי (a posteriori distribution) (או הפילוג בדיעבד), זאת אומרת, הפילוג אחרי שראינו את המדגם.

משערך Maximum A-posteriori Probaility (MAP)

הדרך הנפוצה ביותר לשערך את הפרמטרים θ\boldsymbol{\theta} היא למצוא את הערך אשר ממקסם את הפילוג הא-פוסטריורי (הערך הכי סביר של θ\boldsymbol{\theta} בהינתן המדגם pθD(θD)p_{\boldsymbol{\theta}|\mathcal{D}}(\boldsymbol{\theta}|\mathcal{D})):

θ^MAP=argmaxθ pθD(θD)=argminθ pθD(θD)\hat{\boldsymbol{\theta}}_{\text{MAP}} =\underset{\boldsymbol{\theta}}{\arg\max}\ p_{\boldsymbol{\theta}|\mathcal{D}}(\boldsymbol{\theta}|\mathcal{D}) =\underset{\boldsymbol{\theta}}{\arg\min}\ -p_{\boldsymbol{\theta}|\mathcal{D}}(\boldsymbol{\theta}|\mathcal{D})

על פי חוק בייס, נוכל לכתוב זאת כ:

θ^MAP=argminθ pDθ(Dθ)pθ(θ)pD(D)=argminθ pDθ(Dθ)pθ(θ)\hat{\boldsymbol{\theta}}_{\text{MAP}} =\underset{\boldsymbol{\theta}}{\arg\min}\ -\frac{ p_{\mathcal{D}|\boldsymbol{\theta}}(\mathcal{D}|\boldsymbol{\theta}) p_{\boldsymbol{\theta}}(\boldsymbol{\theta}) }{ p_{\mathcal{D}}(\mathcal{D}) } =\underset{\boldsymbol{\theta}}{\arg\min}\ -p_{\mathcal{D}|\boldsymbol{\theta}}(\mathcal{D}|\boldsymbol{\theta}) p_{\boldsymbol{\theta}}(\boldsymbol{\theta})

כאשר הדגימות במדגם בהינתן θ\boldsymbol{\theta} הן i.i.d, מתקיים:

θ^MAP=argminθ pθ(θ)ipxθ(x(i)θ)\hat{\boldsymbol{\theta}}_{\text{MAP}} =\underset{\boldsymbol{\theta}}{\arg\min}\ -p_{\boldsymbol{\theta}}(\boldsymbol{\theta}) \prod_i p_{\mathbf{x}|\boldsymbol{\theta}}(\boldsymbol{x}^{(i)}|\boldsymbol{\theta})

גם כאן נוכל להפוך את המכפלה לסכום על ידי מזעור מינוס הלוג של הפונקציה:

θ^MAP=argminθ log(pθ(θ))ilog(pxθ(x(i)θ))\hat{\boldsymbol{\theta}}_{\text{MAP}} =\underset{\boldsymbol{\theta}}{\arg\min}\ -\log\left(p_{\boldsymbol{\theta}}(\boldsymbol{\theta})\right)-\sum_i \log\left(p_{\mathbf{x}|\boldsymbol{\theta}}(\boldsymbol{x}^{(i)}|\boldsymbol{\theta})\right)
ההבדל בין MLE ל MAP

ההבדל בין משערך ה MLE למשערך ה MAP הינו התוספת של האיבר log(pθ(θ))-\log\left(p_{\boldsymbol{\theta}}(\boldsymbol{\theta})\right). איבר זה, ששווה ללוג של הפילוג הא-פריורי, מוסיף למעשה את הידע שיש לנו לגבי איזה ערכים של θ\boldsymbol{\theta} יותר סבירים. ראינו תוספת שכזו כאשר דיברנו על רגולריזציה, שם הוספנו איבר לבעיית האופטימיזציה במטרה למשוך את הפתרון לאיזורים שהנחנו שהם יותר סבירים. לכן, ניתן למעשה לחשוב על בעיית ה MAP כעל בעיית MLE עם רגולריזציה. בתרגיל הבית אתם תראו את השקילות שבין בעיית MAP לבין לבעיית MLE עם רגולריזציה.

בגישה בייסיאנית בעיית השיערוך היא בעיית חיזוי

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

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

דוגמא - הוספת prior

נחזור לדוגמא של התאמת מודל של פילוג נורמלי לפילוג של זמן הנסיעה בכביש החוף. לשם הפשטות בדוגמא זו נקבע את סטיית התקן של המודל ל σ=10\sigma=10 כך שיהיה לנו מודל פרמטרי בעל פרמטר יחיד μ\mu:

pxμ(xμ)=12πσexp((xμ)22σ2)p_{\text{x}|\mu}(x|\mu)=\frac{1}{\sqrt{2\pi}\sigma}\exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)

נניח כעת שיש לנו ידע קודם על פילוג הצפוי של μ\mu. ידע כזה יכול לדוגמא להגיע מתוך סטטיסטיקה שאספנו על מהירויות הנסיעה בכבישים אחרים בארץ. הפילוג הצפוי של μ\mu יהיה הפילוג הא-פריורי של פרמטר זה. נניח אם כן שהפילוג הא-פריורי של μ\mu הוא גם פילוג נורמלי עם תוחלת μμ=60\mu_{\mu}=60 וסטיית תקן של σμ=5\sigma_{\mu}=5:

pμ(μ)=12πσμexp((μμμ)22σμ2)p_{\mu}(\mu)=\frac{1}{\sqrt{2\pi}\sigma_{\mu}}\exp\left(-\frac{(\mu-\mu_{\mu})^2}{2\cdot\sigma_{\mu}^2}\right)

התיאור פה מעט מבלבל משום שאנו מניחים שגם הפילוג של זמן הנסיעה הוא נורמלי וגם הפילוג הא-פריורי של μ\mu נורמלי. אלא שני פילוגים שונים שבמקרה נבחרו להיות בעלי אותו מבנה. ניתן לחשוב על התהליך של ייצור זמני הנסיעה באופן הבא. בתחילה באופן חד פעמי (לצורך העניין עם הבניה של כביש החוף) מוגרל הפרמטר μ\mu מתוך הפילוג pμp_{\mu} אשר מאפיין את הנסיעות בכביש החוף. אחרי שפרמטר זה נקבע, עבור כל נסיעה מחדש מגרילים את זמן נסיעה מתוך pxμp_{\text{x}|\mu} תוך שימוש בערך של μ\mu אשר הגרלנו.

נרשום את משערך ה MAP של μ\mu:

μ^MAP=argminμ log(pμ(μ))ilog(pxμ(x(i)μ))\begin{aligned} \hat{\mu}_{\text{MAP}} =\underset{\mu}{\arg\min}\ -\log\left(p_{\mu}(\mu)\right)-\sum_i \log\left(p_{\mathbf{x}|\mu}(\boldsymbol{x}^{(i)}|\mu)\right) \end{aligned}

גזירה והשוואה ל-0 נותנת את התוצאה הבאה:

f(θ;x)μ=01σμ2(μμμ)1σ2i(x(i)μ)=0(1σμ2+Nσ2)μ=μμσμ2+1σ2ix(i)μ=σ2Nσμ2μμ+1Nix(i)σ2Nσμ2+1\begin{aligned} \frac{\partial f(\boldsymbol{\theta};\mathcal{x})}{\partial\mu} &= 0\\ \Leftrightarrow \frac{1}{\sigma_{\mu}^2}(\mu-\mu_{\mu})-\frac{1}{\sigma^2}\sum_i (x^{(i)}-\mu)&=0\\ \Leftrightarrow \left(\frac{1}{\sigma_{\mu}^2}+\frac{N}{\sigma^2}\right)\mu&=\frac{\mu_{\mu}}{\sigma_{\mu}^2}+\frac{1}{\sigma^2}\sum_i x^{(i)}\\ \Leftrightarrow \mu&=\frac{\frac{\sigma^2}{N\sigma_{\mu}^2}\mu_{\mu}+\frac{1}{N}\sum_i x^{(i)}}{\frac{\sigma^2}{N\sigma_{\mu}^2}+1} \end{aligned}

זו למעשה ממוצע ממושקל בין הערך הממוצע של xx במדגם לבין μμ\mu_{\mu}. עבור הדוגמא שלנו נקבל:

μ=64.8 [min]\mu=64.8\ \text{[min]}

ערך זה מעט יותר קרוב ל60 משאר התוצאה שקיבלנו בשיערוך ה MLE. זאת משום ה prior ש"מושך" את הפרמטרים לאיזורים הסבירים יותר ולכן הוא מקרב אותו ל μμ=60\mu_{\mu}=60.

שימוש בשיערוך פרמטרי לפתרון בעיות supervised learning

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

Quadric Discriminant Analysis (QDA)

בשיטה זו אנו נשתמש במודל של פילוג נורמלי וב MLE על מנת לשערך את הפילוג המותנה של x\mathbf{x} בהינתן y\text{y}. אנו למעשה צריכים לשערך מודל נורמלי אחד עבור כל אחת מ CC המחלקות של y\text{y} יכול לקבל. זאת אומרת שאנו נרצה לשערך את הפרמטרים הבאים:

  • וקטור תוחלת μc\boldsymbol{\mu}_c עבור כל אחד מהמחלקות (c{1,2,,C}c\in\{1,2,\dots,C\}).
  • מטריצת קווריאנס Σc\Sigma_c עבור כל אחד מהמחלקות.

כאשר המודל של הפילוג של x\mathbf{x} בהינתן ש y=c\text{y}=c יהיה:

pxy(xc;μc,Σc)=1(2π)DΣcexp(12(xμc)Σc1(xμc))p_{\mathbf{x}|\text{y}}(\boldsymbol{x}|c;\boldsymbol{\mu}_c,\Sigma_c)= \frac{1}{\sqrt{(2\pi)^D|\Sigma_c|}} \exp\left(-\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu}_c)^{\top}\Sigma_c^{-1}(\boldsymbol{x}-\boldsymbol{\mu}_c)\right)

(כאשר DD הוא המימד של x\mathbf{x}).

בנוסף יהיה עלינו לשערך את py(y)p_{\text{y}}(y). (זה פילוג דיסקרטי אותו ניתן לשערך בקלות על פי השכיחות היחסית במדגם).

הפילוג המשותף של x\mathbf{x} ו y\text{y} יהיה:

px,y(x,y;{μc},{Σc})=pxy(xy;μy,Σy)py(y)p_{\mathbf{x},\text{y}}(\boldsymbol{x},y;\{\boldsymbol{\mu}_c\},\{\Sigma_c\})= p_{\mathbf{x}|\text{y}}(\boldsymbol{x}|y;\boldsymbol{\mu}_y,\Sigma_y) p_{\text{y}}(y)

את הפרמטרים של המודל מוצאים בעזרת MLE. בעיית האופטימיזציה תהיה:

θ^MLE=argminθ logL(θ;D)=argminθ ilog(pxy(x(i)y(i);μy,Σy)py(y(i)))=argminθ ilog(pxy(x(i)y(i);μy,Σy))+log(py(y(i)))=argminθ ilog(pxy(x(i)y(i);μy,Σy))\begin{aligned} \hat{\boldsymbol{\theta}}_{\text{MLE}} &=\underset{\boldsymbol{\theta}}{\arg\min}\ -\log\mathcal{L}(\boldsymbol{\theta};\mathcal{D})\\ &=\underset{\boldsymbol{\theta}}{\arg\min}\ -\sum_i \log\left( p_{\mathbf{x}|\text{y}}(\boldsymbol{x}^{(i)}|y^{(i)};\boldsymbol{\mu}_y,\Sigma_y) p_{\text{y}}(y^{(i)}) \right)\\ &=\underset{\boldsymbol{\theta}}{\arg\min}\ -\sum_i \log\left(p_{\mathbf{x}|\text{y}}(\boldsymbol{x}^{(i)}|y^{(i)};\boldsymbol{\mu}_y,\Sigma_y)\right) +\log\left(p_{\text{y}}(y^{(i)})\right) \\ &=\underset{\boldsymbol{\theta}}{\arg\min}\ -\sum_i \log\left(p_{\mathbf{x}|\text{y}}(\boldsymbol{x}^{(i)}|y^{(i)};\boldsymbol{\mu}_y,\Sigma_y)\right)\\ \end{aligned}

בהנחה ש-PyP_\text{y} ידוע.

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

  • Ic={i: y(i)=c}\mathcal{I}_c=\{i:\ y^{(i)}=c\} - זאת אומרת, אוסף האינדקסים של הדגמים במדגם שמקיימים y(i)=cy^{(i)}=c.
  • Ic|\mathcal{I}_c| - מספר האינדקסים ב Ic\mathcal{I}_c

נוכל כעת לרשום את בעיית האופטימיזציה באופן הבא:

θ^MLE=argminθ iI1log(pxy(x(i)1;μ1,Σ1))iI2log(pxy(x(i)2;μ2,Σ2))\hat{\boldsymbol{\theta}}_{\text{MLE}} =\underset{\boldsymbol{\theta}}{\arg\min}\ -\sum_{i\in\mathcal{I}_1} \log\left(p_{\mathbf{x}|\text{y}}(\boldsymbol{x}^{(i)}|1;\boldsymbol{\mu}_1,\Sigma_1)\right) -\sum_{i\in\mathcal{I}_2} \log\left(p_{\mathbf{x}|\text{y}}(\boldsymbol{x}^{(i)}|2;\boldsymbol{\mu}_2,\Sigma_2)\right) -\dots

בשביל למצוא את הערכים האופטימאלים של μ1\boldsymbol{\mu}_1 ו Σ1\Sigma_1 מספיק להסתכל על האיבר הראשון. לכן ניתן למעשה לפרק את הבעיה ל CC בעיות נפרדות שבהם משערכים בנפרד את הפרמטרים של כל מחלקה.

עבור המחלקה ה cc נקבל את בעיית האופטימיזציה הבאה:

μ^c,MLE,Σ^c,MLE=argminμc,Σc iIclog(pxy(x(i)c;μc,Σc))=argminμc,Σc iIclog(Σc))+12(x(i)μc)Σc1(x(i)μc)\begin{aligned} \hat{\boldsymbol{\mu}}_{c,\text{MLE}},\hat{\Sigma}_{c,\text{MLE}} &=\underset{\boldsymbol{\mu}_c,\Sigma_c}{\arg\min}\ -\sum_{i\in\mathcal{I}_c} \log\left(p_{\mathbf{x}|\text{y}}(\boldsymbol{x}^{(i)}|c;\boldsymbol{\mu}_c,\Sigma_c)\right)\\ &=\underset{\boldsymbol{\mu}_c,\Sigma_c}{\arg\min}\ \sum_{i\in\mathcal{I}_c} \log\left(\sqrt{|\Sigma_c|})\right)+ \frac{1}{2}(\boldsymbol{x}^{(i)}-\boldsymbol{\mu}_c)^{\top}\Sigma_c^{-1}(\boldsymbol{x}^{(i)}-\boldsymbol{\mu}_c)\\ \end{aligned}

ניתן לפתור את הבעיה הזו על ידי גזירה והשוואה ל-0. הפיתוח עבור Σc\Sigma_c הוא מעט מורכב ואנו לא נראה אותו בקורס זה ונקפוץ לפתרון. הפיתוח מודגם בקורס "עיבוד וניתוח מידע". נראה אבל את החישוב של μc\boldsymbol{\mu}_c

את בעיית האופטימיזציה הזו ניתן לפתור על ידי גזירה והשוואה ל-0. נסמן את ה objective ב ff:

f(θ;x)=iIclog(Σc))+12(x(i)μc)Σc1(x(i)μc)f(\boldsymbol{\theta};\mathcal{x}) =\sum_{i\in\mathcal{I}_c} \log\left(\sqrt{|\Sigma_c|})\right)+ \frac{1}{2}(\boldsymbol{x}^{(i)}-\boldsymbol{\mu}_c)^{\top}\Sigma_c^{-1}(\boldsymbol{x}^{(i)}-\boldsymbol{\mu}_c) fμc=0iIcΣc1(x(i)μc)=0IcμciIcx(i)=0μc=1IciIcx(i)\begin{aligned} \frac{\partial f}{\partial\boldsymbol{\mu}_c}&=0\\ \Leftrightarrow-\sum_{i\in\mathcal{I}_c}\Sigma_c^{-1}(\boldsymbol{x}^{(i)}-\boldsymbol{\mu}_c)&=0\\ \Leftrightarrow|\mathcal{I}_c|\boldsymbol{\mu}_c-\sum_{i\in\mathcal{I}_c}\boldsymbol{x}^{(i)}&=0\\ \Leftrightarrow\boldsymbol{\mu}_c&=\frac{1}{|\mathcal{I}_c|}\sum_{i\in\mathcal{I}_c}\boldsymbol{x}^{(i)}\\ \end{aligned}

שאר הפרמטרים של המודל יהיו:

py(c)=IcNp_{\text{y}}(c)=\frac{|\mathcal{I}_c|}{N} Σc=1IciIc(x(i)μc)(x(i)μc)T\Sigma_c = \frac{1}{|\mathcal{I}_c|}\sum_{i\in\mathcal{I}_c}\left(\boldsymbol{x}^{(i)}-\boldsymbol{\mu}_c\right)\left(\boldsymbol{x}^{(i)}-\boldsymbol{\mu}_c\right)^T

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

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

y^=h(x)=argmaxy pxy(xy;μy,Σy)py(y)=argmaxy 12(xμy)Σy1(xμy)+log(py(y))Σy)\begin{aligned} \hat{y}=h(\boldsymbol{x}) &=\underset{y}{\arg\max}\ p_{\mathbf{x}|\text{y}}(\boldsymbol{x}|y;\boldsymbol{\mu}_y,\Sigma_y) p_{\text{y}}(y)\\ &=\underset{y}{\arg\max}\ -\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu}_y)^{\top}\Sigma_y^{-1}(\boldsymbol{x}-\boldsymbol{\mu}_y) +\log\left(\frac{p_{\text{y}}(y))}{\sqrt{|\Sigma_y|}}\right)\\ \end{aligned}

המקרה הבינארי - משטח הפרדה ריבועי

עבור המקרה של סיווג בינארי (סיווג לשתי מחלקות) מתקבל החזאי הבא:

h(x)={112(xμ1)Σ11(xμ1)+log(py(1))Σ1)>12(xμ0)Σ01(xμ0)+log(py(0))Σ0)0otherwise={1xTCx+aTx+b>00otherwise\begin{aligned} h\left(x\right) &=\begin{cases} 1\qquad -\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu}_1)^{\top}\Sigma_1^{-1}(\boldsymbol{x}-\boldsymbol{\mu}_1) +\log\left(\frac{p_{\text{y}}(1))}{\sqrt{|\Sigma_1|}}\right)> -\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu}_0)^{\top}\Sigma_0^{-1}(\boldsymbol{x}-\boldsymbol{\mu}_0) +\log\left(\frac{p_{\text{y}}(0))}{\sqrt{|\Sigma_0|}}\right)\\ 0\qquad \text{otherwise}\\ \end{cases}\\ &=\begin{cases} 1\qquad \boldsymbol{x}^T C \boldsymbol{x} + \boldsymbol{a}^T \boldsymbol{x} + b > 0 \\ 0\qquad \text{otherwise}\\ \end{cases} \end{aligned}

כאשר:

C=12(Σ01Σ11)C=\frac{1}{2}(\Sigma^{-1}_0-\Sigma^{-1}_1) a=Σ1μ1Σ01μ0\boldsymbol{a}=\Sigma^{-1}\boldsymbol{\mu}_1-\Sigma^{-1}_0\boldsymbol{\mu}_0 b=12(μ0TΣ01μ0μ1TΣ11μ1)+log(Σ0py(1)Σ1py(0))b=\tfrac{1}{2}\left(\boldsymbol{\mu}_0^T\Sigma_0^{-1}\boldsymbol{\mu}_0 - \boldsymbol{\mu}_1^T\Sigma_1^{-1}\boldsymbol{\mu}_1\right) + \log\left(\frac{\sqrt{|\Sigma_0|}p_\text{y}(1)}{\sqrt{|\Sigma_1|}p_\text{y}(0)}\right)

התנאי שקיבלנו xTCx+aTx+b>0\boldsymbol{x}^T C \boldsymbol{x} + \boldsymbol{a}^T \boldsymbol{x} + b > 0 הוא ריבועי ב x\boldsymbol{x} ומכאן מקבל האלגוריתם את שמו.

Linear Discriminant Analysis (LDA)

LDA שונה מ QDA בשינוי קטן בהנחות על מודל. על מנת להקטין את כמות הפרמטרים של המודל LDA מניח שלפונקציות הפילוג של המחלקות השונות יש את אותה מטריצת הקווריאנס. זאת אומרת שיש Σ\Sigma יחידה אשר משותפת לכולם.

שהפרמטרים של המודל יהיו כעת:

  • וקטור תוחלת μc\boldsymbol{\mu}_c עבור כל אחד מהמחלקות (c{1,2,,C}c\in\{1,2,\dots,C\}).
  • מטריצת covariance אחת Σ\Sigma אשר משותפת לפילוגים של כל המחלקות.

והמודל של הפילוג של x\mathbf{x} בהינתן ש y=c\text{y}=c הינו:

pxy(xc;μc,Σ)=1(2π)DΣexp(12(xμc)Σ1(xμc))p_{\mathbf{x}|\text{y}}(\boldsymbol{x}|c;\boldsymbol{\mu}_c,\Sigma)= \frac{1}{\sqrt{(2\pi)^D|\Sigma|}} \exp\left(-\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu}_c)^{\top}\Sigma^{-1}(\boldsymbol{x}-\boldsymbol{\mu}_c)\right)

גם כאן ניתן למצוא את הפתרון של בעיית האופטימיזציה על ידי גזירה והשןןאה לאפס. במקרה זה בחיפוש אחר ה Σ\Sigma האידאלי לא ניתן להתייחס רק לחלק מהמדגם משום מהטריצה משותפת לכל המחלקות. הפתרון המתקבל הינו:

py(c)=IcNp_{\text{y}}(c)=\frac{|\mathcal{I}_c|}{N} μc=1IciIcx(i)\boldsymbol{\mu}_c = \frac{1}{|\mathcal{I}_c|}\sum_{i\in \mathcal{I}_c}\boldsymbol{x}^{(i)} Σ=1Ni(x(i)μy(i))(x(i)μy(i))T\Sigma = \frac{1}{N}\sum_{i}\left(\boldsymbol{x}^{(i)}-\boldsymbol{\mu}_{y^{(i)}}\right)\left(\boldsymbol{x}^{(i)}-\boldsymbol{\mu}_{y^{(i)}}\right)^T

עבור פונקציית מחיר של miscalssification rate, החזאי האופטימאלי המתקבל ממודל זה הינו:

y^=h(x)=argmaxy pxy(xy;μc,Σ)py(y)=argmaxy 12(xμy)Σ1(xμy)+log(py(y))=argminy xΣ1μy12μyΣ1μylog(py(y))\begin{aligned} \hat{y}=h(\boldsymbol{x}) &=\underset{y}{\arg\max}\ p_{\mathbf{x}|\text{y}}(\boldsymbol{x}|y;\boldsymbol{\mu}_c,\Sigma) p_{\text{y}}(y)\\ &=\underset{y}{\arg\max}\ -\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu}_y)^{\top}\Sigma^{-1}(\boldsymbol{x}-\boldsymbol{\mu}_y) +\log(p_{\text{y}}(y))\\ &=\underset{y}{\arg\min}\ \boldsymbol{x}^{\top}\Sigma^{-1}\boldsymbol{\mu}_y -\frac{1}{2}\boldsymbol{\mu}_y^{\top}\Sigma^{-1}\boldsymbol{\mu}_y -\log(p_{\text{y}}(y))\\ \end{aligned}

המקרה הבינארי

עבור המקרה של סיווג בינארי (סיווג לשני מחלקות) מתקבל החזאי הבא:

h(x)={1xΣ1μ112μ1Σ1μ1log(py(1))>xΣ1μ012μ0Σ1μ0log(py(0))0otherwise={1aTx+b>00otherwise\begin{aligned} h\left(x\right) &=\begin{cases} 1\qquad \boldsymbol{x}^{\top}\Sigma^{-1}\boldsymbol{\mu}_1 -\frac{1}{2}\boldsymbol{\mu}_1^{\top}\Sigma^{-1}\boldsymbol{\mu}_1 -\log(p_{\text{y}}(1)) > \boldsymbol{x}^{\top}\Sigma^{-1}\boldsymbol{\mu}_0 -\frac{1}{2}\boldsymbol{\mu}_0^{\top}\Sigma^{-1}\boldsymbol{\mu}_0 -\log(p_{\text{y}}(0))\\ 0\qquad \text{otherwise}\\ \end{cases}\\ &=\begin{cases} 1\qquad \boldsymbol{a}^T \boldsymbol{x} + b > 0 \\ 0\qquad \text{otherwise}\\ \end{cases} \end{aligned}

כאשר:

a=Σ1(μ1μ0)\boldsymbol{a}=\Sigma^{-1}\left(\boldsymbol{\mu}_1-\boldsymbol{\mu}_0\right) b=12(μ0TΣ1μ0μ1TΣ1μ1)+log(py(1)py(0))b=\tfrac{1}{2}\left(\boldsymbol{\mu}_0^T\Sigma^{-1}\boldsymbol{\mu}_0 - \boldsymbol{\mu}_1^T\Sigma^{-1}\boldsymbol{\mu}_1\right) + \log\left(\frac{p_\text{y}\left(1\right)}{p_\text{y}\left(0\right)}\right)

התנאי שקיבלנו aTx+b>0\boldsymbol{a}^T \boldsymbol{x} + b > 0 הוא לינארי ב x\boldsymbol{x} ומכאן מקבל האלגוריתם את שמו. תנאי זה מחלק את המרחב של x\boldsymbol{x} לשני חלקים המופרדים על ידי המישור aTx+b=0\boldsymbol{a}^T \boldsymbol{x} + b = 0.

המקרה הכללי (לא בינארי)

במקרה הכללי המרחב יהיה מחולק ל CC איזורים שהשפות שלהם יהיו מורכבות מהמישורים המתקבלים מהשפות שבין כל זוג מחלקות. דוגמא למקרה עם 3 מחלקות תופיע בתרגול.