Duplicate

Lecture 13 | Machine Learning Basics and Linear Regression

형태
Machine Learning
수강 일자
2022/10/17

Rough Categories of Machine Learning Problems

Supervised Learning
Given: Training data + desired outputs (labels)
Unsupervised Learning
Given: Training data (without desired outputs)
Semi-supervised Learning
Given: Training data + a few desired outputs

Supervised Learning

Supervisions (labels) 가 training dataset 에 함께 주어짐
Input: x=(x1,...xN)T{\rm x} = (x_1, ...x_N)^T
Target (label) t=(t1,...,tN)T{\rm t} = (t_1,...,t_N)^T
Regression: tt 값이 continous, Classification: tt 값이 discrete

Supervised Learning

Regression
Learn f(xi;θ)=yiRMf(x_i;\theta) = y_i \in {\mathbb R}^M to predict tt from xx
Classification
Learn vector each term represents probability of each categories

Unsupervised (Self-supervise) Learning

Clustering: 비슷한 특성을 가진 것들끼리 그룹으로 묶는 task
Density Estimation: 데이터 분포를 예측하는 task
Dimensionality Reduction and Visulization: 차원 축소 및 시각화 (ex. PCA)
Self-supervised Learning
Pretext-task 로 본인만을 이용해서 feature 를 뽑아내고, pre-trained 된 모델에서 target-task 에 knowledge transfer 를 해줌

Training / Testing / Validation Set

Training set 과 Testing set 을 분리하는 것은 굉장히 중요함
Training set 은 모델을 학습하는데 사용하는 dataset
Testing set 은 모델을 평가하는데 사용하는 dataset
Validation set 은 Training set 의 일부로 떼어내서 사용할 수 있으며, training 도중에 모델이 얼마나 좋은지 test 해보고 hyper-parameter 를 tuning 할 수 있음!

Supervised Learning: Linear Regressions

Example - House Price Estimation
Living Area 와 Bedroom 개수를 바탕으로 집의 가격을 예측!
선택한 모델: hθ=θ0+θ1x1+θ2x2h_\theta = \theta_0 + \theta_1 x_1 + \theta_2 x_2
x0=1x_0=1 로 두면, 위 식은 h(x)=i=0dθixi=θTxh(x)=\sum_{i=0}^d \theta_ix_i=\theta^T x 로 나타낼 수 있음!
Cost Function: J(θ)=12i=1n(hθ(x(i))y(i))2J(\theta)= \frac{1}{2}\sum_{i=1}^n (h_\theta(x^{(i)})-y^{(i)})^2 (12\frac{1}{2 } 은 편의상 붙임)

Recall: Least-Squares Problem

y(x,w)=wo+w1x1...+wMxM=j=0Mwjxjy(x, {\rm w}) = w_o + w_1x_1 ...+w_Mx^M = \sum_{j=0}^M w_jx_j
minimize the squared sum of residuals
12j=1mrj2(x)=12j=1m(y(xj,w)tj)2\frac{1}{2}\sum_{j=1}^m r_j^2(x) = \frac{1}{2}\sum_{j=1}^m (y(x_j,{\rm w})-t_j)^2
Hyperparameter mm
mm 이 작으면 underfitting, mm 이 크면 overfitting
이는 곧 f(x)=12Axb22f(x) = \frac{1}{2}\| Ax-b\|_2^2 를 minimize 하는 문제와 같음
f(x)=12Axb22=12(Axb)T(Axb)f(x)=\frac{1}{2}\| Ax-b\|_2^2=\frac{1}{2}(Ax-b)^T(Ax-b)
Solution 은 다음과 같음 (과정은 미분해서 0 되는 값 찾는 과정으로, 이전에 다룸)
x=(ATA)1ATb{\rm x} = (A^T A)^{-1}A^Tb

Linear Regressions

More expressive power: linear combinations of fixed nonlinear functions
y(x,w)=w0+j=1M1wjϕj(x)y(x,w) = w_0 + \sum_{j=1}^{M-1}w_j\phi_j(x)
ϕ0(x)=1\phi_0(\rm x) =1
y(x,w)=j=1M1wjϕj(x)=wTϕ(x)y(x,w) =\sum_{j=1}^{M-1}w_j\phi_j(x) = {\rm w}^T \phi(\rm x)
ϕj(x)\phi_j(x) 는 basis function (MM 개의 다른 feature)
xx 만으로는 표현력이 부족하기 때문
Loss function 은 기존과 동일하게 다음과 같음
12n=1N(y(xn,w)tn)2\frac{1}{2}\sum_{n=1}^N (y(x_n,{\rm w})-t_n)^2
이는 곧 12Awt22\frac{1}{2} \|A{\rm w - t}\|_2^2 를 minimize 하는 것과 같음
Least square 로 마찬가지로 w=(ATA)1ATt{\rm w } = (A^TA)^{-1}A^T\rm t 로 구할 수 있음
Gradient descent 로 구할 수도 있음
w(k+1)=w(k)αE(w(k)){\rm w^{(k+1)}}= {\rm w^{(k)}} - \alpha \nabla E({\rm w^{(k)}})

