본문 바로가기

CS229: Machine Learning

(10)
Lecture 11: Unsupervised Learning 오랜만에 쓴다...What is unsupervised learning? 비지도학습$($Unsupervised Learning$)$이란, 이때까지 어떤 데이터와 그 데이터에 대한 정답을 이용해 학습하는 방식과 다르게, 어떤 데이터에 대한 정답 없이 데이터의 특성을 학습하는 과정이다. 대표적으로 k-means $($EM algorithm의 일반화$)$ 등등이 있다. 이때 k-means란, 센트로이드들를 초기화한 뒤, 클러스터링을 해서 센트로이드들이 바뀌지 않을 때까지 다시 센트로이드들을 찾는 과정을 반복해서 적절한 센트로이드를 찾는 알고리즘이다. Does k-mean algorithm Terminate? 그런데, k-means 알고리즘은 항상 수렴할까? k-means 알고리즘의 비용함수는 $\mu^{c^{..
Lecture 10 - Feature/Model Selection 모델의 복잡도$($Complexity measures$)$ 모델은 복잡도는 다음 두 요소와 관련되어 있다. 파라미터의 수파라미터의 노름Regularization 머신러닝에서 규제는 학습 과정에서 우리가 가진 training 데이터셋에 대한 overfitting 정도를 줄이고, 일반화 성능을 높이기 위한 도구이다. 학습 과정에서 규제는 $J(\theta) + \lambda R(\theta)$에서 $\lambda R(\theta)$ 항이다. 여기서 $\lambda$는 규제 $R$의 중요도를 조절하는 하이퍼파라미터이다. 규제로 사용되는 함수는 여러 가지가 있으나, 대표적으로 두 개를 따지자면 L1/L2 regularization이다. L1 regularization은 Lasso라고도 하며, $R(\theta)..
Lecture 9: Generalization & Regulazation training loss/error/cost 우리는 training을 할 때 손실 함수 J를 MSE$($Mean Squared Error$)$를 이용해서 $J(\theta) = \frac{1}{n}\sum_{i=1}^{n} (y^{(i)} - h_{\theta}(x_i))^2$로 정의한다. 우리는 gradient descent를 통해서 J를 줄여야 하나, 문제는 J가 줄어든다고 해서 항상 모델의 정확성이 높다는 것은 아니란 것이다. 그래서 우리는 training 말고 test를 할 때 모델의 정확성 평가를 위해 test에서도 독립적인 test 데이터셋 $D$를 이용해 손실 함수 $L$을 다음과 같이 정의한다. $L(\theta) = E_{(x, y) \sim D}[(y - h_{\theta}(x))^2]..
Lecture 8 - Neural Network Why Linear Regression not work well? 우리가 머신러닝을 실습할 때 자주 보는 문제인 여러 요소$($집 위치, 크기, 집의 질 등등$)$를 가진 데이터가 있을 때 집의 가격을 예측하는 문제를 생각해보자. 우리는 전에 이 요소들을 파라미터화한 후, 적절하게 Linear Regression으로 풀어서 문제를 해결했을 것이다. 이와 같이 선형 회귀는 데이터셋이 주어질 때 1. 데이터들에 있는 요소들을 분석한 후, 2. 요소들을 적절한 기준에 따라 정량화하고, 3.이 정량화한 데이터셋으로 선형 회귀를 실행해서 적절한 예측 식을 얻는다.  하지만, 선형 회귀로 구한 예측은 잘 작동하지 않을 때도 많다. 부동산을 예시로 들자면 두 가지 이유가 있는데, 입력과 출력의 관계가 선형적인 관계가..
Lecture 7: Kernel Method Non-linearity 우리는 linear regression을 할 때 선형적인 함수를 사용한다. 하지만, 모든 변수 간 관계가 선형적인 관계를 가지는 게 아니기 때문에, 때때로는 비선형적인 함수를 사용해야 할 때가 있다. 우리는 데이터를 비선형 함수를 이용해 feature-mapping해서 비선형성을 다룬다. - $h_{\theta}\left ( x \right ) = \theta \times \phi \left ( x \right )$ 여기서 함수 $h$는 $\theta$와 $\phi$에 대해서는 선형이고, $x$에 대해서는 선형이 아님을 알 수 있다. 그러므로 우리는 $\theta$와 $\phi$에 대해서 Linear regression을 할 수 있다. Linear Regression 원소 $x$..
Lecture 6: Naive Bayes, Laplace smoothing 다 들었는데 블로그에 글을 안써서... 특히 수식 변환 쓰는 난이도가 더럽게 어렵다.Source of Knowledge assumptions$($가설$)$data$($현실에서의 경험, 데이터$)$ Example: Spam Classification 이메일에서의 text를 feature vector $x \in \mathbb{R}^d$로 변환한다고 하자. one-hot encoding을 사용하고, $d$가 사전에 있는 단어들의 개수라 정의할 때, $x_i$는 사전에 $i$번째 단어가 등장하는 경우 $1$으로 정의된다.  예를 들어, I ate apple이라는 문장은 사전이 $[I, am, main, function, ate, apple]$일때 $[1, 0, 0, 0, 1, 1]$로 변형된다는 것이다. 이걸..
Lecture 5: GDA GLA vs DLA 매우 간단히 요약하자면 다음과 같다.Generative Learning AlgorithmDiscriminative Learning Algorithm$p(x, y)$를 구하는 게 목표$p(y | x)$를 구하는 게 목표 $p(y | x)$만 구하는 DLA와는 다르게 GLA는 $p(x, y)$를 구하기 위해 $p(x | y)$와 $p(y)$도 같이 계산한다. 그러므로 베이즈 정리를 잘 이용하면 GLA로도 $p(y | x)$를 구할 수 있지만 사용할 수 있는 영역 자체는 GLA가 더 넓다.GDA 소개 GDA$($Gaussian Discriminant Analysis$)$는 이름만 보면 DLA일거 같지만 GLA에 속하는 알고리즘이다. 일단 GDA를 위한 가정은 다음과 같다. $x \in \m..
Lecture 4 - Exponential Family & GLM https://youtu.be/goDDnBbJQ4g?feature=sharedExponential Family 아이디어는 확률 변수가 어떤 확률 분포를 따른다고 할 때, 여러 확률 분포를 우리는 일반화할 수 있을 것이다. 그래서 여러 가지 이점을 얻을 수 있는데, 우리가 사용할 일반화는 바로 Exponential Family이다. 지수족은 다음과 같은 PMF 또는 PDF 식을 가진 확률 분포들의 일반화이다.  $P\left(y; \theta\right) = h\left(x\right)\exp\left[\eta\left(\theta\right)\times T\left(x\right) - A\left(\theta\right)\right]$ 이런 형태를 가진 식은 많은데, 하나만 들자면 n개 중에 y번 성공할..