SlideShare a Scribd company logo
1 of 66
Download to read offline
Facebook
CV/PR/ML 그룹 세미나

Hello,
Recommender System

정규환, Ph.D
2014.01.11

Manager, SK Planet
내용


추천 시스템의 필요성



추천 시스템 예시



추천 알고리즘



질문과 답변
추천 시스템, 왜 필요해요?
아직도 스맛폰 안쓰는 사람 있음?
Jobs옹 왈, ‘Post-PC Device 세상임’
그래서 걸로 뭐하는데?
화난 새들은 우주로~
여기도 찰칵, 저기도 찰칵
평생 들어도 다 못들어
평생 봐도 다 못봐
읽는 속도 보다 쌓아 두는 속도가 빠르다는
쇼핑은 손끝에서
Appsplosion
자 오늘 한잔…아놔?

http://blog.yhathq.com/posts/recommender-system-in-r.html
그들이 온다. 더 온다!

http://www.appbrain.com/stats/number-of-android-apps

http://148apps.biz/app-store-metrics/?mpage=appcount
Loooooooooooooooooooooooooong Tail
어쩌라고?!
누가 날 구해 주나요?


구글?
 내가 뭘 찾는지 알 때나
 찾는 것도 귀찮으면?
 엄청 많이 튀어 나옴



Facebook 친구, 지인?
 친구가 없는 자립심 강한 사람이거나
 내 친구들과 난 취향이 달라서 걔들과 왜 친한지 신기할 때는?



전문가?
 비싸고
 만나 뵙기도 힘듬

그래서. 결론은 버킹…추천 시스템 !
추천 시스템, 누가 하고 있나요?
Genius? 레알임?

Apple App Store
날 모르는 Genius보다 평범한 내 이웃들이 나음

Apple App Store
Google느님의 추천이란?
당신을 위한 맞춤형 앱 코디~ (손발 퇴갤)

T-store
추천 도배질. 넌 보기만 해

Netflix
성적표

Netflix
추천의 제왕

Amazon
성적표

Amazon
믿고 쓰는 Watcha!!
빠지면 날 새는 Youtube
헤드헌터 천국 LinkedIn
이게 광고냐 소식이냐? Facebook
추천 시스템, 어떻게 돌아감?
세계구(전국구 보다 상위)님의 아키텍쳐

Netflix
뭘 추천 해주냐면
•
•
•
•
•
•
•
•
•
•

광고 메세지
투자 상품
음식점
까페
음악
영화
TV 쇼
책
옷
식료품

•
•
•
•
•
•
•
•
•
•

뉴스
데이트 상대
친구
수업 과목
의약품
연구 논문
인용 문헌
라이브러리
전문가
태그
추천 시스템의 역할


당신이 어떤 상품/서비스를 얼마나 좋아할지 예측



당신이 좋아할만한 N개의 상품 추출



어떤 상품/서비스를 좋아할만한 N명 추출



이게 왜 당신에게 추천 되었는지 설명



당신의 반응으로 부터 추천 시스템 업데이트
추천 시스템의 개략적인 종류


Editorial Recommenders
 전문가의 추천
 유명인의 추천



Contents-based Filtering
 Genome 기반 추천
 Meta 기반 추천



Collaborative Filtering Recommenders
 Memory-based : User 기반 추천, Item 기반 추천
 Model-based : Matrix Factorization, LDA, …



Hybrid Recommenders
 선형 결합/순차적 결합/스위칭
CBF의 Meta 정보 예시


웹 페이지
 words, hyperlinks, images, tags, comments, titles, URL, topic



음악
 genre, rhythm, melody, harmony, lyrics, meta data, artists, bands,
press releases, expert reviews, loudness, energy, time, spectrum,
duration, frequency, pitch, key, mode, mood, style, tempo



사용자
 age, sex, job, location, time, income, education, language, family
status, hobbies, general interests, Web usage, computer usage, fan
club membership, opinion, comments, tags, mobile usage



상황
 time, location, mobility, activity, socializing, emotion
Contents-based Filtering 예시

T-store
Contents-based Filtering 예시

Hoppin
연관 규칙 마이닝(Association Rule Mining)


핵심 IDEA
 사용자들의 구매 패턴을 분석: 어떤 상품들을 같이 구매하는지 파악
User Log
User 1: Beer, Chicken, Milk
User 2: Beer, Cheese
User 3: Cheese, Boots
User 4: Beer, Chicken, Cheese
User 5: Beer, Chicken, Clothes, Cheese
User 6: Chicken, Clothes, Milk
User 7: Chicken, Milk, Clothes



연관 규칙?




A를 구매하면 B: AB
A와 B를 구매하면 C: (A,B)C
A, B, F, G를 구매하면 D: (A,B,F,G)D
Rule Candidates
Length 2 : (Beer, Chicken)

Length 2 : (Bear, Milk)
Length 2 : (Chicken, Milk)
….
Length 3 : (Beer, Chicken, Cheese)
Length 3 : (Chicken, Milk, Clothes)

Beer, Chicken
Beer, Milk
Chicken, Milk
--------------Beer, Cheese
--------------Cheese, Boots
--------------Beer, Chicken
Beer, Cheese
Chicken, Cheese
--------------Beer, Chicken
Beer, Clothes
Beer, Cheese
Chicken, Clothes
Chicken, Cheese
Clothes, Cheese
--------------Chicken, Clothes
Chicken, Milk
Clothes, Milk
--------------Chicken, Milk
Chicken, Clothes
Milk, Clothes

빈도 Check

Beer, Chicken
Beer, Chicken
Beer, Chicken
-------------Beer, Milk
--------------Chicken, Milk
Chicken, Milk
Chicken, Milk
--------------Beer, Cheese
Beer, Cheese
Beer, Cheese
--------------Cheese, Boots
--------------Chicken, Cheese
Chicken, Cheese
--------------Beer, Clothes
--------------Chicken, Clothes
Chicken, Clothes
Chicken, Clothes
--------------Clothes, Cheese
--------------Clothes, Milk
Milk, Clothes
연관 규칙 마이닝(Association Rule Mining)


규칙 선택 기준
 지지도(Support)
 특정 상품(특정 상품의 조합)이 전체 구매 이력에서 등장하는 빈도
 SUPP(A) = S(A)/N
 SUPP(AB) = S(A∪B)/N
 N: 트랜잭션 수

 신뢰도(Confidence)
 규칙의 IF에 해당하는 첫번째 상품을 구매한 경우 어느 정도 비율로 규칙의 THEN에 있는 상품을
구매하는지  A를 산 빈도 대비, A를 샀을 때 B를 산 빈도의 비율
 CONF(AB) = SUPP(AB)/SUPP(A)

 향상도(Lift)

 두 상품간의 연관성을 표시
 값이 1인 경우 두 상품의 구매는 독립적
 값이 1보다 큰 경우 두 상품의 구매는 연관성이 있다.

 LIFT(AB) = SUPP(AB)/SUPP(A)∙SUPP(B)



