Offcanvas

데이터센터 / 머신러닝|딥러닝 / 빅데이터 | 애널리틱스 / 신기술|미래 / 애플리케이션 / 클라우드

리뷰 | 아마존 머신러닝 '필수 기능이 튼실한 범용 서비스'

2016.03.28 Martin Heller  |  InfoWorld

물리학자로서 필자는 본래 정확한 수식으로 세상을 설명하도록 훈련 받았다. 이후 실험적 고 에너지 입자 물리학자로서 필자는 오류가 있는 대량의 데이터를 다루고 해당 데이터를 설명하는 경쟁 모델을 평가하는 방법을 배웠다. 대량으로 수집된 비즈니스 데이터는 필자가 다룰 수 있는 물리학 데이터보다 모델화하기가 더 복잡하고 어려운 경우가 많다. 쉽게 말해 인간 행동은 복잡하고 일관적이지 않으며 제대로 이해되지 않고 있고 여러 변수에 의해 영향을 받는다.

자신의 의도가 어떤 고객이 새로운 서비스에 가입할 확률이 높은지 예상하고 싶은 것이라면, 누적된 이력 패턴을 토대로 하는 확실한 상관관계 외에도 불확실한 것들과 약간의 무작위성도 존재한다는 사실을 발견하게 될 것이다. 데이터를 그래프화하고 설명적 통계 분석을 해도 현상을 설명하는 모델을 찾지 못한다면 머신러닝이 필요할 수 있다.

아마존 머신러닝(Amazon Machine Learning, AML) 서비스의 접근 방식은 분석가들이 데이터 공학과 머신러닝 알고리즘을 이해하는지 여부에 상관 없이 해결해야 하는 비즈니스 문제를 파악할 수 있도록 개발되었다. 알다시피 이런 의도 덕분에 결과가 유사하긴 하지만 마이크로소프트 애저 머신러닝(Microsoft Azure Machine Learning)과는 다른 서비스와 인터페이스를 갖추고 있다.

두 서비스 모두 누적된 이력 데이터부터 시작해 관찰할 수 있는 것으로부터 예측 대상을 식별하고 관련된 특징을 추출하며 이를 모델에 적용하고 시스템이 모델의 계수를 최적화할 수 있다. 그리고 나서 모델을 평가하고 수용할 수 있다면, 이를 이용해 예측하면 된다. 예를 들어, 은행에서 새로운 신용카드 요금이 합법적인지 아니면 사기인지 예측하는 모델을 구축할 수 있으며, 제조업체가 잠재 고객이 자사 제품에 얼마나 많은 돈을 지불할지 예측하는 모델을 구축할 수 있다.

일반적으로 우선 자사의 데이터를 업로드하고 정리하여 AML(Amazon Machine Learning)에 접근하며, 머신러닝 모델을 구축, 훈련, 평가한 후 마지막으로 배치(Batch) 또는 실시간 예측을 수행한다. 각 단계는 반복적이며 전체 과정도 마찬가지이다. 알고리즘 선택은 아마존에게 맡기더라도 머신러닝은 쉽고 정적이며 만능이 아니다.



데이터 소스
AML은 평문 CSV 형식으로 아마존 S3에 저장한 데이터를 읽을 수 있다. 또한 이 데이터는 MySQL용 아마존 레드시프트(Amazon Redshift)와 아마존 RDS로부터 S3로 자동으로 유입할 수 있다. 데이터를 다른 데이터베이스 또는 다른 클라우드에서 가져오는 경우 스스로 S3에 입력해야 한다.

데이터 소스를 작성할 때 AML은 입력 데이터를 읽고 그 속성에 대한 설명 통계를 연산하며 데이터 소스 프로젝트의 일환으로 통계, 대상과의 상관관계, 스키마(Schema), 기타 정보를 저장한다. 데이터는 복사되지 않는다. 데이터 소스의 DI(Data Insights) 페이지에 관한 통계, 유효하지 않은 값 정보 등을 확인할 수 있다.

스키마는 각 필드의 이름과 데이터를 저장하고 AML은 CSV 파일의 헤더(Header) 줄에서 이름을 읽고 값에서 데이터 유형을 추론할 수 있다. 콘솔(Console)에서 이런 것들을 무시할 수 있다.

실제로는 모델 훈련을 위한 것(일반적으로 데이터의 70%)과 모델 평가를 위한 것(일반적으로 데이터의 30%) 등 AML을 위해 2개의 데이터 소스가 필요하다. 스스로 2개의 S3 버켓에 데이터를 미리 분류하거나 단일 버켓으로부터 2개의 데이터 소스를 작성할 때 AML이 데이터를 순차적 또는 무작위로 분류하도록 할 수 있다.

앞서 언급했듯이 AML 프로세스의 모든 단계는 반복적이며, 데이터 소스 입력 역시 마찬가지이다. 시간이 지나면서 데이터 소스에서는 여러 가지 이유로 데이터가 이동한다. 이 때, 데이터 소스를 더욱 새로운 데이터와 교체하고 모델을 재훈련해야 한다.

머신러닝 모델 훈련
AML은 바이너리 분류, 멀티클래스 분류, 회귀 등 3가지 모델과 각 유형에 1개의 알고리즘을 지원한다. 최적화를 위해 AML은 훈련 데이터 위를 순차적으로 여러 번 통과하고 손실 함수를 최소화하기 위해 각 샘플 미니 배치의 특징 가중치를 업데이트하는 SGD(Stocahstic Gradient Descent)를 사용한다. 손실 함수는 실제 값과 예측된 값 사이의 차이를 반영한다. 기울기 하강 최적화는 기호 논리학과 제곱 손실 함수 등 연속적이고 구별할 수 있는 손실 함수에서만 잘 동작한다.

바이너리 분류의 경우 AML은 기호 논리학 회귀를 이용한다(회귀 손실 함수 + SGD). 멀티클래스 분류의 경우 AML은 다항 기호 논리학 회귀를 이용한다(다항 기호 논리학 손실 + SGD). 회귀의 경우 선형 회귀를 이용한다(제곱 손실 함수 + SGD). 대상 데이터 유형으로부터 해결하는 기계 학습 작업의 유형을 판단한다.

AML은 마이크로소프트의 애저 머신러닝만큼 다양한 모델을 제공하지는 않지만 3가지 주요 문제를 해결하기 위한 탄탄하고 상대적으로 사용이 쉬운 솔루션을 제공한다. 비유도 클러스터 분석 등 다른 종류의 기계 학습 모델이 필요하다면, AML 환경 외에서 사용해야 한다. R스튜디오(RStudio) 또는 주피터 노트북(Jupyter Notebook) 인스턴스 등을 아마존 우분투(Ubuntu) VM에서 구동하여 동일한 가용 구역에서 구동하는 레드시프트 데이터 웨어하우스로부터 데이터를 가져올 수 있다.

머신러닝을 위한 레시피
때로는 관찰 가능한 데이터가 예측 목표뿐만이 아니라 자신이 원하는 것과 상관 관계가 없을 수도 있다. 다른 데이터를 수집하기 전에 일반적으로 자신의 대상과 상관 관계가 큰 관찰 데이터로부터 특징을 추출해야 한다. 경우에 따라서는 단순할 수 있지만 그렇지 않을 때도 있다. 물리적인 예를 들기 위해 화학적인 반응을 표면적으로 제어하며, 다른 것들은 체적을 제어한다. X, Y, Z 차원으로 관찰한 경우 이런 수치를 곱하여 표면 및 체적 특징을 이끌어낼 수 있다.

CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.