2019년 1학기 고려대학교 강재우 교수님 데이터 과학 정리
Issues with Closed Form Solution
선형 회귀를 위한 식은 간결, 명쾌하지만 아래와 같은 이슈들이 존재한다
- 큰 시스템에 대해서 inversion이 느리다
- 공식의 불안정 — 선형 대수의 놀라운 점들을 다른 공식에 확장하기 어렵다
이러한 요소들이 회귀를 위한 gradient descent approach (경사 하강법 접근)의 등장에 영향을 주었다.
Regression as Parameter Fitting
우리는 error를 제곱한 값의 합을 최소화하는 계수를 구하고자 한다.
여기에서 regression line 은 아래와 같다
Lines in Parameter Space
error 함수가 볼록함수이기 때문에, 단일 local/global 최소값을 찾기 쉽다.
cf ) 볼록함수는 임의의 두 점을 이은 할선이 두 점을 이은 곡선보다 위에 있는 함수
Gradient Descent Search
오직 하나의 local/global 최소값을 갖는 공간을 convex라고 한다. 만약 값을 찾는 공간이 convex 라면 단순히 하강 시킴으로써 최소값을 찾을 수 있다.
아래로 가는 가장 빠른 방향은 현재 포인트의 slope/tangent(접선)으로 정의 된다.
The Fastest Way Down
현재 포인트에서 아래로 가는 방향은 접선에 의해 정의된다.
먼저 (x+dx, f(x+dx)) 에 해당하는 포인트를 찾은 후, (x,f(x))로 라인을 맞추면 된다.
Gradient Descent for Regression
“Batch” Gradient Descent
“Batch” : gradient descent 의 각 step 에서 모든 training example을 사용하는 것이다.
Which Functions are Convex?
second derivative(이차 도함수) 0이면 최소값이나 최대값을 구할 수 있다.
Gradient descent search 는 non-convex function 일때 local minima에 갇힐 수 있다.
Getting Trapped in Local Optima
Effect of Learning Rate/ Step Size
step size가 너무 작으면 최적값까지 느리게 도달하고, 너무 크면 목표 지점을 지나칠 수도 있다.
What is the Right Learning Rate?
최적화하면서 손실 함수 J()의 값을 관찰해야 한다.
진전이 너무 느리면 multiplicative factor(증배율)만큼 증가시키고, 반대로 step size가 너무 큰 경우(J의 값이 큰 경우)에는 multiplicative factor만큼 감소시킨다.
Stochastic Gradient Descent
partial derivative(편도 함수)를 평가하는데 걸리는 시간은 각 step 마다 존재하는 example의 개수에 비례한다.
따라서 gradient descent에서 learning rate(α)와 batch size 를 최적화 하는것이 convex function 에서 빠른 최적회를 이끌어 낸다.
cf) 편도 함수 — 어떤 다변수 함수가 있을 때, 그 중 한 변수만을 기준으로 잡고 다른 변수는 상수로 간주하여 미분하였을 때 얻는 도함수
Too Many Features?
회귀에 많은 feature들을 제공한다면 좋겠지만 ‘Occam’s Razor’을 생각해보자.
“The simplest explanation is best”
이상적으로 우리의 regression은 가장 중요한 variable을 뽑아서 fit해야겠지만, 우리의 objective function은 단순히 error 제곱의 합을 최소화하기를 시도한다.
Regularization
make it simpler!
정규화(Regularization)에서는 같은 수의 변수를 유지하면서 계수 j의 크기를 줄이는 일을 한다.
정규화를 사용하는 여러 유형의 회귀 방법론 중 Ridge Regression이 있다.
해당 식은 원래의 objective function에 계수를 작게 만들 수 있는 term을 더한 것이다.
계수의 제곱의 합에 비례해 패널티를 부여하는 방식으로, 부호는 무시되며 coefficient 를 0으로 세팅하는 것과 같은 이점을 제공한다.
Interpreting / Penalizing Coefficients
계수의 제곱의 합에 패널티를 부과하는 것은 Ridge regression 또는 Tikhonov(티호노프) regularization에 해당한다. 계수의 절대값에 패널티 부과하는건 LASSO regularization에 속한다.
LASSO(Least Absolute Shrinkage and Selection Operator)
계수의 절대값에 패널티를 부과하는 방식이다.
- tends to select sparse solution
- variable selection과 (parameters 는 실제로 0으로 수렴되면서 중요한 몇개 변수만 선택하는 효과를 지닌다. ridge에서는 작게나마 남아있다.) regularization를 모두 수행한다.
- 중요한 feature만 남김으로써 interpretability를 향상시킨다.
cf) Elastic Net Regression 은 Ridge와 Lasso 의 하이브리드 형태
What is the right Lambda?
λ 값이 크다면 small parameter을 모두 0으로 만듦으로써 underfit 될 수 있다. 반면 λ 값이 작다면 모든 parameter를 사용(원래 하던 작업. no regression)하면서 overfit될 수 있다. 따라서 이 사이에서 적절한 밸런스를 찾아야 한다.
Normal Form with Regularization
normal form equation(표준형 방정식)은 regularization을 다루기 위해 일반화 될 수 있다.
혹은 적절한 loss function 과 편도함수와 함께 gradient descent를 이용할 수도 있다.