1-D vs Multi-D

w\rm w 의 dimension 은 예측하려는 hyperplane 의 dimension
1 이면 직선, 2 이면 평면

Linear Regression Example

Underfitting vs. Overfitting

Underfitting
Model 이 training data 와 test data 모두에서 좋은 결과를 안 보임 (model 이 너무 간단한게 주요 원인)
Overfitting
Model 이 training data 는 너무 잘 설명해주지만 unseen data 에 generalize 가 안됨 (model 이 너무 복잡한 것이 주요 원인)
데이터 하나하나의 디테일을 모두 표현하려다 보니 coefficient 의 absolute value 크기가 매우 커짐 → regularization 으로 해결

A Way To Avoid Overfitting

Regularization Term
EW(w)=12wTwE_W(w) = \frac{1}{2}w^Tw
기존 loss 에 더해서 low w\rm w 를 선호하도록 설정하는 것임
Input 에 상관하지 않음
More Generalized Regularization Term
q=1q=1: Lasso, enforcing sparsity
λ2j=1Mwjq\frac{\lambda}{2}\sum_{j=1}^M |w_j|^q

L1 Regularization vs. L2 Regularization

L1 Regularizer 가 sparsity 를 더 강조함
Optimize point 가 부드럽게 바뀌지 않고 빠르게 바뀜
Classification 의 경우에는 0 아니면 1 로 산출해야 해서 sparsity 가 높고 L1 을 사용할 가능성이 높을 수 있음!

Recall: Random Variable

Continuous function 에서의 probability 는 밑면적임
특정 데이터가 나올 확률은 0

Linear Regressions: A Probabilistic Perspective

Probabilities VS Likelihoods
Probability 는 특정 distribution 으로부터 해당 데이터가 나올 확률
Liklihoods 는 특정 data 가 특정 distribution 에서 나왔을 확률
사실 의미적으로는 동일함
Maximum Likelihood
θ^=arg maxθΘLn(θ;x)\hat{\theta}=\argmax_{\theta\in\Theta} L_n(\theta;x)
likelihood
p(xμ,σ2)=n=1NN(xnμ,σ2)p({\rm x}| \mu, \sigma^2) = \prod_{n=1}^ N {\mathcal N}(x_n|\mu, \sigma^2)
log-likelihood
lnp(xμ,σ2)=12σ2n=1N(xnσ)2N2lnσ2N2ln(2π)\ln p({\rm x}| \mu, \sigma^2) = -\frac{1}{2\sigma^2} \sum_{n=1}^ N (x_n-\sigma)^2 - \frac{N}{2} \ln \sigma^2 - \frac{N}{2} \ln (2\pi)
→ multiplication 이 summation 으로 바뀌어서 쉽고, exponential term 이 날아감!

Curve Fitting Re-Visited

Curve fitting 의 예측과 실제의 차이를 Gaussian Distribution 이라고 가정하고, MLE 를 돌려보면 결과적으로 동일한 Least square problem 식이 유도됨
t(i)=y(x,w)+ϵ(i)t_{(i)} = y(x, {\rm w}) + \epsilon_{(i)}
Likelihood
p(tixi,w)=12πσexp((t(i)y(xi,w))22σ2)p(t_i |x_i, {\rm w})=\frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(t_{(i)}-y(x_i, {\rm w}))^2}{2\sigma^2})
Maximum Log Likelihood
maximize  logi=1N12πσexp((t(i)y(xi,w))22σ2)=i=1Nlog12πσexp((t(i)y(xi,w))22σ2)=nlog12πσ1σ212i=1N(t(i)y(xi,w))2\begin{align*} {\rm maximize}\thickspace &\log\prod_{i=1}^N \frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(t_{(i)}-y(x_i, {\rm w}))^2}{2\sigma^2}) \\ &= \sum_{i=1}^N \log \frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(t_{(i)}-y(x_i, {\rm w}))^2}{2\sigma^2}) \\ &= n\log \frac{1}{\sqrt{2\pi}\sigma} - \frac{1}{\sigma^2}\frac{1}{2} \sum_{i=1}^N (t_{(i)}-y(x_i, {\rm w}))^2 \end{align*}
minimize  12i=1N(t(i)y(xi,w))2{\rm minimize}\thickspace \frac{1}{2} \sum_{i=1}^N (t_{(i)}-y(x_i, {\rm w}))^2