k means 알고리즘을 이용한 영화배우 클러스터링

22
Case Study: K-Means 알고리즘을 이용한 영화배우 클러스터링 윤진석 & 강현석

Upload: edward-j-yoon

Post on 11-Nov-2014

2.719 views

Category:

Technology


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: K means 알고리즘을 이용한 영화배우 클러스터링

Case Study: K-Means 알고리즘을 이용한

영화배우 클러스터링윤진석 & 강현석

Page 2: K means 알고리즘을 이용한 영화배우 클러스터링

Goal:1. Case Study를 통해 빅데이터 분석 전반을 설명

a. 분석 내용 및 활용 범위 간략히 소개

2. 각 솔루션의 역할, 특징 설명a. MapReduce와 Hama 성능 평가 비교

3. 오늘 날의 빅데이터 솔루션의 동향

Page 3: K means 알고리즘을 이용한 영화배우 클러스터링

First of all, What’s Big Data?● 대량의 비정형Unstructured 데이터 가공● 데이터 자료들의 상관Correlations 관계 등의 통계적 과학 연산을 통한 데이터 마이닝

● 궁극적으로는 가치 정보를 추출

Page 4: K means 알고리즘을 이용한 영화배우 클러스터링

Case study. 영화배우 클러스터링● 웹 문서 수집● 비정형 웹 문서 가공

○ <영화배우 by 장르> 출현 빈도 행렬 추출● 추출된 행렬을 기반으로 K-평균 클러스터링

● 출현장르 별로 즉, 유사 행동 집단Cluster 생성

Page 5: K means 알고리즘을 이용한 영화배우 클러스터링

클러스터링이란?● 클러스터링이란,

○ 주어진 데이터 집합을 분류하는 알고리즘● 기법엔 분할 접근과 계층 접근 법이 있음

● K-Means는 미리 정의된 K개의 분할 영역을 결정하는 분할식Partitional 클러스터링

Page 6: K means 알고리즘을 이용한 영화배우 클러스터링

클러스터링이란?● 소득과 명품 선호도 데이터 (고객 성향 군집 분석)

Page 7: K means 알고리즘을 이용한 영화배우 클러스터링

클러스터링이란?● 소득과 명품 선호도 데이터 (고객 성향 군집 분석)

Page 8: K means 알고리즘을 이용한 영화배우 클러스터링

영화배우 클러스터링 Flow Diagram

HDFS

HamaMap/Reduce

3. 클러스터링 연산

ResultDB

1. 다음 영화에서 샘플 영화 웹 문서 수집

2. 대량의 샘플 웹 문서에서 영화배우 장르 행렬 추출

4. 시각화 및 데이터베이스화

Crawling

Page 9: K means 알고리즘을 이용한 영화배우 클러스터링

출현 빈도 행렬 추출● 영화 사이트에서 수집 된 문서에서

배우의 장르 출현 빈도 행렬을 추출

Action Drama Fantasy Horor .. .. ..

actorID 3 0 o 3 ..

.. ..

Page 10: K means 알고리즘을 이용한 영화배우 클러스터링

추출 작업엔 왜 Map/Reduce?● Lightweight programming - 시스템의 물리적 구조를 몰라도 쉽게 데이터를 분산 처리 할 수 있다.

● Shared nothing architecture - 데이터 분산 처리 효과○ 이것은 큰 장점이면서, 동시에 하나의 제약 사항.

Data-Intensive!

Page 11: K means 알고리즘을 이용한 영화배우 클러스터링

Map/Reduce Performance

Page 12: K means 알고리즘을 이용한 영화배우 클러스터링

K-Means 클러스터링

● 멜로, 로맨스, 성인 등 유사 장르를 하나의 차원으로 축소해서 2-D points 데이터 집합 생성 (보기 쉽게) 한 후, 클러스터링 수행

Drama Melo

ActorID 3.2 5.86

.. ..

Page 13: K means 알고리즘을 이용한 영화배우 클러스터링

K-Means 클러스터링● K개의 샘플을 임의로 선택하여 초기 클러스터 중심으로 할당● K개의 클러스터의 중심이 바뀌지 않을 때 까지 반복:

○ 모든 샘플을 가까운 클러스터로 재-할당■ 유클리드 거리 측정을 사용

○ 각 클러스터 중심을 다시 계산

Page 14: K means 알고리즘을 이용한 영화배우 클러스터링

K = 5, 클러스터링 결과

Page 15: K means 알고리즘을 이용한 영화배우 클러스터링

클러스터링은 왜 Hama?● Map/Reduce는 여러 개의 Job을 반복하는 형태의 Iterative

Map/Reduce 처리해야 한다. 한마디로 느림.

● Hama는 모델 자체가 Iterative 알고리즘에 최적화되어 하나의 Job으

로 처리… 즉, 빠름빠름~.Computational-Intensive!

* 대부분의 통계적 연산, 기계 학습 등의 과학 연산은 Iterative.

Page 16: K means 알고리즘을 이용한 영화배우 클러스터링

Hama vs. Mahout (MapReduce)

* 대용량 처리에서는 x100 ~ x1,000 빠름 See http://wiki.apache.org/hama/Benchmarks#K-Means_Clustering

Page 17: K means 알고리즘을 이용한 영화배우 클러스터링
Page 18: K means 알고리즘을 이용한 영화배우 클러스터링

오늘 날의 빅데이터 솔루션 동향

HDFS

Map/Reduce

Crawling,or Gathering

현재 제안된 빅데이터 분석 솔루션들

Flume, Sqoop, Pig, Hive, Impala, Tez,

Presto, …, etc.

Page 19: K means 알고리즘을 이용한 영화배우 클러스터링

오늘 날의 빅데이터 솔루션 동향

HDFS

Map/Reduce

엄밀히 얘기하면, 수집, 추출, 가공, 적재 분야

Crawling,or Gathering

왜?

Flume, Sqoop, Pig, Hive, Impala, Tez,

Presto, …, etc.

Page 20: K means 알고리즘을 이용한 영화배우 클러스터링

오늘 날의 빅데이터 솔루션 동향

HDFS

Map/Reduce

기존 DW or OLAP 분석 시스템

기존 시장에 좀 더 쉽게 접근하려고 … ETL tools on Hadoop

Crawling,or Gathering

Flume, Sqoop, Pig, Hive, Impala, Tez,

Presto, …, etc.

엄밀히 얘기하면, 수집, 추출, 가공, 적재 분야

Page 21: K means 알고리즘을 이용한 영화배우 클러스터링

오늘 날의 빅데이터 솔루션 동향

HDFS

Map/Reduce

Spark, Hama, Storm, Graphlab, …, etc.

반면 오픈소스-파는:

Beyond Map/Reduce!

이를 뛰어 넘어,분석 그 자체에 집중

Crawling,or Gathering

Flume, Sqoop, Pig, Hive, Impala, Tez,

Presto, …, etc.

Page 22: K means 알고리즘을 이용한 영화배우 클러스터링

결론

● Map/Reduce 기반은 대부분 ETL 도구○ Extraction - (Filtering) Transform - Load

● Map/Reduce Alternatives 는 성능을 개선하여 분석 그 자체에 집중하고 있음○ 스톰: 실시간 처리○ Spark, Graphlab, 하마: Iterative 과학 연산 처리

● ~ 2013년: 빅 데이터 분석을 위한 전-처리 단계 고도화○ 이제 데이터 관리 및 추출을 넘어 분석으로..