본 글은 An Introduction to Statistical Learning with Applciations in R 을 참고하여 쓴 글임을 미리 밝힙니다.
머신러닝은 알고리즘을 사용하여 컴퓨터로 하여금 데이터를 학습하여 예측이나 결정을 내리도록 하는 것을 말합니다.
Train data : 학습에 사용하는 데이터
Test data : 성능을 확인하기 위한 데이터
Train data와 Test data는 엄밀하게 구분되어야 합니다. 이유는 성능을 확인하는 데 사용되는 데이터가 학습에 사용되면 overfitting으로 이어질 수도 있기 때문입니다.
Independent variable = 독립변수 = input variable = X
Dependent variable = 종속변수 = output variable = Y
학습을 한다는 것은 결국 X로 Y를 설명할 수 있는 로직을 만든다는 것을 의미합니다.
특히 Y = f(X) + epsilon 의 형태로 많이 표현되며, 머신러닝 알고리즘은 f를 구하는 기법들을 의미합니다.
f를 추정하는 이유는 '예측'와 '추론'입니다.
예측 : 새로운 X 데이터가 있을 때, Y를 구하는 것입니다.
추론 : Y가 X에 의해 어떻게 영향을 받는 지 설명하는 것입니다.
예측의 정확성은 축소 가능한 오차와 축소 불가능한 오차의 부분으로 나누어집니다.
이유는 Y가 epsilon은 포함하고 있고, epsilon은 X로 설명할 수 없는 영역이기 때문입니다. 따라서 f를 구한다는 것은 축소 가능한 오차를 최소화 하는 f를 구한다는 것을 의미합니다.
우리는 충분히 복잡한 모델이 존재함에도 불구하고, 단순한 모델을 사용하기도 합니다. 그 이유는 prediction accuracy와 model intepretability가 반비례 하기 때문입니다. 단순한 모델은 예측 정확도의 한계가 있지만 해석에는 유리합니다. 복잡한 모델은 예측 정확도가 높아질 수 있지만 해석이 어려울 수 있습니다. 따라서 예측과 추론 중 어떤 것에 더 주안점을 두는 가에 따라 선택하는 모델이 달라질 수 있습니다.
머신러닝은 X에 대한 Y가 관측 가능한 지에 따라 지도학습과 비지도학습으로 나누어집니다.
지도학습은 X들을 통해 Y를 잘 구할 수 있는 f를 찾는 과정에서 시작합니다.
비지도학습은 X에 대응되는 Y가 관측되지 않는 상황으로, 뚜렷한 목표가 없기 때문에 X의 패턴을 찾는 과정에 가깝습니다.
Y가 continuous인 지 discrete인 지에 따라서 회귀 문제와 분류 문제로 나누어집니다.
회귀 문제는 continuous한 Y를 다루며
분류 문제는 discrete한 Y를 다룹니다.
다음 글에서는 학습의 품질을 측정하여 어떤 모델이 더 좋은 모델인 지 확인하는 방법에 대해 알아보겠습니다.