일반적인 기준
 지지도가 일정 값 이상인 연관 규칙을 먼저 골라낸 후
 신뢰도가 일정 값 이상인 연관 규칙을 선정
 Serendipity가 중요한 경우, 향상도가 높은 연관 규칙을 선정
연관 규칙 마이닝(Association Rule Mining)


규칙 선택 기준

User Log
User 1: Beer, Chicken, Milk

 지지도

User 2: Beer, Cheese

 SUPP(AB) = S(A∪B)/N

User 3: Cheese, Boots
User 4: Beer, Chicken, Cheese

 신뢰도

User 5: Beer, Chicken, Clothes, Cheese

 CONF(AB) = SUPP(AB)/SUPP(A)

User 6: Chicken, Clothes, Milk
User 7: Chicken, Milk, Clothes

 향상도
 LIFT(AB) = SUPP(AB)/{SUPP(A)∙SUPP(B)}



Example
 개별 Item 신뢰도
 Beer : 4/7, Chicken: 신뢰도
지지도 5/7, Cheese: 4/7, Milk: 3/7, Boots: 1/7
향상도

BeerChicken

3/7

(3/7)/(4/7)=3/4=0.75

(3/7)/{(4/7)∙(5/7)=21/20=1.05

BeerMilk

1/7

(1/7)/(4/7)=1/4=0.25

(1/7)/{(4/7)∙(3/7)=7/12 =0.58

ChickenCheese

2/7

(2/7)/(5/7)=2/5=0.4

(2/7)/{(5/7)∙(4/7)=14/20=0.7

BeerCheese

3/7

(3/7)/(4/7)=3/4=0.75

(3/7)/{(4/7)∙(4/7)=21/16=1.31

BootsCheese

1/7

(1/7)/(1/7)=1/1=1.0

(1/7)/{(1/7)∙(4/7)=7/4 =1.75

ChickenBeer

3/7

(3/7)/(5/7)=3/5=0.6

(3/7)/{(5/7)∙(4/7)=21/20=1.05

Beer, Chicken
Beer, Chicken
Beer, Chicken
-------------Beer, Milk
--------------Chicken, Milk
Chicken, Milk
Chicken, Milk
--------------Beer, Cheese
Beer, Cheese
Beer, Cheese
--------------Cheese, Boots
--------------Chicken, Cheese
Chicken, Cheese
--------------Beer, Clothes
--------------Chicken, Clothes
Chicken, Clothes
Chicken, Clothes
--------------Clothes, Cheese
--------------Clothes, Milk
Milk, Clothes
Memory-based 협업 필터링


개념
 여러 사용자들의 구매 이력을(Collaborative) 이용하여 통계적으로 특정 고객에
게 필요한 정보만을 추출(Filtering)



핵심 IDEA
 나와 성향이 비슷한 사용자들을 찾고, 그 사용자들이 산 아이템을 추천
Memory-based 협업 필터링 : User-based CF


추천 Item 계산: 사용자 기반 협업 필터링

• 코사인 유사도(Cosine Similarity) = Cos(C1,C2)
= (0,1,0,1)∙(0,1,1,1)/(√2)x(√3)=0.8196
• 자카드 유사도(Jaccard Similarity) = J(C1,C2)
= |A∩B|/|A∪B|=교집합개수/합집합개수=2/3=0.67


사용자간 유사도와 원래 구매이력을 곱하면 선호도 매트릭스가 나옴

X


=

사용자간 유사도 대신 아이템간 유사도를 구한후 동일한 과정을 수행할 수 있음  아이템 기반 협업 필
터링
MapReduce 기반 협업 필터링 1/2



전체 사용자를 구매 이력이 유사한 사용자 그룹으로 나눔
MinHash 이용
 실제로 유사도 계산을 수행하지 않고 사용자 그룹으로 나누는 방법
 구매 이력이 유사하면 생성되는 Hash Key도 유사함
 아이템별 함수 값 계산 후 가장 최소값을 Hash Key로 이용




H(x) = (ax+b) mod M
x는 item ID 값으로 정수
a, b, M은 사용자 정의 파라메터

 Hash 함수 1개인 경우






h1(x) = (3x + 7) mod 13
구매 이력: 10000056,10,15,18,99,104
1000056, 11, 0, 9, 5, 7  이 중 최소값을 Hash Key로 사용  0

일반적으로
 Hash 함수 p개를 사용하고 Concatenated 값을 특정 사용자의 Group ID로 이용
 p개의 함수를 q set을 사용
 Hash 함수가 5개인 경우


[0,11,4,5,13]  정해진 자리수의 길이로 연결(3자리)  000, 111, 004, 005, 013  사용자의 Group ID 
000011004005013
MapReduce 기반 협업 필터링 2/2
1. User Log
10000056,1521691,1521689,1472027,1442215,
621735,600942,600565,600239,600159,600126,
1521690,2064568,2063351,2020854,1939114,1
939113,1939112,1939111,1939110,1939109,19
39107,1939106,1939105,1935599,1521699,152
1693
10000087,1984779,1984776,1983482,1977448,
1972459,1964754,1959554,1954451,1931595,1
931594,1930287,1920525,1798751,1733355,90
5587,418598,2063744,2056871,2053450,20514
48,2049550,2045417,2043348,2042756,204154
5,2040667,2031581,2030698,2029448,2020854,
2019681,2018769,2017354,2017353,2017350
10000192,2017349
10000477,1945868,1943049,1941619,1940012,
1936789,1935599,1929329,1928828,1928055,1
928051,1928044,1927248,1914864,1913502,19
135011953349,1951553,1951552,1951550
10000502,270903,91264,2057814,2057050,205
6935,2045572,2045571,2042756,2026971,2019
198,201871876,1657559,838710,623241,46610
5
10000610,884783,84101,313007,2066666,2064
568,2064564,2064562,2063248,2052453,20514
48,1647293,1525532,1092546
10000660,2014348,2008148,1184943,1184942,
1184941,1184940,1184939,1184934,1184933,1
184932,610653,610652,610605,610582,610571,
2020854,2019876,2017248
10000708,1884223,1884222,1851229,1750989,
1750976996350,1975152,1951557,1951556,19
51555,1951550,1928051,1903057,1903050

2. 사용자별 Hash Key생성
(Ex, p = 2, q = 3)
Hash 함수 2개로 한번 Group
ID를 생성.
이 과정을 3번 수행
00010002, 10000056
00070010, 10000056
00200010, 10000056
00010002, 10000087
00030007, 1000087
00200010, 1000087
00070007, 10000192
00210011, 10000192
00040007, 10000192
00010002, 10000477
00030007, 10000477
00200010, 10000477
………
00010002, 10000708
00030007, 10000708
00070007, 10000708

3. Group ID별로 모으기

4. 사용자 ID별로 모으기

•00010002

•10000056
•10000087
•10000477
•10000708

•10000056

•10000087
•10000477
•10000708
•10000610

•00070010

•10000056

•10000087

•00030007

•1000087
•10000660
•10000708

•10000056
•10000477
•10000708
•10000660

•00200010

•1000087
•10000056
•10000610

•10000610

•1000087
•10000056
…….

•00040007

•10000192

5. 사용자 ID별 CF 계산
•10000056

•10000087
•10000477
•10000708
•10000610
Model-based 협업 필터링 : ALS MF

EXO

BigBang

Alice

2PM
v

Jane

v

Carol

v

Kim

v

v

v
Model-based 협업 필터링 : ALS MF

Alice

갑바

Jane
Carol
Kim

와꾸
Model-based 협업 필터링 : ALS MF

n

k
n

m

P

=

m
X

•

k

Y’
Model-based 협업 필터링 : ALS MF
순서대로 업데이트 하고 병렬화 하자 !


Reduce user-item matrix to 1 and 0 = P



⌃
Factor as approximate P ≈ X•Y’ = P by

⌃



Start with random Y



Compute X so that X•Y best matches P
(Frobenius / L2 norm)



(Alternating)

Repeat for Y



Iterate
⌃



(Least Squares)

Large values in P are good recommendations
Model-based 협업 필터링 : ALS MF
Binary로 변환

1

4

3

1

1

1

0

0

3

0

0

1

0

0

2

0

1

0

1

1

3

1

0

1

0

1

0

0

0

1

0

1

1

0

0

0

4
5

3
2
5

2

4

P
Model-based 협업 필터링 : ALS MF
k = 3, λ=0.1, α=40
1 iteration
1

1

1

0

0

0.36

0.06

-0.31

2.83

3.02

2.95

1.51

1.71

0

0

1

0

0

0.35

0.1

-0.29

-0.09

0.13

0.06

-0.05

0.2

0

1

0

1

1

0.24

0.21

0.78

0.22

0.3

0.23

0.8

0.65

1

0

1

0

1

0.27

-0.29

0.95

0

0

0

1

0

-0.16

1.24

1.62

1

1

0

0

0

0.39

-0.21

-0.48

≈

Y’

X
Model-based 협업 필터링 : ALS MF
k = 3, λ=0.1, α=40
1 iteration

1

1

1

0

0

0.95

1

1

0.29

0.43

0

0

1

0

0

0.93

0.99

0.99

0.3

0.44

0

1

0

1

1

0.83

0.99

0.9

0.98

0.95

1

0

1

0

1

1

1.06

0.99

1.18

1.01

0

0

0

1

0

-0.2

0.18

-0.02

1

1.02

1

1

0

0

0

1

0.99

1.01

0.21

0.31

≈

X•Y’
Model-based 협업 필터링 : ALS MF
k = 3, λ=0.1, α=40
10 iterations

1

1

1

0

0

0.98

0.99

1

-0.28

0.34

0

0

1

0

0

0.07

0.46

1

0.14

-0.23

0

1

0

1

1

0.24

0.99

0.71

1

1

1

0

1

0

1

1

1.32

0.98

0.3

0.99

0

0

0

1

0

-0.53

0.14

0.07

1

0.43

1

1

0

0

0

0.99

1

0.76

-0.13

0.63

≈

X•Y’
Model-based 협업 필터링 : LDA
Model-based 협업 필터링 : LDA



Parameters





Num of Topic : 100
Num of Vocab : 10784
Num of Iteration : 30
Method of Sampling : Gibbs Sampling, Variational Bayes
Model-based : Restricted Boltzman Machine
CF는 이게 문제


데이터가 커서 메모리 많이 먹음 - Scalability
– Netflix (2007): 5M users, 50K movies, 1.4B ratings



평가 잘 안해줌 - Sparseness
– I have rated only one book at Amazon!



첨에는 뭐줌? - Cold-Start
– New users and items do not have history



안보면 대화에 못낌 - Popularity bias
– Everyone reads “Harry Potter”



참신한 님들이 있음 - Hacking
– Someone reads “Harry Potter” reads “Karma Sutra”
추천에 대한 설명… 좀 많음


요즘 이게 대세임…



이 감독의 다른 작품임 …



비슷한 가수의 다른 노래임 …



너하고 비슷한 사람들이 좋아함 …



니가 그걸 들었으니 이건 어때요 …



이거 두 개가 같이 팔리더라고 …



당신 동네에선 이게 잘나가 …



이게 별점이 최고 …



이게 신상임 …
평가 지표… 좀 더 많음


사용자 만족 - User Satisfaction



예측 정확도 - Prediction Accuracy



추천 범위 - Coverage



추천 다양성 - Diversity



참신성 - Novelty



의외성 -Serendipity



신뢰성 - Trust



강건성 - Robustness



실시간성 - Real-time



적시성 - Timelineness
더 고민해야 되는 것들… 아놔


사용자 학습 - User Expertise Modeling



사용자 편향 유도 – Filter Bubble



복합 사용자 경험- Hybrid Discovery Experience



컨텍스트 인식 – Context Awareness



평생 동반자 – Age Progression, Life-Stage Tracking



가격 민감성 – Free? Paid? Freemium?



극과극의 반응 – ‘Napoleon Dynamite’ Problem.
학계에서도 Hot함
ACM RecSys 2013@Hong Kong 학회 모습
추천을 위한 추천

https://www.coursera.org/course/recsys
Q&A
묻지도 따지지도 말고

More Related Content

What's hot

빅데이터 윈윈 컨퍼런스-데이터수집 및 정제
빅데이터 윈윈 컨퍼런스-데이터수집 및 정제빅데이터 윈윈 컨퍼런스-데이터수집 및 정제
빅데이터 윈윈 컨퍼런스-데이터수집 및 정제ABRC_DATA
 
제10회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 밑바닥부터 시작하는 trivago 추천시스템
제10회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 밑바닥부터 시작하는 trivago 추천시스템제10회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 밑바닥부터 시작하는 trivago 추천시스템
제10회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 밑바닥부터 시작하는 trivago 추천시스템BOAZ Bigdata
 
제 8회 BOAZ 빅데이터 컨퍼런스 -03 리뷰왕 딥리뷰
제 8회 BOAZ 빅데이터 컨퍼런스 -03 리뷰왕 딥리뷰제 8회 BOAZ 빅데이터 컨퍼런스 -03 리뷰왕 딥리뷰
제 8회 BOAZ 빅데이터 컨퍼런스 -03 리뷰왕 딥리뷰BOAZ Bigdata
 
유사 이미지 검색 기술 동향 - Pinterest 사례
유사 이미지 검색 기술 동향 - Pinterest 사례유사 이미지 검색 기술 동향 - Pinterest 사례
유사 이미지 검색 기술 동향 - Pinterest 사례Geunhee Cho
 
제 14회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [카페 어디가?팀] : 카페 및 장소 추천 서비스
제 14회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [카페 어디가?팀] : 카페 및 장소 추천 서비스제 14회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [카페 어디가?팀] : 카페 및 장소 추천 서비스
제 14회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [카페 어디가?팀] : 카페 및 장소 추천 서비스BOAZ Bigdata
 
데이터 분석 프로세스
데이터 분석 프로세스데이터 분석 프로세스
데이터 분석 프로세스Lee Seungeun
 
제 9회 보아즈(BOAZ) 빅데이터 컨퍼런스 - AiRBnB : Aspect in Review 비교 & 분석
제 9회 보아즈(BOAZ) 빅데이터 컨퍼런스 - AiRBnB : Aspect in Review 비교 & 분석제 9회 보아즈(BOAZ) 빅데이터 컨퍼런스 - AiRBnB : Aspect in Review 비교 & 분석
제 9회 보아즈(BOAZ) 빅데이터 컨퍼런스 - AiRBnB : Aspect in Review 비교 & 분석BOAZ Bigdata
 
T ka kr_4th
T ka kr_4thT ka kr_4th
T ka kr_4thSubin An
 
Image data augmentatiion
Image data augmentatiionImage data augmentatiion
Image data augmentatiionSubin An
 

What's hot (11)

빅데이터 윈윈 컨퍼런스-데이터수집 및 정제
빅데이터 윈윈 컨퍼런스-데이터수집 및 정제빅데이터 윈윈 컨퍼런스-데이터수집 및 정제
빅데이터 윈윈 컨퍼런스-데이터수집 및 정제
 
제10회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 밑바닥부터 시작하는 trivago 추천시스템
제10회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 밑바닥부터 시작하는 trivago 추천시스템제10회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 밑바닥부터 시작하는 trivago 추천시스템
제10회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 밑바닥부터 시작하는 trivago 추천시스템
 
제 8회 BOAZ 빅데이터 컨퍼런스 -03 리뷰왕 딥리뷰
제 8회 BOAZ 빅데이터 컨퍼런스 -03 리뷰왕 딥리뷰제 8회 BOAZ 빅데이터 컨퍼런스 -03 리뷰왕 딥리뷰
제 8회 BOAZ 빅데이터 컨퍼런스 -03 리뷰왕 딥리뷰
 
유사 이미지 검색 기술 동향 - Pinterest 사례
유사 이미지 검색 기술 동향 - Pinterest 사례유사 이미지 검색 기술 동향 - Pinterest 사례
유사 이미지 검색 기술 동향 - Pinterest 사례
 
제 14회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [카페 어디가?팀] : 카페 및 장소 추천 서비스
제 14회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [카페 어디가?팀] : 카페 및 장소 추천 서비스제 14회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [카페 어디가?팀] : 카페 및 장소 추천 서비스
제 14회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [카페 어디가?팀] : 카페 및 장소 추천 서비스
 
데이터 분석 프로세스
데이터 분석 프로세스데이터 분석 프로세스
데이터 분석 프로세스
 
제 9회 보아즈(BOAZ) 빅데이터 컨퍼런스 - AiRBnB : Aspect in Review 비교 & 분석
제 9회 보아즈(BOAZ) 빅데이터 컨퍼런스 - AiRBnB : Aspect in Review 비교 & 분석제 9회 보아즈(BOAZ) 빅데이터 컨퍼런스 - AiRBnB : Aspect in Review 비교 & 분석
제 9회 보아즈(BOAZ) 빅데이터 컨퍼런스 - AiRBnB : Aspect in Review 비교 & 분석
 
집단지성Ch12
집단지성Ch12집단지성Ch12
집단지성Ch12
 
T ka kr_4th
T ka kr_4thT ka kr_4th
T ka kr_4th
 
Image data augmentatiion
Image data augmentatiionImage data augmentatiion
Image data augmentatiion
 
분석5기 4조
분석5기 4조분석5기 4조
분석5기 4조
 

Similar to Hello, Recommender System

링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다Evion Kim
 
[2A7]Linkedin'sDataScienceWhyIsItScience
[2A7]Linkedin'sDataScienceWhyIsItScience[2A7]Linkedin'sDataScienceWhyIsItScience
[2A7]Linkedin'sDataScienceWhyIsItScienceNAVER D2
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical MethodologyKyeongUkJang
 
Machine Learning Foundations (a case study approach) 강의 정리
Machine Learning Foundations (a case study approach) 강의 정리Machine Learning Foundations (a case study approach) 강의 정리
Machine Learning Foundations (a case study approach) 강의 정리SANG WON PARK
 
Deview2020 유저가 좋은 작품(웹툰)을 만났을때
Deview2020 유저가 좋은 작품(웹툰)을 만났을때 Deview2020 유저가 좋은 작품(웹툰)을 만났을때
Deview2020 유저가 좋은 작품(웹툰)을 만났을때 choi kyumin
 
린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )
린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )
린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )정혁 권
 
레코픽 설명회 15회-개인화 추천(with DMC미디어)
레코픽 설명회 15회-개인화 추천(with DMC미디어)레코픽 설명회 15회-개인화 추천(with DMC미디어)
레코픽 설명회 15회-개인화 추천(with DMC미디어)recopick
 
[팝콘 시즌1] 최보경 : 실무자를 위한 인과추론 활용 - Best Practices
[팝콘 시즌1] 최보경 : 실무자를 위한 인과추론 활용 - Best Practices[팝콘 시즌1] 최보경 : 실무자를 위한 인과추론 활용 - Best Practices
[팝콘 시즌1] 최보경 : 실무자를 위한 인과추론 활용 - Best PracticesPAP (Product Analytics Playground)
 
[PAP] 실무자를 위한 인과추론 활용 : Best Practices
[PAP] 실무자를 위한 인과추론 활용 : Best Practices[PAP] 실무자를 위한 인과추론 활용 : Best Practices
[PAP] 실무자를 위한 인과추론 활용 : Best PracticesBokyung Choi
 
개인화 추천 시스템에서_연관_관계_군집에_의한_아이템_기반의_협력적_필터링_기술
개인화 추천 시스템에서_연관_관계_군집에_의한_아이템_기반의_협력적_필터링_기술개인화 추천 시스템에서_연관_관계_군집에_의한_아이템_기반의_협력적_필터링_기술
개인화 추천 시스템에서_연관_관계_군집에_의한_아이템_기반의_협력적_필터링_기술coolsign
 
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [무드등] : 무신사를 활용한 고객 상황에 따른 의류 추천 스타일링 대시보드
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [무드등] : 무신사를 활용한 고객 상황에 따른 의류 추천 스타일링 대시보드제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [무드등] : 무신사를 활용한 고객 상황에 따른 의류 추천 스타일링 대시보드
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [무드등] : 무신사를 활용한 고객 상황에 따른 의류 추천 스타일링 대시보드BOAZ Bigdata
 
[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정PAP (Product Analytics Playground)
 
2018 06-11-active-question-answering
2018 06-11-active-question-answering2018 06-11-active-question-answering
2018 06-11-active-question-answeringWoong won Lee
 
데이터분석의 길 5: “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)
데이터분석의 길 5:  “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)데이터분석의 길 5:  “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)
데이터분석의 길 5: “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)Jaimie Kwon (권재명)
 
