462
파이썬 라이브러리를 활용한 머신러닝(번역개정판)
8.3
제품 시스템 테스트
이 책에서 사전에 수집한 테스트 세트를 기초로 하여 알고리즘이 만든 예측을 평가하는 방법을
다뤘습니다. 이를
오프라인 평가
offline
evaluation
라고 합니다. 사용자에게 노출되는 머신러닝 시스템
이라면 이는 알고리즘을 평가하는 첫 단계일 뿐입니다. 다음 단계는 전체 시스템에 알고리즘이
적용된 이후에 평가하는
온라인 테스트
online
test
혹은
라이브 테스트
live
test
입니다. 웹사이트에 보여
지는 추천이나 검색 결과를 변경하면 사용자의 행동을 크게 바꾸거나 예상치 못한 결과를 얻을
수 있습니다. 이런 돌발 상황을 방지하기 위해 대부분 사용자 서비스가 일종의 블라인드 테스
트인
A
/
B
테스트
를 사용합니다.
A
/
B
테스트에서는 사용자 중 일부가 자신도 모르게 알고리즘
A
를 사용한 웹사이트나 서비스를 이용하게 됩니다. 반면 나머지 사용자는 알고리즘
B
에 노출
됩니다. 두 그룹에 대해 적절한 성공 지표를 일정 기간 기록합니다. 그런 다음 알고리즘
A
와 알
고리즘
B
의 측정값을 비교해서 두 방식 중 하나를 선택합니다.
A
/
B
테스트를 사용하면 실전에
서 알고리즘을 평가해볼 수 있고 사용자들에게 모델이 노출됐을 때 예상치 못한 결과를 발견할
수도 있습니다. 보통
A
가 새 모델이고
B
는 기존 시스템입니다.
A
/
B
테스트 이외에도
밴디트 알
고리즘
bandit
algorithms
같이 온라인 테스트를 위한 정교한 방법들이 있습니다. 이 주제를 다룬 좋은 ...