Scientia Conditorium

혼자공부하는 머신러닝+딥러닝/혼공단 5기 - 4주차 본문

서평/IT-강의

혼자공부하는 머신러닝+딥러닝/혼공단 5기 - 4주차

크썸 2021. 2. 21. 11:46

혼자공부하는 머신러닝+딥러닝 / 혼공단 5기 - 4주차

교차검증 예시

 

머신러닝 학습 모델을 만들 때, 테스트 세트를 자주 사용하면 모델의 성능이 점점 테스트 세트에 맞추어지게 됩니다.

가능하면 테스트 세트는 모델을 만들고 난 후 마지막에 딱 한 번만 사용하는 것이 가장 좋습니다.

허나 테스트 세트를 사용하지 않으면 모델이 과대/과소적합인지 판단하기 어렵습니다.

따라서 훈련 세트를 여러 개로 잘게 나누어서 그 중 하나를 검증 세트(validation set) 혹은 개발 세트(dev set)로 사용합니다. 검증 세트를 번갈아가면서 모델을 평가하고 얻은 검증 점수를 평균하는 방법을 교차 검증(Cross Validation)이라고 부릅니다.

 

위 그림은 교차 검증의 대표적인 예인 k-폴드 교차 검증(k-fold cross validation) 입니다.

예시에서 훈련 세트를 6부분으로 나누었기 때문에 6-폴드 교차 검증, 6-겹 교차 검증이라고 부를 수 있습니다.

훈련 세트를 몇 부분으로 나누느냐에 따라서 다르게 부르는데, 보통은 5 혹은 10을 많이 사용합니다.

교차 검증을 이용하면 입력한 모델에서 얻을 수 있는 최상의 검증 점수를 가늠해 볼 수 있습니다.

 

사용법으로는 파이썬 라이브러리인 사이킷런(sklearn)에서 cross_validate() 라는 함수를 이용하면 됩니다.

평가할 모델 개체를 첫 번째 매개변수로 전달하고 위 그림처럼 검증 세트를 떼어 내지 않고 훈련 세트 전체(파랑색) 전체를 cross_validate() 함수에 전달하면 됩니다.

참고로 cross_validate() 함수는 기본적으로 5-폴드 교차 검증을 수행합니다. 이 k값은 cv 매개변수에서 바꿀 수 있습니다.

 

이외에도 홀드아웃 방법(Holdout method), 리브-p-아웃 교차 검증(Leave-p-out cross validation), 리브-원-아웃 교차 검증(Leave-one-out cross validation, 계층별 k-겹 교차 검증(Stratified k-fold cross validation) 등이 있습니다.

 


여기까지가 4주차 기본미션인 교차검증에 대한 설명이였다. 그림은 ppt를 활용하였다.

5-3절을 공부하면서 마음에 안 들었던 점은 앙상블 학습(Ensemble Learning)에 대한 도입부가 이상하는 점이였다.

책 p.265에서 앙상블 학습 알고리듬에 대해 알아보자고 하더니 '랜덤 포레스트'에 대해 설명이 시작된다.

위의 교차 검증을 예시로 들자면, 먼저 교차 검증이 무엇인지 설명을 하고 대표적인 예시들을 나열한다.

그런데 앙상블 학습에서는 뭔지도 설명이 없이 바로 이러이러한 알고리듬들이 있다고 한다.

책에 내용이 부실하다고 판단되어 여기에 추가 설명을 적고자 한다.

 

먼저 단어 뜻을 보면 앙상블(Ensemble)은 프랑스어로 '조화 · 통일'을 의미한다.

즉, 하나의 모델을 사용하여 학습하는 것이 아니라 여러 개의 모델들을 조화시켜 결합하는 방식이 앙상블 학습이다.

다시 정리하면 여러 개의 결정 트리를 조화 · 통일하여 하나의 결정 트리보다 더 좋은 예측 결과를 만드는 알고리듬이다.

이런 알고리듬들 중 '랜덤 포레스트', '엑스트라 트리', '그레디언트 부스팅' 등이 있으나 가장 인기있는 알고리듬은 '히스토그램 기반 그레디언트 부스팅'이다.

 

추가미션 : 앙상블 모델 손코딩 실습 화면01
추가미션 : 앙상블 모델 손코딩 실습 화면02


혼공단 5기도 절반을 넘어섰고 4주차 미션도 완료하였습니다.

5-3절 시작부분을 보면 '이제 머신러닝 도사가 다 된 느낌입니다' 라는 문구가 있습니다.

머신러닝 알고리듬들이 어떻게 동작하는지 대략적으로 알고 있지만

구현은 할 줄 모르고 그냥 남들이 만들어 놓은 라이브러리와 함수들을 가져다 쓰는 것만으로 머신러닝 전문가가라는 우를 범하는 사람들이 없었으면 좋겠습니다.

그건 그렇고 뭐든지 다 알고있는 홍 선배... 당신은 대체...