CHI2014 후기 + 미니 발제
CHI2014 후기 + 미니 발제CHI2014 후기 + 미니 발제
CHI2014 후기 + 미니 발제Hyunjin Ahn
 
SKPlanet 추천 플랫폼 콜로세오 - SK ICT Tech Summit 2017 SKPlanet 추천 플랫폼 콜로세오 - SK IC...
SKPlanet 추천 플랫폼 콜로세오  - SK ICT Tech Summit 2017 SKPlanet 추천 플랫폼 콜로세오  - SK IC...SKPlanet 추천 플랫폼 콜로세오  - SK ICT Tech Summit 2017 SKPlanet 추천 플랫폼 콜로세오  - SK IC...
SKPlanet 추천 플랫폼 콜로세오 - SK ICT Tech Summit 2017 SKPlanet 추천 플랫폼 콜로세오 - SK IC...Jaehoon Jung
 
[도서 리뷰] 헤드 퍼스트 데이터 분석 ( Head First Data Analysis )
[도서 리뷰]  헤드 퍼스트 데이터 분석 ( Head First Data Analysis )[도서 리뷰]  헤드 퍼스트 데이터 분석 ( Head First Data Analysis )
[도서 리뷰] 헤드 퍼스트 데이터 분석 ( Head First Data Analysis )Seung-Woo Kang
 
