- 전체
- Sample DB
- database modeling
- [표준 SQL] Standard SQL
- G-SQL
- 10-Min
- ORACLE
- MS SQLserver
- MySQL
- SQLite
- postgreSQL
- 데이터아키텍처전문가 - 국가공인자격
- 데이터 분석 전문가 [ADP]
- [국가공인] SQL 개발자/전문가
- NoSQL
- hadoop
- hadoop eco system
- big data (빅데이터)
- stat(통계) R 언어
- XML DB & XQuery
- spark
- DataBase Tool
- 데이터분석 & 데이터사이언스
- Engineer Quality Management
- [기계학습] machine learning
- 데이터 수집 및 전처리
- 국가기술자격 빅데이터분석기사
- 암호화폐 (비트코인, cryptocurrency, bitcoin)
빅데이터 단지 몇퍼센트의 예측 정확성을 위하여 장애로 가득찬 빅데이터 시스템을 도입하여야 하는가에 대한 의문!
89596_93026v00_KR_Netflix_Whitepaper.pdf
89596_93026v00_KR_Netflix_Whitepaper.pdf
Netflix Prize 및
프로덕션 머신 러닝 시스템:
자세히 알아보기
백 서
Netflix Prize 및 프로덕션 머신 러닝 시스템: 자세히 알아보기
백 서 | 2
2006년 Netflix는 유명한 머신 러닝 및 데이
터 마이닝 경진대회인 “Netflix Prize”를 발표하
고 2009년에는 0만의 상금을 내걸었습니다.
대중과 언론의 관심 속에 결국 어떤 솔루션이
우승했을까요? 실제 프로덕션에 채택되었을까
요? 그렇지 않다면, 왜 그랬을까요? Netflix 블
로그 게시물 중의 하나인
‘ Netflix Recommendations: Beyond the 5 stars’
에서는 추천 시스템뿐 만 아니라 실제의 상업
용 머신 러닝 응용 프로그램에서 중요한 것에
대한 실용적인 인사이트에 대해 이야기하고
있습니다. 본 문서에서는 대회를 통하여 얻어
진 교훈들에 대해 자세히 알아보고자 합니다
목차
Netflix 경진대회...................................................................................................................................................
Netflix의 우승 솔루션 활용..............................................................................................................................
새로운 메트릭에 관한 교훈..................................................................................................................................
시스템 아키텍처에 관한 교훈..............................................................................................................................
이중 구현 피하기.................................................................................................................................................
MATLAB을 통한 머신 러닝 예제....................................................................................................................
MathWorks 소개..................................................................................................................................................
3
4
5
5
7
9
9
Netflix Prize 및 프로덕션 머신 러닝 시스템: 자세히 알아보기
백 서 | 3
Netflix 경진대회
Netflix 경진 대회의 목표는 기존 시스템과 대비하여 예측 정확도가 10% 이상 향상된 영화 추천
알고리즘을 확보하기 위한 것이었습니다. Netflix를 사용하는 경우 “좋아할 만한 영화” 또는
“보고 있는 영화와 비슷한 영화” 등의 목록이 아래에 표시됩니다. 이 알고리즘은 Netflix에서의
개인 사용자의 경험을 향상시켜 줍니다.
경진대회 수행 방식을 간단하게 살펴보면 다음과 같습니다. 협업 필터링 Collaborative filtering (CF)
은 추천 시스템의 기본 알고리즘 중 하나이고 취향이 비슷한 사용자들의 평가를 활용하여 평가되
지 않은 영화에 대한 별 다섯 개 평가를 예측할 수 있다는 생각을 토대로 합니다. 본 가상의 예제
에서는 영화를 평가한 두 사용자의 평가를 비교하도록 하겠습니다. 최적선을 플로팅할 때 사용자
평가가 유사하면 기울기가 높아지고 평가가 다르면 낮아집니다.
Netflix Prize 및 프로덕션 머신 러닝 시스템: 자세히 알아보기
백 서 | 4
협업 필터링은 이러한 상관관계를 활용하고 취향
이 유사한 사용자의 기존 다른 영화 평가를 결합
하여 평가되지 않은 영화의 평가를 예측할 수 있습
니다. 우승자를 결정하기 위해 Netflix는 평균 제곱
오차(RMSE)(별 네 개 등의 실제 평가와 별 1.4965
개 등의 예상 평가 사이의 차이를 활용) 라는 메트
릭스를 사용한 후 평균을 내어 단일 숫자를 산출
했습니다. 실제 평가와 예상 평가가 완전하게 일치
하면 RMSE는 0이 됩니다.
그러나 일반적으로 추천 영화는 별 1.4965개 등의
원래 예상 평가가 아닌 웹 사이트의 상위 N개 목
록에 표시됩니다. 그렇다면 RMSE가 실제로 의미
있는 메트릭일까요? 경진대회를 위해 Netflix는 우
승자를 가리기 위해 단일 메트릭을 선정해야 했습
니다.
Netflix의 우승 솔루션 활용
우승 팀은 10%를 향상하고 2등 팀은 8.43%를 향상
하는 등 Netflix Prize에 제출된 솔루션은 두드러진
성과를 기록했습니다. Netflix는 정확한 추천을
8.43% 향상한 솔루션을 채택했습니다. 추가적인 정
확성 향상의 이점이 생산 환경에 적용하기 위해 필
요한 엔지니어링 노력보다 크지 않았기 때문에
Netflix는 10%를 향상한 솔루션을 채택하지 않았
습니다.
또한, Netflix 사업 모델이 DVD 대여에서 스트리
밍으로 변경되어 데이터가 수집되고 추천 영화가
제공되는 방식이 변경되었습니다.
그렇다면 추가적인 1.57%의 정확도 향상을 위해 노
력할 필요가 없는지를 생각해 볼 수 있겠습니다.
예를 들어, 낮은 평가에서의 예상 차이를 줄임으로
써 RMSE를 향상하는 것이 가능합니다. 그러나
Netflix는 사용자 인터페이스에 평가가 낮은 영화
를 노출시키지 않습니다. 왜냐하면 시스템 구축에
서는 확장성 및 개발 시간(agility)이 RSME 성능
향상 보다 훨씬 중요한 고려 요소이기 때문입니다.
Netflix Prize 및 프로덕션 머신 러닝 시스템: 자세히 알아보기
백 서 | 5
새로운 메트릭에 관한 교훈
RMSE 메트릭으로 인해 참가자들은 확장성 및 민첩성보다는 정확도에 초점을 맞추어야 했기 때
문에 채택된 솔루션에서도 Netflix는 추가적인 엔지니어링 노력을 수행해야 했습니다.
ㆍㆍ경진대회 데이터세트에서의 평가 수는 1억개 였지만 실제 생산 시스템에는 50억개 이상이었
습니다.
ㆍㆍ경진대회 데이터세트는 정적이지만 생산 시스템에서 평가의 수는 지속적으로 증가합니다 (블
로그 게시글 작성 당시 하루에 400만개의 평가
Netflix가 현재 시스템에 대해 이야기할 때 Netflix가 강조하는 부분은 분명했습니다.
ㆍㆍ“사람들이 시청하는 영화의 75%는 추천된 영화입니다.”
ㆍㆍ“회원 경험을 지속적으로 최적화함으로써 회원 만족도가 크게 향상되었습니다.”
Netflix가 가장 중요하게 발견한 사실은 사용, 사용자 경험, 사용자 만족도 및 사용자 유지이며
그러한 모든 것은 RMSE가 아닌 사업 목적에 더 부합한다는 것입니다. 두 번째 중요 항목은
Netflix가 실제 프로덕션 시스템에서 수행하고 있는 A/B 테스트입니다. 이는 Netflix가 시스템을
지속적으로 바꾸고 있다는 것을 의미합니다.
시스템 아키텍처에 관한 교훈
“대규모의 기존 데이터를 처리하는 소프트웨어 아키텍처를 찾는 것이 사용자 상호작용에 대한
정답이고 그것은 새로운 추천 방식을 쉽게 경험할 수 있게 하는 것은 중요한 일입니다.”라고
Netflix 블로거 Xavier Amatriain과 Justin Basilico는 설명합니다(자세한 내용은 System
Architectures for Personalization and Recommendation 기사에서 확인하실 수 있습니다.).
Netflix Prize 우승 솔루션이 활용한 기법 중 하나는 선형 스태킹 기법과 유사합니다. Netflix 는
선형 스태킹 기법을 사용하여 여러 예측 모델의 예측을 결합해 최종 추천 영화를 결정합니다.
여러 서브시스템을 구축하여 서로 다른 예측 모델을 실행한 후 그러한 시스템의 결과를 조합하
여 최종 결과를 결정할 수 있습니다. 이는 새 알고리즘을 개발하여 계속해서 조합에 추가할 수
있는 매우 유연한 아키텍처입니다.
Netflix Prize 및 프로덕션 머신 러닝 시스템: 자세히 알아보기
백 서 | 6
Netflix는 오프라인, 니어라인, 온라인의 세 가지 서비스 계층을 활용합니다.
ㆍㆍ•오프라인 데이터 처리 - 배치 프로세스로 시간이 많이 소요되는 단계를 미리 계산
ㆍㆍ•니 어라인(Nearline) 이벤트 처리 - 자주 수행되는 연산을 미리 계산하고 결과를 캡처한 후
에 사용자 작업을 활성화함으로써 두 서브시스템을 연결
ㆍㆍ•온라인 요청 처리 - 오프라인과 니어라인 결과를 활용하여 사용자 작업에 즉시 대응
그림 1: 선형 스태킹.
Netflix Prize 및 프로덕션 머신 러닝 시스템: 자세히 알아보기
백 서 | 7
이중 구현 피하기
Netflix는 Hadoop을 활용하여 이러한 오프라인 프로세스를 수행하고 소규모 데이터세트에서 사
용되는 알고리즘은 MapReduce에서 재작성되어야 합니다. 이것이 Netflix가 이중 구현 문제 (슬
라이드 20 참조) 라고 부르는 문제의 예이고 이것은 오프라인 처리에만 국한되지 않습니다. 전문
툴에서 기계 학습 알고리즘을 개발 및 검증하고 다른 언어로 알고리즘을 재구현하여 대규모 시
스템으로 확장하는 것이 중요합니다. 이는 시간이 매우 많이 소요되는 과정이기 때문에 확장성
과 민첩성의 제약 조건이 됩니다. Netflix는 개발 시스템과 생산 시스템 사이에서 최대한 많은 구
성요소를 공유함으로써 이러한 문제점을 제거할 수 있다고 설명합니다.
Netflix Prize 및 프로덕션 머신 러닝 시스템: 자세히 알아보기
백 서 | 8
MATLAB은 여러 배포 옵션을 통해 MATLAB 코드
를 생산 시스템으로 직접 배포할 수 있는 기능으로
이러한 문제점을 해결합니다.
예를 들어, MATLAB에서 개발된 알고리즘을 여러
배포 대상으로 직접 컴파일하는 것이 가능합니다.
ㆍㆍMATLAB에서 알고리즘을 업데이트하면 이 업
데이트를 생산 시스템으로 즉시 배포하는 것도
가능합니다.
ㆍㆍ생산 시스템이 변경된 경우 새로운 환경에 적합
한 다른 배포 옵션을 사용하기만 하면 됩니다.
그리고 동일한 소스 코드를 기반으로 하기 때문
에 MATLAB에서 개발한 프로토타입의 결과를
생산 환경에서 쉽게 비교하고 검증할 수 있습니
다.
Netflix Prize 및 프로덕션 머신 러닝 시스템: 자세히 알아보기
백 서 | 9
© 2016 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See mathworks.com/trademarks for a list of additional trademarks.
Other product or brand names may be trademarks or registered trademarks of their respective holders.
93026v00 07/16
MATLAB 및 Simulink 제품에 대한 자세한 내용은 다음 자료에서 확인하실 수 있습니다.
ㆍㆍMATLAB MapReduce and Hadoop
ㆍㆍMATLAB Production Server
ㆍㆍMATLAB을 활용한 머신 러닝 솔루션
MATLAB을 활용한 머신 러닝 예제
MathWorks 소개
MathWorks는 테크니컬 컴퓨팅 소프트웨어 분야의 선도적인 개발업체입니다. 전 세계 엔지니어
들과 과학자들은 MathWorks 제품군을 활용하여 연구 개발 능력을 향상시키고 있습니다.
테크니컬 컴퓨팅 언어인 MATLAB® 은 알고리즘 개발, 데이터 분석, 시각화 및 수치 해석을 위한
프로그래밍 환경입니다. MathWorks는 데이터 분석 및 이미지 프로세싱 등의 전문 작업을 위한
약 100개의 추가 제품을 개발하고 있습니다.
자세한 내용은 mathworks.com/mdcs 에서 확인할 수 있습니다.
MATLAB Speaks Machine Learning
Try MATLAB and Other Products for Machine Learning
Get Trial Software
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 공지 | 오라클 기본 샘플 데이터베이스 | 졸리운_곰 | 2014.01.02 | 86305 |
| 공지 | [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE | 가을의 곰을... | 2013.02.10 | 78756 |
| 공지 | [G_SQL] Sample Database | 가을의 곰을... | 2012.05.20 | 95504 |
| 6 |
품질경영기사 자료와 정보 (응시자격, 출제기준, 시험과목, 시험방법, 합격기준, 합격률 등)
| 졸리운_곰 | 2018.02.05 | 2629 |
| 5 |
품질경영기사 독학 난이도
| 졸리운_곰 | 2018.02.05 | 3424 |
| 4 |
품질경영기사_공식요약(필기, 실기)_요점 및 핵심정리
| 졸리운_곰 | 2018.02.05 | 4355 |
| 3 |
품질경영기사 요점정리
| 졸리운_곰 | 2018.02.04 | 3051 |
| 2 |
[품질경영산업기사]직접 시험 본 후기 및 조언입니다
| 졸리운_곰 | 2018.02.03 | 2573 |
| 1 |
<품질경영기사 독학하시는 분들을 위한 공부방법 TIP!>
| 졸리운_곰 | 2018.02.03 | 3068 |

