728x90
1. Regression
- Continuous Outputs
- Data Set에서 입력과 정답으로 구성되어 있는 label이 있는 Data set을 사용
2. Linear Models
- 입력 feature $x_{i}$와 model parameter $\theta_{i}$의 linear combination으로 구성되어 있음
- d-dimension vector $x$ with $x_{0} = 1$ 으로 설정
- 두 벡터 $\theta$, $x$를 내적해서 처리
- 선형 모델이라고 해서 입력 변수도 선형일 필요는 없음 : Model(learnable) Parameter기준 Linear하면 됨
- Advantages
- 단순하다 : 처음 시도해보고 성능 측정하기가 쉬움
- Input parameter가 Output에 영향을 얼마나 주는지 해석가능
- Generalization : model이 단순하기 때문에 성능이 높지는 않아도 다양한 환경에서 안정적인 성능 제공가능
3. Linear Regression
주어진 입력에 대해 출력과의 선형적인 관계를 추론하는 문제
- 입력 feature 1개, Model parameter 2개
- $y^{(i)}$ : Target Data (Data set에서의 정답)
- $h_{\theta}(x^{(i)})$ : Predicted Output (Model의 출력)
4. Optimization (Normal Equation, Gradient Descent)
- d-dimension vector : row 형태로 들어가 있음
- $\theta_{0}$에 곱해지는 input parameter = 1로 설정하기 위해 각 vector의 first entry = 1로 처리
- 최적화 parameter $\theta$ : cost function을 가장 최소화하는 것
- Vector $X$, $\Theta$ 내적 : $X^{T}\Theta$ (Transpose가 앞에 붙는다)
- Transpose 성질 : $(X \Theta)^{T} = \Theta^{T} X^{T}$ : Transpose를 분배하면 순서가 바뀐다
- Normal Equation
- n >= m 이므로 데이터가 변수 개수보다 많거나 같아야 함
- 선형회귀분석 연립방정식과 달리 행의 개수(식의 개수) > 열의 개수(변수의 개수)이므로 방정식을 푸는 것은 불가능함
- Normal Equation 를 이용해서 해를 구하는 것 : Data의 Sample수가 늘어날 경우 비효율적 (Matrix의 dimension이 늘어나게 될 경우 inverse matrix 연산이 복잡해짐)
- Gradient Descent
- Iterative 하게 시행하여 gradient = 0인 지점을 찾는 방법
- Gradient : 함수의 변화도가 가장 큰 방향으로 이동
- Greedy Algorithm의 특성 : GD는 경우에 따라 Local Optimum만을 달성하기가 쉽다 (전체에서 최적화된 point가 아닐 가능성 존재)
- Hyperparameter: 사전에 정의된 parameter (update X)
- Learnable parameter: GD 알고리즘을 통해 학습하고자 하는 parameter (update O)
Q1. MSE를 작성할 때 $\sum_{i=1}^{N}$ 까지 총 Sample의 수는 $N$개지만 $2N$으로 나누는 이유
- Derivation이 수학적으로 더 깔끔하기 때문: Partial Derivation시 $2$가 $\frac {1} {2}$와 상쇄됨
- "To make the derivations mathematically more convenient"
- Loss Function을 최소화하는 Parameter를 찾는데 있어서 Constant를 곱하는 행위는 아무런 영향도 주지 않음
https://mccormickml.com/2014/03/04/gradient-descent-derivation/
실제로 같은 결과를 expect 할 수 있다
Q2. 원래는 (실제값 - 예측값)^2 으로 처리했으나 (예측값 - 실제값)^2으로 MSE 작성 후에도 Gradient값이 동일한가?
Yes
- (실제값 - 예측값)으로 처리한 경우: Partial Derivation시 (-)가 앞으로 튀어나온다
- $\frac{\partial R(w)}{\partial w_{1}} = \frac {-2} {N} \sum_{i=1}^{N} x_{i} * (실제값_{i} - 예측값_{i})$
- $\frac{\partial R(w)}{\partial w_{0}} = \frac {-2} {N} \sum_{i=1}^{N} (실제값_{i} - 예측값_{i})$
- (예측값 - 실제값)으로 처리한 경우: (-)가 선반영 되어있다
- $\frac{\partial R(w)}{\partial w_{1}} = \frac {2} {N} \sum_{i=1}^{N} x_{i} * (예측값_{i} - 실제값_{i})$
- $\frac{\partial R(w)}{\partial w_{0}} = \frac {2} {N} \sum_{i=1}^{N} (예측값_{i} - 실제값_{i})$
- Gradient Descent VS Normal Equation
728x90