Big data analysis in sm group6
Big data analysis in sm group6Big data analysis in sm group6
Big data analysis in sm group6SUNMINCHUNG
 
[AWS Innovate 온라인 컨퍼런스] Amazon Personalize를 통한 개인화 추천 기능 실전 구현하기 - 최원근, AWS 솔...
[AWS Innovate 온라인 컨퍼런스] Amazon Personalize를 통한 개인화 추천 기능 실전 구현하기 - 최원근, AWS 솔...[AWS Innovate 온라인 컨퍼런스] Amazon Personalize를 통한 개인화 추천 기능 실전 구현하기 - 최원근, AWS 솔...
[AWS Innovate 온라인 컨퍼런스] Amazon Personalize를 통한 개인화 추천 기능 실전 구현하기 - 최원근, AWS 솔...Amazon Web Services Korea
 
Aiffel 해커톤 최종 발표
Aiffel 해커톤 최종 발표Aiffel 해커톤 최종 발표
Aiffel 해커톤 최종 발표kiminPark2
 

Similar to Hello, Recommender System (20)

링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
 
[2A7]Linkedin'sDataScienceWhyIsItScience
[2A7]Linkedin'sDataScienceWhyIsItScience[2A7]Linkedin'sDataScienceWhyIsItScience
[2A7]Linkedin'sDataScienceWhyIsItScience
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical Methodology
 
