03 + 머신러닝의 목표
머신러닝에서의 가장 중요한 목표는 "generalization 일반화" 이다.
generalization, 즉 일반화는 이전에 '관측되지 않은' 데이터에 대해 높은 성능으로 적용할 수 있는 능력을 말한다.
그리고 이를 다른 말로 풀어써보자면, 만약 성능측정의 지표로 error rate을 사용한다고 했을 때, E_gen(=train에 사용하지 않은 이외의 모든 data들) = 0 이 됐을 때를 목표로 한다는 것이다.
하지만, 우리는 E_gen(=generaization error)를 갖고 있는 데이터로 측정할 수 없기 때문에(전체 데이터는 모르는 상태이기 때문) better proxy로서 E_test(=test error)를 사용한다. 따라서 목표는 E_gen=0 에서 다시 E_test ~=0이 된 것이다.
그리고 이건 또 다시 우리가 접근할 수 있게끔 2개의 하위목적으로 나뉘어진다.
1) E_test와 E_train을 유사하게 만드는 generalization 단계
2) E_train을 0으로 만드는 approximation 단계
이때 둘은 trade_off의 관계에 높인다.
이 그림은 approximation <-> generalization 사이의 trade_off
혹은 bias와 variance 사이의 trade_off, 혹은 위에서 다룬 내용을 참고하면 하위목적1과 하위목적2간의 trade_off이다.
하위목적1인 E_test~E_train 을 같게 만들기 위해선 simple model is better 이지만, (실패하면 overfitting존으로 넘어가게 된다) 하위목적 2인 E_train을 0으로 만들기 위해서는 아무래도 complex model is better이다.
※ 여기서 잠깐 그래프 안에 capacity라는 말이 등장하는데, 모델의 capacity라고 함은 모델의 복잡성을 말하는 것이다. 모델이 얼마나 다양한 함수와 fit될 수 있는지를 알려주고, 이는 즉 overfitting과 underfitting함을 가리는 기준이 된다.
따라서 둘 사이의 trade_off가 존재하기 때문에 현실에서는 복잡한 데이터를 다루기 위해 simple한 모델보단 complex한 모델을 사용해주기도 한다. 하지만 잊지 말아야할 점은 complex모델을 쓰던 simple모델을 쓰던 unexpected한 데이터에 관해 일반화할 수 있도록 좋은 성능을 보여야한다는 것이다.
+ 그러기 위해선 손실함수를 최소화해야한다.
'데이터 스터디 > Stats\ML' 카테고리의 다른 글
04-1. Regression(회귀) - 선형회귀 (0) | 2022.02.12 |
---|---|
[?!] cost function과 loss function 차이 (0) | 2022.02.11 |
03. '통계적' 머신러닝(statistical machine learning) (0) | 2022.02.09 |
02. 머신러닝 vs 딥러닝 (0) | 2022.02.04 |
01. 데이터 사이언틱(Data-scientic)한 사고 (0) | 2022.01.24 |