20131231_001123

Apache Mahout

20131231_001123

Mahout 이란?

– 힌두어로 “코끼리를 모는 사람”이라는 뜻. Hadoop(하둡)의 로고가 코끼리인 것을 이용.
– Apache Lucene 프로젝트의 하위프로젝트로 시작되었다가, Open Source기반 협업 필터링 프로젝트 Taste를 흡수하면서 Apache Mahout으로 발전.
– 하둡을 기반으로 맵리듀스(Map Reduce)를 이용해 클러스터링, 분류, 분석 작업을 수행할수 있음.
– 대용량 데이터분석이 가능하며 확장성을 제공하는 기계학습 라이브러리.

 

제공되는 분석 기능들

– 협업 필터링
– 분류 : 특정 아이템이 어떤 분류에 속하는지 예측
– 클러스터링 : 비슷한 아이템들끼리 그룹핑
– 패턴 마이닝 : 빈번하게 발생하는 패턴을 찾음
– 그외에 회귀분석, 진화알고리즘, 벡터유사도 등 다양한 분석기능 제공

20131231_000054

추천시스템이란?

추천시스템은 정보 필터링(IF)기술의 일종으로, 특정 사용자가 관심을 가질만한 정보(영화,음악,책,뉴스,이미지,웹페이지 등)를 추천하는 것이다.

[추천시스템이 사용되는 곳] – Amazon 상품추천
– Netflix 영화추천
– Facebook 친구추천
– 휴대폰 벤더 : 다른통신사로 이탈확률 높은 고객예측

[추천효과]
– Netflix : 대여되는 영화의 2/3가 추천으로부터 발생
– Google News : 38%이상의 조회가 추천에 의해 발생
– Amazon : 판매의 35%가 추천으로부터 발생
– Netflix Prize (~2009) : Netflix에서 주관하는 경연대회로 영화선호도를 가장 잘 예측하는 협업필터링 알고리즘에 수상 (USD $1,000,000)

 

이러한 추천시스템중 대표적인 방식으로 “협업필터링” 방식이 있다.

많은 사용자들로부터 누적된 대규모의 데이터를 활용하여 이를 분류하고, 분류된 데이터의 기준을 기반으로 개로운 데이터에 대입하여 분류하는 방법.
사용자들의 과거 경향이 미래에도 그대로 유지될것이라는 전제를 바탕으로 함.

[사용자기반 협업필터링]
– 비슷한 선호도를 가지는 다른 고객들의 상품에 대한 평가에 근거하여 추천.
– 우선 비슷한 성향을 가진 이웃을 찾고, 그 이웃의 선호도를 이용함.
– 이웃을 선정하는 기법에는 클러스터링, K-최대근접이웃(K-mins), 베이지안 네트워크 등이 있다.
– 두 고객이 모두 평가를 한 상품이 있어야 하고, 오직 두 고객사이에서만 상관관계를 구할수 있는 제약이 있다.
– SNS의 친구 추천등에서 사용

20131231_000054

[아이템 기반 협업필터링]
– 사람들이 과거에 좋아했던 상품과 비슷한 상품을 좋아하는 경향이 있는 것을 기반으로 함.
– 고객이 선호도를 입력한 기존 상품들과 예측하고자 하는 상품과의 유사도를 계산하여 선호도를 측정.
– 고객들의 선호도만을 이용하기 때문에 고객간의 유사도는 고려되지않음.
– 아마존,넷플릭스의 상품추천 등에서 사용
20131231_000117

 

[출처 : http://www.slideshare.net/pitzcarraldo/mahout-cook-book (SlideShare) ]