Machine Learning Foundations (a case study approach) 강의 정리
Machine Learning Foundations (a case study approach) 강의 정리Machine Learning Foundations (a case study approach) 강의 정리
Machine Learning Foundations (a case study approach) 강의 정리
 
Deview2020 유저가 좋은 작품(웹툰)을 만났을때
Deview2020 유저가 좋은 작품(웹툰)을 만났을때 Deview2020 유저가 좋은 작품(웹툰)을 만났을때
Deview2020 유저가 좋은 작품(웹툰)을 만났을때
 
린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )
린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )
린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )
 
레코픽 설명회 15회-개인화 추천(with DMC미디어)
레코픽 설명회 15회-개인화 추천(with DMC미디어)레코픽 설명회 15회-개인화 추천(with DMC미디어)
레코픽 설명회 15회-개인화 추천(with DMC미디어)
 
[팝콘 시즌1] 최보경 : 실무자를 위한 인과추론 활용 - Best Practices
[팝콘 시즌1] 최보경 : 실무자를 위한 인과추론 활용 - Best Practices[팝콘 시즌1] 최보경 : 실무자를 위한 인과추론 활용 - Best Practices
[팝콘 시즌1] 최보경 : 실무자를 위한 인과추론 활용 - Best Practices
 
[PAP] 실무자를 위한 인과추론 활용 : Best Practices
[PAP] 실무자를 위한 인과추론 활용 : Best Practices[PAP] 실무자를 위한 인과추론 활용 : Best Practices
[PAP] 실무자를 위한 인과추론 활용 : Best Practices
 
개인화 추천 시스템에서_연관_관계_군집에_의한_아이템_기반의_협력적_필터링_기술
개인화 추천 시스템에서_연관_관계_군집에_의한_아이템_기반의_협력적_필터링_기술개인화 추천 시스템에서_연관_관계_군집에_의한_아이템_기반의_협력적_필터링_기술
개인화 추천 시스템에서_연관_관계_군집에_의한_아이템_기반의_협력적_필터링_기술
 
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [무드등] : 무신사를 활용한 고객 상황에 따른 의류 추천 스타일링 대시보드
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [무드등] : 무신사를 활용한 고객 상황에 따른 의류 추천 스타일링 대시보드제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [무드등] : 무신사를 활용한 고객 상황에 따른 의류 추천 스타일링 대시보드
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [무드등] : 무신사를 활용한 고객 상황에 따른 의류 추천 스타일링 대시보드
 
[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
 
2018 06-11-active-question-answering
2018 06-11-active-question-answering2018 06-11-active-question-answering
2018 06-11-active-question-answering
 
데이터분석의 길 5: “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)
데이터분석의 길 5:  “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)데이터분석의 길 5:  “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)
데이터분석의 길 5: “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)
 
CHI2014 후기 + 미니 발제
CHI2014 후기 + 미니 발제CHI2014 후기 + 미니 발제
CHI2014 후기 + 미니 발제
 
SKPlanet 추천 플랫폼 콜로세오 - SK ICT Tech Summit 2017 SKPlanet 추천 플랫폼 콜로세오 - SK IC...
SKPlanet 추천 플랫폼 콜로세오  - SK ICT Tech Summit 2017 SKPlanet 추천 플랫폼 콜로세오  - SK IC...SKPlanet 추천 플랫폼 콜로세오  - SK ICT Tech Summit 2017 SKPlanet 추천 플랫폼 콜로세오  - SK IC...
SKPlanet 추천 플랫폼 콜로세오 - SK ICT Tech Summit 2017 SKPlanet 추천 플랫폼 콜로세오 - SK IC...
 
[도서 리뷰] 헤드 퍼스트 데이터 분석 ( Head First Data Analysis )
[도서 리뷰]  헤드 퍼스트 데이터 분석 ( Head First Data Analysis )[도서 리뷰]  헤드 퍼스트 데이터 분석 ( Head First Data Analysis )
[도서 리뷰] 헤드 퍼스트 데이터 분석 ( Head First Data Analysis )
 
Big data analysis in sm group6
Big data analysis in sm group6Big data analysis in sm group6
Big data analysis in sm group6
 
[AWS Innovate 온라인 컨퍼런스] Amazon Personalize를 통한 개인화 추천 기능 실전 구현하기 - 최원근, AWS 솔...
[AWS Innovate 온라인 컨퍼런스] Amazon Personalize를 통한 개인화 추천 기능 실전 구현하기 - 최원근, AWS 솔...[AWS Innovate 온라인 컨퍼런스] Amazon Personalize를 통한 개인화 추천 기능 실전 구현하기 - 최원근, AWS 솔...
[AWS Innovate 온라인 컨퍼런스] Amazon Personalize를 통한 개인화 추천 기능 실전 구현하기 - 최원근, AWS 솔...
 
