תהליך פתרון בעיה בלמידה מונחית
הגדרת הבעיה
ב supervised learning תמיד ננסה למצוא חזאי y ^ = h ( x ) \hat{y}=h(\boldsymbol{x}) y ^ = h ( x ) .
הפרדנו בין שתי מקרים:
בעיות סיווג (classification) : y \text{y} y דיסקרטי וסופי.
בעיות רגרסיה (regression) : y \text{y} y רציף.
קיימים מקרים בהם מספר התיוגים המותרים לכל קלט גדול מאחד. דוגמה? Multi label problem.
הערכת ביצועים
נגדיר את פונקציית המחיר (cost) שבה נרצה להשתמש בכדי להעריך את החזאי. לרוב נבחר פונקציית מחיר מהצורה:
C ( h ) = E [ l ( h ( x ) , y ) ] C(h)=\mathbb{E}\left[l(h(\mathbf{x}),\text{y})\right] C ( h ) = E [ l ( h ( x ) , y ) ]
פונקציות מסוג זה מכונות פונקציות סיכון (risk) .
הפונקציה l l l מוכנה פונקציית ההפסד (loss)
מכיוון שהפילוג של y \text{y} y ו x \mathbf{x} x לא באמת ידוע לנו אנו נשתמש ב test set ובתוחלת בכדי להעריך את הביצועים.
פונקציות הפסד (פונקציות סיכון) נפוצות
Common For
Loss Name
Risk Name
Loss Function
Optimal Predictor
Classification
Zero-One Loss
Misclassification Rate
l ( y 1 , y 2 ) = I { y 1 ≠ y 2 } l\left(y_1,y_2\right)=I\left\lbrace y_1\neq y_2\right\rbrace l ( y 1 , y 2 ) = I { y 1 = y 2 }
h ∗ ( x ) = arg max y p y ∣ x ( y ∣ x ) h^*\left(x\right)=\underset{y}{\arg\max}\ p_{\text{y}\mid\mathbf{x}}\left(y\mid x\right) h ∗ ( x ) = y arg max p y ∣ x ( y ∣ x )
Regression
L 1 L_1 L 1
Mean Absolute Error
l ( y 1 , y 2 ) = ∣ y 1 − y 2 ∣ l\left(y_1,y_2\right)=\left\vert y_1-y_2\right\vert l ( y 1 , y 2 ) = ∣ y 1 − y 2 ∣
Median: h ∗ ( x ) = y ^ h^*\left(x\right)=\hat{y} h ∗ ( x ) = y ^ s . t . F y ∣ x ( y ^ ∣ x ) = 0.5 s.t.\ F_{\text{y}\mid\mathbf{x}}\left(\hat{y}\mid x\right)=0.5 s . t . F y ∣ x ( y ^ ∣ x ) = 0 . 5
Regression
L 2 L_2 L 2
Mean Squared Error (MSE)
l ( y 1 , y 2 ) = ( y 1 − y 2 ) 2 l\left(y_1,y_2\right)=\left(y_1-y_2\right)^2 l ( y 1 , y 2 ) = ( y 1 − y 2 ) 2
h ∗ ( x ) = E [ y ∣ x ] h^*\left(x\right)=\mathbf{E}\left[\text{y}\mid\mathbf{x}\right] h ∗ ( x ) = E [ y ∣ x ]
שאלה: מתי יש מוטיבציה לפונקציית הפסד שאינה 0-1 במקרה של סיווג? דוגמה?
Discriminative vs. Generative
אנו מבחינים בין 3 גישות אשר משמשות לפתרון בעיות supervised learning:
גישה דיסקרימינטיבית : D \mathcal{D} D -> h ( x ) h(\boldsymbol{x}) h ( x ) .
גישה גנרטיבית : D \mathcal{D} D -> p x , y ( x , y ) p_{\mathbf{x},\text{y}}(\boldsymbol{x},y) p x , y ( x , y ) -> p y ∣ x ( y ∣ x ) p_{\text{y}|\mathbf{x}}(y|\boldsymbol{x}) p y ∣ x ( y ∣ x ) -> h ( x ) h(\boldsymbol{x}) h ( x ) .
גישה דיסקרימינטיבית הסתברותית : D \mathcal{D} D -> p y ∣ x ( y ∣ x ) p_{\text{y}|\mathbf{x}}(y|\boldsymbol{x}) p y ∣ x ( y ∣ x ) -> h ( x ) h(\boldsymbol{x}) h ( x ) .
שאלה: מתי יש יתרונות יחסיים לגישות השונות?
פירמול הבעיה
במרבית השיטות נשתמש במודל פרמטרי (לחזאי או לפילוג) ונרשום את הבעיה כבעיית אופטימיזציה על הפרמטרים θ \boldsymbol{\theta} θ של המודל:
θ ∗ = arg min θ f ( θ ; D ) \boldsymbol{\theta}^*=\underset{\boldsymbol{\theta}}{\arg\min}\quad f\left(\boldsymbol{\theta};\mathcal{D}\right) \\ θ ∗ = θ arg min f ( θ ; D )
לרוב לא נדע לפתור את הבעיה באופן אנליטי ונשתמש בשיטות אלטרנטיביות למציאת פתרון "סביר".
בדרך כלל משתמשים בגישות מקומיות מבוססות גרדיאנט. גישות אלה מוגבלות בגלל המקומיות של החיפוש. יש דרכים לשפרן, אך אין פתרון אוניברסלי.
Cross-Validation
למרבית השיטות יש מספר hyper-parameters שאינם חלק מבעיית האופטימיזציה שאותם יש לקבוע מראש.
הדרך הנפוצה לבחור hyper-parameters הינה על ידי שימוש ב validation set על מנת לבדוק מספר ערכים שונים ולבחור את אלו אשר נותים את הביצועים הטובים ביותר.
עיבוד מקדים (preprocessing)
במרבית המקרים אנו נרצה לבצע פעולות שונות על המדגם לפני הזנתו לאלגוריתם על מנת להקל על עבודת האלגוריתם.
דוגמאות:
חילוץ מאפיינים שנבחרו באופן ידני: x new = Φ ( x ) \boldsymbol{x}_{\text{new}}=\Phi(\boldsymbol{x}) x new = Φ ( x ) .
הורדת מימד (על ידי שימוש באלגוריתם כגון PCA).
נרמול: x new = 1 σ x ( x − μ x ) \boldsymbol{x}_{\text{new}}=\frac{1}{\sigma_{\mathbf{x}}}(\boldsymbol{x}-\mu_{\mathbf{x}}) x new = σ x 1 ( x − μ x )
אוגמנטציה (לא נלמד בקורס)
התפקיד של ידע מוקדם בלמידה
מושג טכני = inductive bias
ידע מוקדם – כל מה שיודעים על הבעיה לפני קבלת הנתונים
מימוש – הגבלות על מבנה מרחב ההשערות, פונקציית המחיר, אלגוריתם האופטימיזציה
מוטיבציה – שיפור יכולת ההכללה (מניעת התאמת יתר), חסינות לרעש, האצת למידה, "פרשנות" פשוטה יותר של הפתרון
התפקיד של ידע מוקדם בלמידה
דוגמאות
בחירת מאפיינים מושכלת
מבנה הרשת – למשל CNN משקף מבנה של תמונות
רגולריזציה – העדפת מודלים "פשוטים"
העברת ידע מבעיות קודמות (transfer learning) - לא למדנו
הרחבת הנתונים (data augmentation) - לא למדנו
היום – הרבה ידע מוקדם "מסתובב" מפתרונות טובים של בעיות קודמות וניתן להעברה למטלות חדשות. למשל, בנושאים של
עיבוד תמונה, עיבוד שפה, חיזוי מבנה חלבונים ועוד הרבה
מעבר על האלגוריתמים שנלמדו בקורס
נעבור במהירות על האלגוריתמים שאותם ראינו בקורס ונבחן את המאפיינים שלהם.
Empirical Risk Minimization
Problem type:
Regression (Classifcation)
Approach:
Discriminative
Optimization problem:
θ ∗ = arg min θ 1 N ∑ i l ( h ( x ( i ) ; θ ) , y ( i ) ) \boldsymbol{\theta}^*=\underset{\boldsymbol{\theta}}{\arg\min}\ \frac{1}{N}\sum_i l(h(\boldsymbol{x}^{(i)};\boldsymbol{\theta}),y^{(i)}) θ ∗ = θ arg min N 1 ∑ i l ( h ( x ( i ) ; θ ) , y ( i ) )
Linear Least Squares (LLS) (also known as ordinary least squares-OLS)
Problem type:
Regression with MSE risk
Approach:
Discriminative
Model:
h ( x ; θ ) = θ ⊤ x h(\boldsymbol{x};\boldsymbol{\theta})=\boldsymbol{\theta}^{\top}\boldsymbol{x} h ( x ; θ ) = θ ⊤ x
Optimization problem:
θ ∗ = arg min θ 1 N ∑ i ( θ ⊤ x ( i ) − y ( i ) ) 2 \boldsymbol{\theta}^*=\underset{\boldsymbol{\theta}}{\arg\min}\ \frac{1}{N}\sum_i (\boldsymbol{\theta}^{\top}\boldsymbol{x}^{(i)}-y^{(i)})^2 θ ∗ = θ arg min N 1 ∑ i ( θ ⊤ x ( i ) − y ( i ) ) 2
How to solve:
Closed-form solution: θ = ( X ⊤ X ) − 1 X ⊤ y \boldsymbol{\theta}=(X^{\top}X)^{-1}X^{\top}\boldsymbol{y} θ = ( X ⊤ X ) − 1 X ⊤ y .
Ridge Regression (LLS with Tikhonov Regularization (l 2 l_2 l 2 ))
Problem type:
Regression with MSE risk
Approach:
Discriminative
Model:
h ( x ; θ ) = θ ⊤ x h(\boldsymbol{x};\boldsymbol{\theta})=\boldsymbol{\theta}^{\top}\boldsymbol{x} h ( x ; θ ) = θ ⊤ x
Hyper-parameter:
Regularization coefficient λ \lambda λ
Optimization:
θ ∗ = arg min θ 1 N ∑ i ( θ ⊤ x ( i ) − y ( i ) ) 2 + λ ∥ θ ∥ 2 2 \boldsymbol{\theta}^*=\underset{\boldsymbol{\theta}}{\arg\min}\ \frac{1}{N}\sum_i (\boldsymbol{\theta}^{\top}\boldsymbol{x}^{(i)}-y^{(i)})^2+\lambda\lVert\boldsymbol{\theta}\rVert_2^2 θ ∗ = θ arg min N 1 ∑ i ( θ ⊤ x ( i ) − y ( i ) ) 2 + λ ∥ θ ∥ 2 2
Question: what is the motivation for the regularization?
How to solve:
θ = ( X ⊤ X + λ I ) − 1 X ⊤ y \boldsymbol{\theta}=(X^{\top}X+\lambda I)^{-1}X^{\top}\boldsymbol{y} θ = ( X ⊤ X + λ I ) − 1 X ⊤ y , or using Gradient Descent methods.
Least Absolute Shrinkage and Selection Operator (LASSO) (LLS with l 1 l_1 l 1 Regularization)
Problem type:
Regression with MSE risk
Approach:
Discriminative
Model:
h ( x ; θ ) = θ ⊤ x h(\boldsymbol{x};\boldsymbol{\theta})=\boldsymbol{\theta}^{\top}\boldsymbol{x} h ( x ; θ ) = θ ⊤ x
Hyper-parameter:
Regularization coefficient λ \lambda λ
Optimization:
θ ∗ = arg min θ 1 N ∑ i ( θ ⊤ x ( i ) − y ( i ) ) 2 + λ ∑ j ∣ θ j ∣ \boldsymbol{\theta}^*=\underset{\boldsymbol{\theta}}{\arg\min}\ \frac{1}{N}\sum_i (\boldsymbol{\theta}^{\top}\boldsymbol{x}^{(i)}-y^{(i)})^2+\lambda\sum_j\lvert\theta_j\rvert θ ∗ = θ arg min N 1 ∑ i ( θ ⊤ x ( i ) − y ( i ) ) 2 + λ ∑ j ∣ θ j ∣
How to solve:
Variants of gradient descent (were not presented in the course).
K-Nearest Neighbors (K-NN)
Problem type:
Classification (and also regression)
Approach:
Discriminative
Hyper-parameter:
Number of neighbors K K K .
Properties:
Required amount of data that is exponential in the dimension. Good for low dimensions with a lot of data. Slow runtime.
Questions:
What is the training process?
What is the main difference between this method and other parametric methods we have learned?
Decision Trees
Problem type:
Classification or regression
Approach:
Discriminative
Model:
A tree with nodes that threshold a single feature.
Hyper-parameter:
Number of nodes.
Optimization:
Classification: Minimize entropy or the Gini index.
Regression: Minimize RMSE.
How to solve:
Add nodes in a greedy manner + pruning.
Decision Trees - Cont.
Properties:
Very efficient runtime.
Usually overfits but can efficiently be combined with bagging or boosting.
Can work with categorical features.
More interptable (without ensembles).
Hard SVM
Problem type:
Binary classification
Approach:
Discriminative
Model:
h ( x ) = sign ( w T x + b ) h(\boldsymbol{x})=\text{sign}(\boldsymbol{w}^T\boldsymbol{x}+b) h ( x ) = sign ( w T x + b )
Optimization:
w ∗ , b ∗ = arg min w , b 1 2 ∥ w ∥ 2 s.t. ( w ⊤ x ( i ) + b ) y ( i ) ≥ 1 ∀ i \begin{aligned}
\boldsymbol{w}^*,b^*
=\underset{\boldsymbol{w},b}{\arg\min}\quad&\frac{1}{2}\lVert\boldsymbol{w}\rVert^2\\
\text{s.t.}\quad&(\boldsymbol{w}^{\top}\boldsymbol{x}^{(i)}+b)y^{(i)}\geq1\quad\forall i
\end{aligned} w ∗ , b ∗ = w , b arg min s.t. 2 1 ∥ w ∥ 2 ( w ⊤ x ( i ) + b ) y ( i ) ≥ 1 ∀ i
How to solve:
Numerical convex optimization solvers.
Property:
Requires the data to be linearly seperable.
Soft SVM
Problem type:
Binary classification
Approach:
Discriminative
Model:
h ( x ) = sign ( w T x + b ) h(\boldsymbol{x})=\text{sign}(\boldsymbol{w}^T\boldsymbol{x}+b) h ( x ) = sign ( w T x + b )
Hyper-parameter:
The slack penalty term C C C .
Optimization:
w ∗ , b ∗ , { ξ i } ∗ = arg min w , b , { ξ i } 1 2 ∥ w ∥ 2 + C ∑ i = 1 N ξ i s.t. y ( i ) ( w ⊤ x ( i ) + b ) ≥ 1 − ξ i ∀ i ξ i ≥ 0 ∀ i \begin{aligned}
\boldsymbol{w}^*,b^*,\{\xi_i\}^*=
\underset{\boldsymbol{w},b,\{\xi_i\}}{\arg\min}\quad&\frac{1}{2}\left\lVert\boldsymbol{w}\right\rVert^2+C\sum_{i=1}^N\xi_i \\
\text{s.t.}\quad
&y^{(i)}\left(\boldsymbol{w}^{\top}\boldsymbol{x}^{(i)}+b\right)\geq1-\xi_i\quad\forall i\\
&\xi_i\geq0\quad\forall i
\end{aligned} w ∗ , b ∗ , { ξ i } ∗ = w , b , { ξ i } arg min s.t. 2 1 ∥ w ∥ 2 + C i = 1 ∑ N ξ i y ( i ) ( w ⊤ x ( i ) + b ) ≥ 1 − ξ i ∀ i ξ i ≥ 0 ∀ i
Soft SVM - Cont.
How to solve:
Numerical convex optimization solvers.
Property:
Can be very efficient when combined with the right kernal using the kernal-trick.
Histogram
Approach:
Generative
Model:
Piecewise constant probability function.
Hyper-parameter:
Bin edges.
How to solve:
Count relative number of samples in each bin.
Properties:
Not very useful for supervised learning.
Required amount of data is exponential in the dimension.
Great for quick visualization.
KDE
Approach:
Generative
Model:
Linear combination of N N N shifted kernel functions.
Hyper-parameter:
The kernel function
Properties:
Required amount of data is exponential in the dimension. Good for low dimensions with a lot of data.
Linear Discriminant Analysis (LDA)
Problem type:
Classification
Approach:
Generative
Model:
p x ∣ y ( x ∣ y ) = 1 ( 2 π ) d ∣ Σ ∣ e − 1 2 ( x − μ y ) T Σ − 1 ( x − μ y ) p_{\mathbf{x}|\text{y}}(\boldsymbol{x}|y)=\frac{1}{\sqrt{(2\pi)^d|\Sigma|}}e^{-\frac{1}{2}\left(\boldsymbol{x}-\boldsymbol{\mu}_y\right)^T\Sigma^{-1}\left(\boldsymbol{x}-\boldsymbol{\mu}_y\right)} p x ∣ y ( x ∣ y ) = ( 2 π ) d ∣ Σ ∣ 1 e − 2 1 ( x − μ y ) T Σ − 1 ( x − μ y )
Optimization:
MLE (or MAP)
How to solve:
Has a closed-form solution.
Properties:
Linear separation lines.
Good when each class is concentrated in a different area of the feature space.
Can deal with classes with very few examples (even 1).
Quadric Discriminant Analysis (QDA)
Problem type:
Classification
Approach:
Generative
Model:
p x ∣ y ( x ∣ y ) = 1 ( 2 π ) d ∣ Σ y ∣ e − 1 2 ( x − μ y ) T Σ y − 1 ( x − μ y ) p_{\mathbf{x}|\text{y}}(\boldsymbol{x}|y)=\frac{1}{\sqrt{(2\pi)^d|\Sigma_y|}}e^{-\frac{1}{2}\left(\boldsymbol{x}-\boldsymbol{\mu}_y\right)^T\Sigma_y^{-1}\left(\boldsymbol{x}-\boldsymbol{\mu}_y\right)} p x ∣ y ( x ∣ y ) = ( 2 π ) d ∣ Σ y ∣ 1 e − 2 1 ( x − μ y ) T Σ y − 1 ( x − μ y )
Optimization:
MLE (or MAP)
How to solve:
Has a closed-form solution.
Properties:
Quadric separetion lines.
Good when each class is concentrated in a different area of the feature space.
Logistic Regression
Problem type:
Classification
Approach:
Probabilistic Discriminative
Model:
p y ∣ x ( y ∣ x ) = softmax ( F ( x ; θ ) ) y = e f y ( x ; θ y ) ∑ c e f c ( x ; θ c ) p_{\text{y}|\mathbf{x}}(y|\boldsymbol{x})=\text{softmax}(F(\boldsymbol{x};\boldsymbol{\theta}))_y=\frac{e^{f_y(\boldsymbol{x};\boldsymbol{\theta}_y)}}{\sum_c e^{f_c(\boldsymbol{x};\boldsymbol{\theta}_c)}} p y ∣ x ( y ∣ x ) = softmax ( F ( x ; θ ) ) y = ∑ c e f c ( x ; θ c ) e f y ( x ; θ y )
Hyper-parameter:
The functions f y ( x ; θ y ) f_y(\boldsymbol{x};\boldsymbol{\theta}_y) f y ( x ; θ y ) .
Optimization:
MLE (or MAP)
How to solve:
Gradient descent.
Linear Logistic Regression
Problem type:
Classification
Approach:
Probabilistic Discriminative
Model:
p y ∣ x ( y ∣ x ) = softmax ( Θ x ) y = e θ y ⊤ x ∑ c e θ c ⊤ x p_{\text{y}|\mathbf{x}}(y|\boldsymbol{x})=\text{softmax}(\Theta\boldsymbol{x})_y=\frac{e^{\boldsymbol{\theta}_y^{\top}\boldsymbol{x}}}{\sum_c e^{\boldsymbol{\theta}_c^{\top}\boldsymbol{x}}} p y ∣ x ( y ∣ x ) = softmax ( Θ x ) y = ∑ c e θ c ⊤ x e θ y ⊤ x
Hyper-parameter:
The matrix Θ \Theta Θ .
Optimization:
MLE (or MAP)
How to solve:
Gradient descent.
Multi-Layer Perceptron (MLP)
Problem type:
Either
Approach:
Probabilistic Discriminative / Discriminative
Model:
A neural network of fully connected layers.
Hyper-parameter:
The number of layers and their width + activation functions.
Optimization:
Classification: MLE (or MAP)
Regression: ERM
How to solve:
Stochastic Gradient descent (and variants) + backpropogation.
Property:
Requires large amounts of data in order to avoid overfiting.
Convolutional Neural Network (CNN)
Problem type:
Either
Approach:
Probabilistic Discriminative / Discriminative
Model:
A NN of convolutional + fully connected layers.
Hyper-parameter:
The architecture.
Optimization:
Classification: MLE (or MAP)
Regression: ERM
How to solve:
Gradient descent + backpropogation.
Property:
Very efficient when x \boldsymbol{x} x has some spatial structure (e.g. images).
Bagging and Boosting
בנוסף לכל השיטות הנ"ל ראינו גם כיצד ניתן לשלב מספר חזאים באופן הבא:
בעזרת Bagging בכדי להקטין את ה variance (overfitting) של החזאים.
בעזרת AdaBoost בכדי להקטין את ה bias (underfitting) של החזאים.
מה הלאה - קורסים?
קורסים נוספים בפקולטה בתחום:
046202 - עיבוד וניתוח מידע (unsupervised).
046211 - למידה עמוקה.
046203 - תכנון ולמידה מחיזוקים (reinforcment).
046746 - אלגוריתמים ויישומים בראיה ממוחשבת.
046853 - .ארכיטקטורות מחשבים מתקדמות
מה הלאה - Deep learning?
הכרת טכניקות ספציפיות ברשתות נוירונים (ארכיטקטורות, אופטימיזציות, רגולריזציה וכו'):
מאד דינמי ומשתנה בקצב גבוה.
משתנה מבעיה לבעיה.
הכי טוב זה לקחת בעיה ולראות מה השיטות בהם משתמשים כיום בכדי לפתור אותה.
Google is your friend ...
מה הלאה - צבירת נסיון?
התחום של מערכות לומדות דורש המון נסיון ואינטואיציה שנרכשים עם הזמן.
חברי סגל בתחום
אביב תמר
איילת טל
גיא גלבוע
דניאל סודרי
יואב שכנר
יניב רומנו
כפיר לוי
ליהי צלניק-מנור
נחום שימקין
ענת לוין
רון מאיר
שי מנור
תומר מיכאלי