2.8 론칭, 모니터링, 그리고 시스템 유지 보수

2.7 모델 세부 튜닝 | 목차 |

 

완벽합니다. 솔루션 론칭 허가를 받았습니다! 이제 제품 시스템에 적용하기 위한 준비를 해야 합니다. 특히 입력 데이터 소스를 우리 시스템에 연결하고 테스트 코드를 작성해야 합니다.

또한 일정 간격으로 시스템의 실시간 성능을 체크하고 성능이 떨어졌을 때 알람을 통지할 수 있는 모니터링 코드를 작성해야 합니다. 이는 갑작스런 오작동뿐만 아니라 성능이 감소되는 상황을 잡아내기 위해서도 아주 중요합니다. 새로운 데이터를 사용해 주기적으로 훈련시키지 않으면 데이터가 오래됨에 따라 모델도 함께 낙후되는 것이 일반적입니다.

시스템의 성능을 평가하려면 시스템의 예측을 샘플링해서 평가해야 합니다. 일반적으로 이런 과정에는 사람의 분석이 필요합니다. 이런 분석가는 해당 분야의 전문가이거나 크라우드 소싱 플랫폼(아마존의 Mechanical Turk나 CrowdFlower)에서 구한 인력일 수 있습니다. 어느 쪽이든 사람의 분석 파이프라인과 시스템을 연결해야 합니다.

시스템의 입력 데이터 품질 역시 평가해야 합니다. 가끔 품질 낮은 시그널(예를 들어 오작동하는 센서가 예측 불허의 값을 보낸다거나 다른 팀의 출력이 멈춰 있는 경우) 때문에 성능이 조금 감소하지만 알람이 울릴 정도로 감소되기까지 다소 시간이 걸립니다. 시스템의 입력을 모니터링하면 이보다 일찍 알 수 있습니다. 특히 온라인 학습 시스템에서는 입력을 모니터링하는 일이 중요합니다.

마지막으로 새로운 데이터를 사용해 정기적으로 모델을 훈련시켜야 합니다. 가능하면 이 과정을 자동화해야 합니다. 그렇지 않으면 (기껏해야) 6개월마다 모델을 갱신하게 될 것이고, 시스템의 성능이 시간에 따라 심하게 출렁일 것입니다. 온라인 학습 시스템이라면 일정 간격으로 시스템의 상태를 스냅샷으로 저장해서 이전 상태로 쉽게 되돌릴 수 있도록 해야 합니다.

 

2.9 직접 해보세요!

이 장에서 머신러닝 프로젝트가 무엇인지 전반적인 개념을 얻고 멋진 시스템을 만드는 데 필요한 도구들을 알게 되었기 바랍니다. 살펴봤듯이 대부분의 작업은 데이터 준비 단계, 모니터링 도구 구축, 사람의 평가 파이프라인 세팅, 주기적인 모델 학습 자동화로 이루어집니다. 물론 머신러닝 알고리즘도 중요하지만 전체 프로세스에 익숙해져야 합니다. 고수준 알고리즘을 탐색하느라 시간을 모두 허비해서 전체 프로세스 구축에 충분한 시간을 투자하지 못하는 것보다 서너 개의 알고리즘 만으로라도 전체 프로세스를 올바로 구축하는 편이 더 낫다는 것을 알아야 합니다.

아직 한 번도 해보지 못했다면 노트북을 집어 들고 관심 있는 데이터셋을 선택해서 A부터 Z까지 전체 프로세스를 만들어보세요. 캐글(http://kaggle.com) 같은 경연 사이트가 시작하기 좋습니다. 데이터셋이 준비되어 있고 목표가 명확하며 다른 사람의 경험을 들을 수 있습니다.

 

2.10 연습문제

이 장에서 소개한 주택 가격 데이터셋을 사용해 문제를 푸세요.

  1. 서포트 벡터 머신 회귀(sklearn.svm.SVR)를 kernel=”linear”(하이퍼파라미터 C를 바꿔가며)나 kernel=”rbf”(하이퍼파라미터 C와 gamma를 바꿔가며) 등의 다양한 하이퍼파라미터 설정으로 시도해보세요. 지금은 이 하이퍼파라미터가 무엇을 의미하는지 너무 신경쓰지 마세요. 최상의 SVR 모델은 무엇인가요?
  2. GridSearchCV를 RandomizedSearchCV로 바꿔보세요.
  3. 가장 중요한 특성을 선택하는 변환기를 준비 파이프라인에 추가해보세요.
  4. 전체 데이터 준비 과정과 최종 예측을 하나의 파이프라인으로 만들어보세요.
  5. GridSearchCV를 사용해 준비 단계의 옵션을 자동으로 탐색해보세요.

연습문제의 정답은 https://github.com/rickiepark/handson-ml 에 있는 주피터 노트북에서 확인할 수 있습니다

 

2.7 모델 세부 튜닝 | 목차 |

 

이 글은 한빛미디어에서 출간한  “핸즈온 머신러닝“의 1장과 2장입니다. 이 책의 저작권은 한빛미디어(주)에 있으므로 무단 복제 및 무단 전제를 금합니다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

w

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.