Aiffel 해커톤 최종 발표
Aiffel 해커톤 최종 발표Aiffel 해커톤 최종 발표
Aiffel 해커톤 최종 발표
 

More from Kyuhwan Jung

(20180524) vuno seminar roc and extension
(20180524) vuno seminar   roc and extension(20180524) vuno seminar   roc and extension
(20180524) vuno seminar roc and extensionKyuhwan Jung
 
(20180715) ksiim gan in medical imaging - vuno - kyuhwan jung
(20180715) ksiim   gan in medical imaging - vuno - kyuhwan jung(20180715) ksiim   gan in medical imaging - vuno - kyuhwan jung
(20180715) ksiim gan in medical imaging - vuno - kyuhwan jungKyuhwan Jung
 
(20180728) kosaim workshop vuno - kyuhwan jung
(20180728) kosaim workshop   vuno - kyuhwan jung(20180728) kosaim workshop   vuno - kyuhwan jung
(20180728) kosaim workshop vuno - kyuhwan jungKyuhwan Jung
 
Generative Adversarial Networks and Their Medical Imaging Applications
Generative Adversarial Networks and Their Medical Imaging ApplicationsGenerative Adversarial Networks and Their Medical Imaging Applications
Generative Adversarial Networks and Their Medical Imaging ApplicationsKyuhwan Jung
 
Dynamic Routing Between Capsules
Dynamic Routing Between CapsulesDynamic Routing Between Capsules
Dynamic Routing Between CapsulesKyuhwan Jung
 
(2017/06)Practical points of deep learning for medical imaging
(2017/06)Practical points of deep learning for medical imaging(2017/06)Practical points of deep learning for medical imaging
(2017/06)Practical points of deep learning for medical imagingKyuhwan Jung
 

More from Kyuhwan Jung (6)

(20180524) vuno seminar roc and extension
(20180524) vuno seminar   roc and extension(20180524) vuno seminar   roc and extension
(20180524) vuno seminar roc and extension
 
(20180715) ksiim gan in medical imaging - vuno - kyuhwan jung
(20180715) ksiim   gan in medical imaging - vuno - kyuhwan jung(20180715) ksiim   gan in medical imaging - vuno - kyuhwan jung
(20180715) ksiim gan in medical imaging - vuno - kyuhwan jung
 
(20180728) kosaim workshop vuno - kyuhwan jung
(20180728) kosaim workshop   vuno - kyuhwan jung(20180728) kosaim workshop   vuno - kyuhwan jung
(20180728) kosaim workshop vuno - kyuhwan jung
 
Generative Adversarial Networks and Their Medical Imaging Applications
Generative Adversarial Networks and Their Medical Imaging ApplicationsGenerative Adversarial Networks and Their Medical Imaging Applications
Generative Adversarial Networks and Their Medical Imaging Applications
 
Dynamic Routing Between Capsules
Dynamic Routing Between CapsulesDynamic Routing Between Capsules
Dynamic Routing Between Capsules
 
(2017/06)Practical points of deep learning for medical imaging
(2017/06)Practical points of deep learning for medical imaging(2017/06)Practical points of deep learning for medical imaging
(2017/06)Practical points of deep learning for medical imaging
 

Recently uploaded

