Yarkoni, T., & Westfall, J. (2017). Choosing prediction over explanation in psychology: Lessons from machine learning. Perspectives on Psychological Science, 143(5), 1-23. https://doi.org/10.1177/1745691617693393

예측 오차를 최소화하기 위해 제안된 두 번째 방법이 교차 검증(cross-validation)이다. 모형의 예측 성능은 객관적으로 평가되어야 하는데, 여기에서 객관적이란 의미는 모델 훈련에 사용되지 않은 샘플(out-of-sample)로 얼마나 일반화될 수 있는지를 의미한다. 이를 위해 머신 러닝에서 가장 널리 사용되는 방법이 바로 교차 검증이다. 기본적으로는 모델 훈련과 평가를 별도의 데이터셋에서 진행하는 것을 의미한다. 그러나 이를 위해서는 매우 많은 양의 데이터가 필요할 수 있기 때문에, 보통 이미 가지고 있는 데이터를 훈련 데이터와 평가 데이터로 나눠서 사용하는 것으로 교차 검증을 실시하게 된다. 그리고 훈련 데이터와 평가 데이터를 바꿔서 사용한 후, 계산된 평가 오차들의 평균을 통해서 모델의 예측 능력을 평가한다. 이 과정을 두 개로 나뉘어진 데이터셋이 아니라 K개로 나뉘어진 데이터셋에 적용하는 것이 바로 K겹 교차 검증(K-fold cross-validation)이다. K겹 교차 검증은 간단하면서도 매우 강력한 방법이며 여러 통계적 모델링 기법에 사용될 수 있음에도 불구하고, 사회과학 문헌에서는 잘 사용되지 않았다고 저자들은 지적한다.

그러나 교차 검증에도 한계점은 존재한다. 첫째, 계산 비용이 많이 든다(computationally expensive). 둘째, 교차 검증을 한다고 해도 모델의 편향(bias)을 완전히 없앨 수는 없기 때문에, 모형의 진짜 성능을 과소평가 할 수도 있다. 셋째, 교차 검증의 결과들은 대체로 비결정적(nondeterministic)이다. 즉, 실행할 때마다 약간씩 다른 결과가 나올 수 있다. 넷째, 교차 검증이 데이터 분석 절차의 모든 결점을 없애주지는 못한다. 예를 들어, 여러 모형이나 여러 경우의 수에 대해 각각 분석을 실시한 후 가장 좋은 경우만 보고하고 나머지는 보고하지 않는 행위 등은 교차 검증을 통해서 해결할 수 있는 범위에 있지 않다.

개인적으로는 교차 검증의 한계점이라고 적어놓은 내용들은 크게 문제될 소지가 있다고 보지는 않는다. 어차피 어떤 분석법이 모든 문제를 해결해줄 것이라고 기대하는 것은 허황된 기대일 뿐이다. 중요한 것은 기존의 설명 중심의 모델링의 문제점을 인지 및 동의하고 그것을 해결하려고 할 때, 교차 검증이 중요한 도구가 되어준다는 사실이다. 저자도 본문에 적어놓았듯이, 요새는 파이썬이나 R 등의 데이터 분석 언어에서 아주 간단하게 교차 검증을 할 수 있는 코드들이 제공된다. 중요한 것은 사용하는 사람의 시각과 의식이다.