운동하는 공대생
[Machine Learning] 머신러닝에서 딥러닝까지 이론 정리 (4) - Bias-Variance & Multiclass Classification 본문
[Machine Learning] 머신러닝에서 딥러닝까지 이론 정리 (4) - Bias-Variance & Multiclass Classification
운동하는 공대생 2024. 3. 25. 15:431. Bias-Variance Tradeoff
Bias-Variance 문제를 이야기하기에 앞서 먼저 Underfitting, Overfitting 에 대하여 이야기를 먼저 해보겠다.

그림에서 보이는 것처럼 Overfitting 은 데이터를 설명하는 모델이 너무 데이터 편향적으로 학습을 진행하면서 발생하며 훈련 과정에서는 Loss 가 적지만 Test 하면서 모델의 성능이 떨어지는 문제가 발생합니다.
Underfitting 은 데이터를 설명하는 모델이 충분히 데이터를 설명하지 못하며 보통 훈련하는 데이터의 양이 적거나 모델이 단순하면 발생합니다.
수학적 해석

Expected Loss 정답을 나타내는 y 값에서 모델이 예측하는 값의 차이로 계산이 된다. 여기서 식을 전개를 해본다면 결국에는 Variance, Bias의 부분이 남게 된다.


식을 다시 해석을 해보면
Bias는 예측한 데이터와 원래의 데이터 간의 차이를 이야기를 한다. 즉 오른쪽에 사진에서 Bias가 높다면 원래 가지고 있는 데이터가 빨간색 위치, 모델이 예측하는 데이터를 파란색 점이라고 한다면 서로 간의 거리가 Bias가 높아지면 점점 차이가 나는 것을 알 수 있다.
Variance는 식을 해석하자면 모델이 예측한 값과 예측한 값들의 Expectation의 값들의 차이를 나타내게 된다. 그림으로 다시 설명하자면 Variance가 높으면 모델이 예측한 파란점들간의 거리가 멀어짐을 알 수 있다.
그래서 처음에 말했듯이 모델이 복잡해지면서 Train에 대하여 모델이 Loss 가 낮지만 실제 데이터와는 거리가 멀어지는 문제를 Overfitting이라고 하는데 이는 Variance가 높아지면 발생하는 문제와 같다.
반대로 모델이 예측하는 데이터들 간의 차이는 적지만 예측해야 하는 데이터를 잘 설명하지 못하는 문제는 Underfitting에 해당하는데 이것은 Bias가 높아지는 문제 때문에 발생한다.
그래서 Bias-Variance는 Trade Off 관계를 가지고 있다. ( 한쪽이 높아지면 한쪽이 낮아지는)

2. Regularization
모델의 학습에서 Overfitting에 대한 문제는 가장 중요한 문제가 된다. 그래서 이런 문제를 해결하기 위해서 모델이 너무 복잡해지며 발생하는 Overfitting을 해결하는 Regularization 방식이 있다.

먼저 고차원의 Linear 모델에서 차수가 늘어나면 늘어날수록 파라미터의 변화가 급격해진다.


위에 식처럼 이렇게 Error를 구하는 식에서 파라티터의 Penalty를 추가하여서 급격하게 변하는 문제를 해결한다. 즉 파라미터를 업데이트할 때 weight에 따라 미분을 진행하게 되는데 결국에는 Penalty term에 의하여 모델의 변화를 조정하는 게 가능하다.
여기서 W의 제곱하는 차수에 따라서 1 차수는 L1 norm(Lasso) , L2 norm (Ridge), Lq norm 이렇게 부른다.

3. Multiple class

이제까지는 클래스가 2개인 문제에 대하여 이야기를 했다면 class 가 2개 이상인 경우에 대하여 이야기를 해보겠다.
먼저 클래스가 여러 개라고 한다면 각 클래스마나 Classifier를 전부 지정을 해주어야 한다. 하지만 여기서 문제는 왜 K개의 Classifier 를 만들어 줘야 하는가 이다. 그 이유는 K-1 개의 Classifier 를 만들면 각 클래스에 전부 해당하지 않는 부분의 클래스를 지정하기 힘들어진다.
이는 "One-versus-the-rest" 문제라고 이야기를 한다.
반면 k(k-1)/2 개의 Classifier 를 만든다고 한다면 모든 클래스에 속하는 데이터가 생김으로 이 방식 또한 문제가 발생한다. 이것은 "One-versus-one" 문제라고 한다.

'Machine Learning' 카테고리의 다른 글
[Machine Learning] 머신러닝에서 딥러닝까지 이론 정리 (5) - Perceptron, Backpropagation (0) | 2024.04.08 |
---|---|
[Machine Learning] 머신러닝에서 딥러닝까지 이론 정리 (3) - Logistic Regression & Training (0) | 2024.03.18 |
[Machine Learning] 머신러닝에서 딥러닝까지 이론 정리 (2) (0) | 2024.03.13 |
[Machine Learning] 머신러닝에서 딥러닝까지 이론 정리 (1) (0) | 2024.03.04 |
[Machine Learning]PCA (1) | 2023.08.02 |