[머신러닝] Bias and Variance

본 게시물은 LG aimers 과정에서 서울대학교 김건희 교수님의 Machine Learning 개론 강좌를 참고로 정리하였습니다.


Type of Learning

  • Supervised Learning (지도학습)
    • 기계 학습 알고리즘에 input에 따라 어떤 output이 나와야 하는지 알려주는 알고리즘
    • Classification / Regression
  • Unsupervised Learning (비지도 학습)
    • Clustering
    • Anomaly Detection
    • Density Estimation
    • 데이터상에서 특이한 것을 걸러 낼 때 (Outlier, anomaly ....)
  • Semi-Supervised Learning
    • 학습 데이터들을 줄 때 몇몇 데이터들은 x, y를 모두 주고 몇몇 데이터들은 x만 주는 경우
    • LU Learning : 몇몇 데이터들은 레이블을 주고, 그 이외의 데이터들은 레이블을 안주는 경우 (모든 클래스에 대해서 일부만 데이터를 주는 경우)
    • PU Learning : One-class classificaiton 의 일종이라고 할 수 있음. (특정 클래스에 대한 데이터만 주어졌지 나머지 클래스에 대해서는 데이터가 주어지지 않은 경우)
  • Reinforcement Learning (강화 학습)
    • A feedback loop between the learning system and its environment
    • 환경과 계속 interaction을 진행함(state를 보고 agent)
    • Reward를 통해서 해야 하는 방법을 배우게 됨
    • 이기면 Reward가 크고 지면 Reward를 감소하는 방법으로 학습

 

Bias and Variance

Bias는 보통 편향이라고 하고 variance는 분산이라고 함.

기계학습 중에 Model을 task에 맞게 최적의 Model을 선택하는 것이 중요한데, Machine learning에서 Bias, Variance - Overfitting, Underfitting 사이의 trade-off 관계를 완벽히 이해하는 것이 중요함.

출처 : LG aimers 서울대학교 김건희 교수님 강의자료

 

다음과 같은 과녁 문제를 통해 Bias-Variance 사이의 trade-off 문제를 명확히 할 수 있는데,

Bias가 크다는 것은 영점이 맞지 않는 경우를 말하고, Variance가 크다는 것은 과녁의 화살이 널뛰는 경우, 즉 분포가 넓게 퍼져있다는 것을 의미한다.

 

따라서 target을 잘 맞추려면 Bias도 낮고, Variance도 낮도록 model을 설계해야 한다.

 

수식으로 표현하면 전체 Test Error를 다음과 같이 표현할 수 있는데,

$Test Error = Bias + Variance$

  • Bias : 예측의 평균값과 True 값과의 차이
  • Variance : 스무 번 쏜 것의 평균 값을 구하여 거리들의 제곱을 구해서 평균을 다시 구함

두 값이 낮아진다면 TEST Error가 낮아지므로 target을 잘 맞추는 모델이 된다는 것을 의미한다. ㅎㅎ

 

하지만 Bias와 Variance 사이에는 trade-off 값이 존재하여, Bias가 작아지면 Variance가 커지게 되고, 반대로 Variance가 작아지면 Bais가 커진다는 단점이 존재한다. 따라서 이를 조절하여 최적의 값을 찾는것이 Machine learning의 목적이라고 할 수 있다. 

 

Bias가 높은 것은 target을 잘 맞추지 못한다는 뜻이므로 Underfitting 과 관련이 있게 되고,

Variance가 높은 것은 target을 잘 맞추더라도 화살의 분포가 넓게 퍼져있기 때문에 Overfitting과 관련이 있다.

 

따라서 Variance를 잡기 위한 가장 좋은 방법은 학습 Data를 많이 모아 화살의 간격을 줄여나가는 것이고, Bias를 잡기 위한 가장 좋은 방법은 Model 자체의 complexity를 높이는 방법이다. (Bias는 데이터셋을 더 모은다고 나아지지 않는다.)

 

 

 

이 두 파라미터 사이의 최적의 값을 찾기 위해 제안된 것이 바로

Regularization, Ensemble이다.

요건 다음 게시물로ㅎㅎ..