[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and AdoptionSeung-chan Baeg
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Wonjun Hwang
 
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'Hyundai Motor Group
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 

Recently uploaded (7)

[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
 
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 

Hello, Recommender System

  • 1. Facebook CV/PR/ML 그룹 세미나 Hello, Recommender System 정규환, Ph.D 2014.01.11 Manager, SK Planet
  • 2. 내용  추천 시스템의 필요성  추천 시스템 예시  추천 알고리즘  질문과 답변
  • 3. 추천 시스템, 왜 필요해요?
  • 5. Jobs옹 왈, ‘Post-PC Device 세상임’
  • 11. 읽는 속도 보다 쌓아 두는 속도가 빠르다는
  • 14.
  • 16. 그들이 온다. 더 온다! http://www.appbrain.com/stats/number-of-android-apps http://148apps.biz/app-store-metrics/?mpage=appcount
  • 19. 누가 날 구해 주나요?  구글?  내가 뭘 찾는지 알 때나  찾는 것도 귀찮으면?  엄청 많이 튀어 나옴  Facebook 친구, 지인?  친구가 없는 자립심 강한 사람이거나  내 친구들과 난 취향이 달라서 걔들과 왜 친한지 신기할 때는?  전문가?  비싸고  만나 뵙기도 힘듬 그래서. 결론은 버킹…추천 시스템 !
  • 20. 추천 시스템, 누가 하고 있나요?
  • 22. 날 모르는 Genius보다 평범한 내 이웃들이 나음 Apple App Store
  • 24. 당신을 위한 맞춤형 앱 코디~ (손발 퇴갤) T-store
  • 25. 추천 도배질. 넌 보기만 해 Netflix
  • 35. 뭘 추천 해주냐면 • • • • • • • • • • 광고 메세지 투자 상품 음식점 까페 음악 영화 TV 쇼 책 옷 식료품 • • • • • • • • • • 뉴스 데이트 상대 친구 수업 과목 의약품 연구 논문 인용 문헌 라이브러리 전문가 태그
  • 36. 추천 시스템의 역할  당신이 어떤 상품/서비스를 얼마나 좋아할지 예측  당신이 좋아할만한 N개의 상품 추출  어떤 상품/서비스를 좋아할만한 N명 추출  이게 왜 당신에게 추천 되었는지 설명  당신의 반응으로 부터 추천 시스템 업데이트
  • 37. 추천 시스템의 개략적인 종류  Editorial Recommenders  전문가의 추천  유명인의 추천  Contents-based Filtering  Genome 기반 추천  Meta 기반 추천  Collaborative Filtering Recommenders  Memory-based : User 기반 추천, Item 기반 추천  Model-based : Matrix Factorization, LDA, …  Hybrid Recommenders  선형 결합/순차적 결합/스위칭
  • 38. CBF의 Meta 정보 예시  웹 페이지  words, hyperlinks, images, tags, comments, titles, URL, topic  음악  genre, rhythm, melody, harmony, lyrics, meta data, artists, bands, press releases, expert reviews, loudness, energy, time, spectrum, duration, frequency, pitch, key, mode, mood, style, tempo  사용자  age, sex, job, location, time, income, education, language, family status, hobbies, general interests, Web usage, computer usage, fan club membership, opinion, comments, tags, mobile usage  상황  time, location, mobility, activity, socializing, emotion
  • 41. 연관 규칙 마이닝(Association Rule Mining)  핵심 IDEA  사용자들의 구매 패턴을 분석: 어떤 상품들을 같이 구매하는지 파악 User Log User 1: Beer, Chicken, Milk User 2: Beer, Cheese User 3: Cheese, Boots User 4: Beer, Chicken, Cheese User 5: Beer, Chicken, Clothes, Cheese User 6: Chicken, Clothes, Milk User 7: Chicken, Milk, Clothes  연관 규칙?    A를 구매하면 B: AB A와 B를 구매하면 C: (A,B)C A, B, F, G를 구매하면 D: (A,B,F,G)D Rule Candidates Length 2 : (Beer, Chicken) Length 2 : (Bear, Milk) Length 2 : (Chicken, Milk) …. Length 3 : (Beer, Chicken, Cheese) Length 3 : (Chicken, Milk, Clothes) Beer, Chicken Beer, Milk Chicken, Milk --------------Beer, Cheese --------------Cheese, Boots --------------Beer, Chicken Beer, Cheese Chicken, Cheese --------------Beer, Chicken Beer, Clothes Beer, Cheese Chicken, Clothes Chicken, Cheese Clothes, Cheese --------------Chicken, Clothes Chicken, Milk Clothes, Milk --------------Chicken, Milk Chicken, Clothes Milk, Clothes 빈도 Check Beer, Chicken Beer, Chicken Beer, Chicken -------------Beer, Milk --------------Chicken, Milk Chicken, Milk Chicken, Milk --------------Beer, Cheese Beer, Cheese Beer, Cheese --------------Cheese, Boots --------------Chicken, Cheese Chicken, Cheese --------------Beer, Clothes --------------Chicken, Clothes Chicken, Clothes Chicken, Clothes --------------Clothes, Cheese --------------Clothes, Milk Milk, Clothes
  • 42. 연관 규칙 마이닝(Association Rule Mining)  규칙 선택 기준  지지도(Support)  특정 상품(특정 상품의 조합)이 전체 구매 이력에서 등장하는 빈도  SUPP(A) = S(A)/N  SUPP(AB) = S(A∪B)/N  N: 트랜잭션 수  신뢰도(Confidence)  규칙의 IF에 해당하는 첫번째 상품을 구매한 경우 어느 정도 비율로 규칙의 THEN에 있는 상품을 구매하는지  A를 산 빈도 대비, A를 샀을 때 B를 산 빈도의 비율  CONF(AB) = SUPP(AB)/SUPP(A)  향상도(Lift)  두 상품간의 연관성을 표시  값이 1인 경우 두 상품의 구매는 독립적  값이 1보다 큰 경우 두 상품의 구매는 연관성이 있다.  LIFT(AB) = SUPP(AB)/SUPP(A)∙SUPP(B)  일반적인 기준  지지도가 일정 값 이상인 연관 규칙을 먼저 골라낸 후  신뢰도가 일정 값 이상인 연관 규칙을 선정  Serendipity가 중요한 경우, 향상도가 높은 연관 규칙을 선정
  • 43. 연관 규칙 마이닝(Association Rule Mining)  규칙 선택 기준 User Log User 1: Beer, Chicken, Milk  지지도 User 2: Beer, Cheese  SUPP(AB) = S(A∪B)/N User 3: Cheese, Boots User 4: Beer, Chicken, Cheese  신뢰도 User 5: Beer, Chicken, Clothes, Cheese  CONF(AB) = SUPP(AB)/SUPP(A) User 6: Chicken, Clothes, Milk User 7: Chicken, Milk, Clothes  향상도  LIFT(AB) = SUPP(AB)/{SUPP(A)∙SUPP(B)}  Example  개별 Item 신뢰도  Beer : 4/7, Chicken: 신뢰도 지지도 5/7, Cheese: 4/7, Milk: 3/7, Boots: 1/7 향상도 BeerChicken 3/7 (3/7)/(4/7)=3/4=0.75 (3/7)/{(4/7)∙(5/7)=21/20=1.05 BeerMilk 1/7 (1/7)/(4/7)=1/4=0.25 (1/7)/{(4/7)∙(3/7)=7/12 =0.58 ChickenCheese 2/7 (2/7)/(5/7)=2/5=0.4 (2/7)/{(5/7)∙(4/7)=14/20=0.7 BeerCheese 3/7 (3/7)/(4/7)=3/4=0.75 (3/7)/{(4/7)∙(4/7)=21/16=1.31 BootsCheese 1/7 (1/7)/(1/7)=1/1=1.0 (1/7)/{(1/7)∙(4/7)=7/4 =1.75 ChickenBeer 3/7 (3/7)/(5/7)=3/5=0.6 (3/7)/{(5/7)∙(4/7)=21/20=1.05 Beer, Chicken Beer, Chicken Beer, Chicken -------------Beer, Milk --------------Chicken, Milk Chicken, Milk Chicken, Milk --------------Beer, Cheese Beer, Cheese Beer, Cheese --------------Cheese, Boots --------------Chicken, Cheese Chicken, Cheese --------------Beer, Clothes --------------Chicken, Clothes Chicken, Clothes Chicken, Clothes --------------Clothes, Cheese --------------Clothes, Milk Milk, Clothes
  • 44. Memory-based 협업 필터링  개념  여러 사용자들의 구매 이력을(Collaborative) 이용하여 통계적으로 특정 고객에 게 필요한 정보만을 추출(Filtering)  핵심 IDEA  나와 성향이 비슷한 사용자들을 찾고, 그 사용자들이 산 아이템을 추천
  • 45. Memory-based 협업 필터링 : User-based CF  추천 Item 계산: 사용자 기반 협업 필터링 • 코사인 유사도(Cosine Similarity) = Cos(C1,C2) = (0,1,0,1)∙(0,1,1,1)/(√2)x(√3)=0.8196 • 자카드 유사도(Jaccard Similarity) = J(C1,C2) = |A∩B|/|A∪B|=교집합개수/합집합개수=2/3=0.67  사용자간 유사도와 원래 구매이력을 곱하면 선호도 매트릭스가 나옴 X  = 사용자간 유사도 대신 아이템간 유사도를 구한후 동일한 과정을 수행할 수 있음  아이템 기반 협업 필 터링
  • 46. MapReduce 기반 협업 필터링 1/2   전체 사용자를 구매 이력이 유사한 사용자 그룹으로 나눔 MinHash 이용  실제로 유사도 계산을 수행하지 않고 사용자 그룹으로 나누는 방법  구매 이력이 유사하면 생성되는 Hash Key도 유사함  아이템별 함수 값 계산 후 가장 최소값을 Hash Key로 이용    H(x) = (ax+b) mod M x는 item ID 값으로 정수 a, b, M은 사용자 정의 파라메터  Hash 함수 1개인 경우     h1(x) = (3x + 7) mod 13 구매 이력: 10000056,10,15,18,99,104 1000056, 11, 0, 9, 5, 7  이 중 최소값을 Hash Key로 사용  0 일반적으로  Hash 함수 p개를 사용하고 Concatenated 값을 특정 사용자의 Group ID로 이용  p개의 함수를 q set을 사용  Hash 함수가 5개인 경우  [0,11,4,5,13]  정해진 자리수의 길이로 연결(3자리)  000, 111, 004, 005, 013  사용자의 Group ID  000011004005013
  • 47. MapReduce 기반 협업 필터링 2/2 1. User Log 10000056,1521691,1521689,1472027,1442215, 621735,600942,600565,600239,600159,600126, 1521690,2064568,2063351,2020854,1939114,1 939113,1939112,1939111,1939110,1939109,19 39107,1939106,1939105,1935599,1521699,152 1693 10000087,1984779,1984776,1983482,1977448, 1972459,1964754,1959554,1954451,1931595,1 931594,1930287,1920525,1798751,1733355,90 5587,418598,2063744,2056871,2053450,20514 48,2049550,2045417,2043348,2042756,204154 5,2040667,2031581,2030698,2029448,2020854, 2019681,2018769,2017354,2017353,2017350 10000192,2017349 10000477,1945868,1943049,1941619,1940012, 1936789,1935599,1929329,1928828,1928055,1 928051,1928044,1927248,1914864,1913502,19 135011953349,1951553,1951552,1951550 10000502,270903,91264,2057814,2057050,205 6935,2045572,2045571,2042756,2026971,2019 198,201871876,1657559,838710,623241,46610 5 10000610,884783,84101,313007,2066666,2064 568,2064564,2064562,2063248,2052453,20514 48,1647293,1525532,1092546 10000660,2014348,2008148,1184943,1184942, 1184941,1184940,1184939,1184934,1184933,1 184932,610653,610652,610605,610582,610571, 2020854,2019876,2017248 10000708,1884223,1884222,1851229,1750989, 1750976996350,1975152,1951557,1951556,19 51555,1951550,1928051,1903057,1903050 2. 사용자별 Hash Key생성 (Ex, p = 2, q = 3) Hash 함수 2개로 한번 Group ID를 생성. 이 과정을 3번 수행 00010002, 10000056 00070010, 10000056 00200010, 10000056 00010002, 10000087 00030007, 1000087 00200010, 1000087 00070007, 10000192 00210011, 10000192 00040007, 10000192 00010002, 10000477 00030007, 10000477 00200010, 10000477 ……… 00010002, 10000708 00030007, 10000708 00070007, 10000708 3. Group ID별로 모으기 4. 사용자 ID별로 모으기 •00010002 •10000056 •10000087 •10000477 •10000708 •10000056 •10000087 •10000477 •10000708 •10000610 •00070010 •10000056 •10000087 •00030007 •1000087 •10000660 •10000708 •10000056 •10000477 •10000708 •10000660 •00200010 •1000087 •10000056 •10000610 •10000610 •1000087 •10000056 ……. •00040007 •10000192 5. 사용자 ID별 CF 계산 •10000056 •10000087 •10000477 •10000708 •10000610
  • 48. Model-based 협업 필터링 : ALS MF EXO BigBang Alice 2PM v Jane v Carol v Kim v v v
  • 49. Model-based 협업 필터링 : ALS MF Alice 갑바 Jane Carol Kim 와꾸
  • 50. Model-based 협업 필터링 : ALS MF n k n m P = m X • k Y’
  • 51. Model-based 협업 필터링 : ALS MF 순서대로 업데이트 하고 병렬화 하자 !  Reduce user-item matrix to 1 and 0 = P  ⌃ Factor as approximate P ≈ X•Y’ = P by ⌃  Start with random Y  Compute X so that X•Y best matches P (Frobenius / L2 norm)  (Alternating) Repeat for Y  Iterate ⌃  (Least Squares) Large values in P are good recommendations
  • 52. Model-based 협업 필터링 : ALS MF Binary로 변환 1 4 3 1 1 1 0 0 3 0 0 1 0 0 2 0 1 0 1 1 3 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 4 5 3 2 5 2 4 P
  • 53. Model-based 협업 필터링 : ALS MF k = 3, λ=0.1, α=40 1 iteration 1 1 1 0 0 0.36 0.06 -0.31 2.83 3.02 2.95 1.51 1.71 0 0 1 0 0 0.35 0.1 -0.29 -0.09 0.13 0.06 -0.05 0.2 0 1 0 1 1 0.24 0.21 0.78 0.22 0.3 0.23 0.8 0.65 1 0 1 0 1 0.27 -0.29 0.95 0 0 0 1 0 -0.16 1.24 1.62 1 1 0 0 0 0.39 -0.21 -0.48 ≈ Y’ X
  • 54. Model-based 협업 필터링 : ALS MF k = 3, λ=0.1, α=40 1 iteration 1 1 1 0 0 0.95 1 1 0.29 0.43 0 0 1 0 0 0.93 0.99 0.99 0.3 0.44 0 1 0 1 1 0.83 0.99 0.9 0.98 0.95 1 0 1 0 1 1 1.06 0.99 1.18 1.01 0 0 0 1 0 -0.2 0.18 -0.02 1 1.02 1 1 0 0 0 1 0.99 1.01 0.21 0.31 ≈ X•Y’
  • 55. Model-based 협업 필터링 : ALS MF k = 3, λ=0.1, α=40 10 iterations 1 1 1 0 0 0.98 0.99 1 -0.28 0.34 0 0 1 0 0 0.07 0.46 1 0.14 -0.23 0 1 0 1 1 0.24 0.99 0.71 1 1 1 0 1 0 1 1 1.32 0.98 0.3 0.99 0 0 0 1 0 -0.53 0.14 0.07 1 0.43 1 1 0 0 0 0.99 1 0.76 -0.13 0.63 ≈ X•Y’
  • 57. Model-based 협업 필터링 : LDA  Parameters     Num of Topic : 100 Num of Vocab : 10784 Num of Iteration : 30 Method of Sampling : Gibbs Sampling, Variational Bayes
  • 58. Model-based : Restricted Boltzman Machine
  • 59. CF는 이게 문제  데이터가 커서 메모리 많이 먹음 - Scalability – Netflix (2007): 5M users, 50K movies, 1.4B ratings  평가 잘 안해줌 - Sparseness – I have rated only one book at Amazon!  첨에는 뭐줌? - Cold-Start – New users and items do not have history  안보면 대화에 못낌 - Popularity bias – Everyone reads “Harry Potter”  참신한 님들이 있음 - Hacking – Someone reads “Harry Potter” reads “Karma Sutra”
  • 60. 추천에 대한 설명… 좀 많음  요즘 이게 대세임…  이 감독의 다른 작품임 …  비슷한 가수의 다른 노래임 …  너하고 비슷한 사람들이 좋아함 …  니가 그걸 들었으니 이건 어때요 …  이거 두 개가 같이 팔리더라고 …  당신 동네에선 이게 잘나가 …  이게 별점이 최고 …  이게 신상임 …
  • 61. 평가 지표… 좀 더 많음  사용자 만족 - User Satisfaction  예측 정확도 - Prediction Accuracy  추천 범위 - Coverage  추천 다양성 - Diversity  참신성 - Novelty  의외성 -Serendipity  신뢰성 - Trust  강건성 - Robustness  실시간성 - Real-time  적시성 - Timelineness
  • 62. 더 고민해야 되는 것들… 아놔  사용자 학습 - User Expertise Modeling  사용자 편향 유도 – Filter Bubble  복합 사용자 경험- Hybrid Discovery Experience  컨텍스트 인식 – Context Awareness  평생 동반자 – Age Progression, Life-Stage Tracking  가격 민감성 – Free? Paid? Freemium?  극과극의 반응 – ‘Napoleon Dynamite’ Problem.
  • 64. ACM RecSys 2013@Hong Kong 학회 모습