티스토리 뷰
데이터에 기반한 modelling을 할 때 자주 나오는 개념인 bias-variance tradeoff. 중요하지만 헷갈릴 수 있는 개념인데 쉽게 정리된 글을 Quora에서 발견하여 번역하여 공유한다.
원문: How would you explain the bias-variance tradeoff to a five year old?
이 그림 하나면 Bias-Variance tradeoff를 설명하기에 충분할 것이다.
모델링, 통계학, 머신러닝 등에 대해서 알고 있다면 위의 의미를 더 깊게 이해해 보자.
데이터가 가지고 있는 불확실성이나 noise 뿐만 아니라 모든 학습 알고리즘은 두 가지 종류의 에러를 가진다.
1. Bias
2. Variance
Error(X) = noise(X) + bias(X) + variance(X)
(역자 주: noise는 데이터가 가지는 본질적인 한계치이기 때문에 irreducible error라고도 불리며, bias/variance는 모델에 따라 변하는 것이기에 reducible error라고 불린다)
Bias는 데이터 내에 있는 모든 정보를 고려하지 않음으로 인해, 지속적으로 잘못된 것들을 학습하는 경향을 말한다. underfitting 이라고도 한다.
반대로 Variance는 데이터 내에 있는 에러나 노이즈까지 잘 잡아내는 highly flexible models 에 데이터를 fitting시킴으로써, 실제 현상과 관계 없는 random한 것들까지 학습하는 알고리즘의 경향을 의미한다. 이는 overfitting과 관계되어 있다.
Bias와 Variance는 이러한 경향을 의미할 뿐 아니라, 실제로 이 정도를 '측정'하기 위해서도 사용된다. 'Bias'는 트레이닝 데이터를 바꿈에 따라서 알고리즘의 평균 정확도가 얼마나 많이 변하는지를 보여주고, 'Variance'는 특정 입력 데이터에 대해 알고리즘이 얼마나 민감한지를 나타낸다.
이 정의들은 다트를 던졌을 때의 bias와 variance를 나타낸 첫번째 그림을 보면 더 명확해질 것이다. (위 그림은 Pedro Domingos가 쓴 ML의 훌륭한 입문서 머신러닝에 대해 알아야 할 유용한 몇가지 것들 에서 발췌하였다.)
이상적인 모델은 트레이닝 데이터에서 반복되는 규칙성을 정확하게 잡아내면서도 학습되지 않은 (unseen) 데이터를 잘 일반화 할 수 있는 모델이다. 위 문장의 의미를 이해하기 위해, 같은 데이터에 다른 모델을 이용해 학습시킨 아래의 그림을 보자.
선형 모델 (degree=1) 은 under-fit 이다:
1) 이 모델은 데이터 내의 모든 정보를 고려하지 못하고 있다 (high bias). 하지만,
2) 새로운 데이터가 들어온다 하더라도 이 모델의 형태는 크게 변하지 않을 것이다 (low variance).
반면에, 고차 다항함수 모델 (degree=20) 은 over-fit이다:
1) 이 곡선 모델은 주어진 데이터를 잘 설명하고 있다 (low bias). 하지만,
2) 이 함수는 새로운 데이터가 들어왔을 때 완전히 다른 형태로 변하게 되고, generality를 잃게 될 것이다 (high variance).
즉, 이상적인 모델은 데이터의 규칙성을 잘 잡아내어 정확하면서도 다른 데이터가 들어왔을 때도 잘 일반화할 수 있는 모델일 것이다 (degree=3). 하지만, 실제 상황에서는 두 가지를 동시에 만족하는 것은 거의 불가능하다. 따라서 트레이닝 데이터가 아닌 실제 데이터에서 좋은 성능을 내기 위해 이런 tradeoff는 반드시 생길 수 밖에 없으며 이는 bias-variance trade-off 라고 불린다.
'Data Science' 카테고리의 다른 글
R, Python 공부하기 좋은 사이트 - DataCamp (0) | 2017.01.12 |
---|---|
[Data Science/통계학습] Linear Regression (선형 회귀 분석) (0) | 2015.02.11 |
[Data Science/통계학습] 모델을 선택하는 방법 (0) | 2015.02.09 |
[Data Science/통계학습] 통계 학습이란 (0) | 2015.02.09 |
[Data Science/통계학습] 온라인 강의 수강 및 포스팅 시작! (0) | 2015.02.09 |
- Total
- Today
- Yesterday
- Reverse Engineering
- 알고리즘
- android
- 리버싱
- 자료구조
- 기계학습
- 데이터 사이언스
- Machine Learning
- 머신러닝
- Data Structure
- 개발
- 자바
- Discrete Mathematics
- 데이터 과학
- 대학원
- 통계학습
- Data Science
- statistical learning
- Algorithms
- 카타르 음주
- 안드로이드
- 카타르
- 운영체제
- linux
- 리눅스
- 이산수학
- java
- 리버스엔지니어링
- reversing
- operating systems
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |