3-2/기계학습이론 4

[기계학습] Gradient Descent(경사하강법)_2

앞선 포스팅에서 경사하강법의 개념과 공식, 그리고 왜 gradient가 증가하는 방향을 가리키고 있는지 알아보았다.이번 포스팅에서는 앞선 내용을 복습하고 gradient가 왜 가장 빠르게 증가하는 방향인지 알아보도록 하자. 복습 문제Given the following objective function, what is the gradient of $f$ at an arbitrary point $\beta^0$? And, what is the update rule for an arbitrary model parameter $\beta_j$? $$ f(\beta)=\sum_{i=1}^{n}(y_{i}-x_i^T\beta)^2 + \lambda \sum_{j=1}^p\beta_j^2$$ $x_i=[x_{i1},..

[기계학습] Gradient Descent(경사하강법)_1

앞선 포스팅에서 model training을 하는 방법으로 미분을 통해 optimal 값을 구하는 방법을 사용했다. 해당 식은 loss function E가 단순할 때 사용할 수 있는 방법이었다. 이번 포스팅에서는 loss function이 복잡할 때 사용하는 gradient descent에 대해 공부해 보도록 하자. 이 경우에는 조금씩 update해 가며 점진적으로 찾는 방법을 써야한다. 다음과 같이 함수가 복잡할 때는 미분값이 0이 되는 극솟값이 굉장히 많다. 극솟값들을 local minima라고 하고 그 중에서도 가장 작은 값을 global minima라고 한다. 궁극적으로 우리가 찾고 싶은 최솟값은 global minima다.하지만 우리는 해당 값을 바로 찾을 수 없고 극솟값을 찾았다 해도 그 값..

[기계학습] Linear Regression_과적합 해결하기

지난 포스팅에서는 회귀분석에 대한 개념과 선형 회귀의 최적 model parameter를 계산하는 방법에 대해 공부했다.$\hat{\beta} = (X^TX)^{-1}X^Ty$ 이 식은 꼭 외우도록 하자! 하지만 학습할 때 주의해야 될 사항이 있다. 바로 과적합이다.과적합은 model이 training data를 너무 신경쓰다보니 정작 test data에서는 예측 성능이 떨어지는 문제를 말한다. training data에 대해서는 완벽하게, 거의 error가 0일 정도로 학습되는데 test data에 대해서는 예측을 잘 하지 못한다.그림으로 이해해 보자. 왼쪽 그림은 파란색과 빨간색을 분류하는 문제이다. 분류를 할 때 data가 하나씩 misclassification될 때마다 error값이 증가할 것이다..

[기계학습] Linear Regression_최적값 계산하기

해당 게시물은 한양대학교 컴퓨터소프트웨어학부 채동규 교수님 기계학습이론 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요! Linear Regression이란 선형 회귀 분석으로 알려진 다른 데이터를 바탕으로 새로운 데이터를 예측하는 방법이다. 조금 더 쉽게 풀어서 말하자면 여러 요소들을 종합적으로 고려해서 하나의 target을 예측하는 것을 뜻한다. Example: Predicting price of houses (Single input variable)위의 예제에서 집크기는 independent(input) variable이고 그에 따른 집가격은 dependent(target) variable이다.전자는 예측의 힌트가 되고 후자는 예측을 해야하는 값이다.위처럼 15개의 데이터가 주..