11. 10
첫째, Collaborative Filtering?
대표적인 추천 방법 두 가지
collaborative filtering contents-based filtering
장점: 개인 선호도 반영
단점: 확장성이 떨어짐
장점: 확장성이 좋음
단점: 개인 선호도 미반영
12. 11
첫째, Collaborative Filtering?
CF 발전에 크게 기여한 대회
– Netflix Prize (2006년~2009년)
• DVD 대여 업체로 유명한 Netflix에서 개최
• Cinematch 알고리즘 보다 10% 이상 개선된 알고리즘을 제출한
팀에게 상금 100만 달러를 수여
Netflix Prize에서 사용된 CF알고리즘
– Matrix Factorization, Regression, Ensemble Methods, RBM 등
13. 12
둘째, Implicit Feedback Data?
추천 Data Type 2가지..
– Explicit Feedback Data
– Implicit Feedback Data
17. 16
둘째, Implicit Feedback Data?
Explicit, Implicit Data를 visualization하면?
1 1 -1 -1
A B C D E F G H I
좋아요 좋아요 싫어요 싫어요
1 1 1 1 1 1
A B F G H I
missing data
봤음 봤음 봤음 봤음 봤음 봤음
C D E
Explicit
Implicit
18. 17
Deep Learning 추천 시스템
아래의 순서로 설명 드리겠습니다.
RBM(Restricted Boltzmann Machine)
DBN(Deep Belief Network)
DBN 추천 시스템
19. 18
Deep Learning 추천 시스템
결론만 살짝 살펴보기
– DBN추천 시스템이 어떻게 구성되는지 설명
0
0
0
1
1 0.9
0.9
0
0.1
0.9
DBN 추천 시스템
input output
RBM model DBN model
20. 19
RBM(Restricted Boltzmann Machine)
RBM 모델
– visible units, hidden units, weight, bias로 구성됨
Bias
BiasHidden units
Visible units
Weights
- 혹시, RBM의 수식에 대해 자세히 알고 싶으신 분들에게 Learning Multiple Layers of Features from Tiny Images 논문을 추천 드립니다.
21. 20
DBN(Deep Belief Network)
DBN 모델
– RBM을 여러 개 쌓은 network
Hidden units
Visible units
Weights
Hidden units
RBM model 1
RBM model 2
Weights
22. 21
추천 시스템 구성 방법
추천 시스템을 구성하는 방법 설명
- RBM모델 => RBM 추천 시스템
- DBN모델 => DBN 추천 시스템
23. 22
RBM 추천 시스템 구성하기
RBM의 복원기술을 활용하여 추천 시스템을 구성할 수 있음
0
0.1
0
0.2
0
0.9
1
0.1
1 0.9
0.9
0
0.1
0.9
input output
복원(Reconstruction)
- visible에서 hidden을 구하고,
다시 hidden에서 visible을 구하는 것
24. 23
0
0
0
1
1 0.9
0.9
0
0.1
0.9
RBM 추천 시스템
input output
RBM 추천 시스템 구성하기
RBM의 복원기술을 활용하여 추천 시스템을 구성할 수 있음
복원(Reconstruction)
- visible에서 hidden을 구하고,
다시 hidden에서 visible을 구하는 것
25. 24
DBN 추천 시스템 구성하기
0
0.1
0
0.2
0
0.9
1
0.1
1
input
0.1
0.2
0.9
0.1
0.9
0.9
0
0.1
0.9
output
0.7
0.1
0.3
비슷하게 DBN 추천 시스템을 구성 할 수 있음
복원(Reconstruction)
- visible에서 hidden을 구하고,
다시 hidden에서 visible을 구하는 것
26. 25
DBN 추천 시스템 구성하기
비슷하게 DBN 추천 시스템을 구성 할 수 있음
복원(Reconstruction)
- visible에서 hidden을 구하고,
다시 hidden에서 visible을 구하는 것
0
0
0
1
1 0.9
0.9
0
0.1
0.9
DBN 추천 시스템
input output
27. 26
DBN 추천 시스템 구성하기
DBN 추천 시스템
– USER data를 입력 받아, 추천 결과를 출력하는 시스템
특성
– USER Data 일부분으로, 나머지 Data를 예측할 수 있음
0
0
0
1
1 0.9
0.9
0
0.1
0.9
DBN 추천 시스템
input output
해운대
남해
해수욕장
남이섬
대천
해수욕장
안면도
28. 27
DBN 추천 시스템 구성하기
USER Data의 나머지는 어떻게 예측될까?
– DBN 추천 시스템은 input과 유사한 패턴을 output
0
0
0
1
1 0.9
0.9
0
0.1
0.9
DBN 추천 시스템
input output
해운대
남해
해수욕장
남이섬
대천
해수욕장
안면도
29. 28
DBN 추천 시스템 구성하기
0
0
0
1
1 0.9
0.9
0
0.1
0.9
DBN 추천 시스템
input output
DBN 추천 시스템의 패턴은 어떻게 만들어 지는가?
– training을 통해 data의 패턴들을 모델링
1 1 0 0 1
0 1 0 0 1
0 1 1 1 0
training data
USER들이 방문한 장소 data
user0
user1
user2
해운대
남해
해수욕장
남이섬
대천
해수욕장
안면도
30. 29
=> DBN 추천 시스템 + Tmap data
Deep Learning 여행지 추천 시스템
0
0
1
1 0.9
0.9
0.1
0.9
DBN 추천
시스템
input output Tmap data
…
…
30,000
CF(collaborative filtering) Implicit data
USER가 방문했던 장소를 1로 구성 USER에게 추천장소
해운대
남해
해수욕장
남이섬
대천
해수욕장
31. 30
Deep Learning 여행지 추천 시스템
Tmap data
– 개인식별 정보가 제거된 빅데이터 자료
– sparseness: 99.89%
1 0 1 0 0 1
0 …POI id: 1 29,99929,998
…
0 1 0 0 0 0…
1 0 0 1 0 1…
10만명 (예시)
30,000 개 (예시)
USER0
USER1
… …
USERX
…
- 개인식별 정보가 제거된 빅데이터 자료
32. 31
Deep Learning 여행지 추천 시스템
개발 사양
– C++ / MFC 다이얼로그 기반 응용 프로그램
– CUDA 6.5
– OpenCV
– GPU기반 Deep Learning 알고리즘 자체 구현
훈련에 사용된 GPU 사양
– GeForce GTX Titan Black(GK110)
• CUDA Core 2880개, 6GB memory
47. 46
특정 집단(?)
- 예: 방송 관련 집단 (Input에서 방송국은 1, 그 외는 모두 0)
- 예: 성당 관련 집단 (Input에서 성당은 1, 그 외는 모두 0)
특정 집단이 많이 방문한 장소 분석
특정 집단이 많이 방문한 장소?
- 예를 들어 방송 관련 집단이면
=> 방송 관련 빌딩
=> 이슈가 된 장소(진도항, 광주공항)
48. 47
특정 집단이 많이 방문한 장소 분석
1
0
1
0 0.2
0.5
0.7
0.3
DBN 추천 시스템
input output
…
…
0.9
0.7
0.3
0.2
빛마루
진도항
0
0.5
0.9
분석방법?
- 임의의 input을 생성
방송국
57. 56
Deep Learning 여행지 추천 성능
성능 비교(MRR:Mean Reciprocal Rank)
data / algorithm CliMF(2012) SGDReg(2013) DBN
epinions dataset 0.285 0.4549 0.50
Tmap dataset - 0.3469 0.3624
SGDReg(Slim Gradient Descent Regression) 알고리즘
1.Efficient Top-N Recommendation by Linear Regression, Recsys 2013
1. binary data의 collaborative filtering 종류의 논문들 중 최고의 성능을
보이고 있음
2. github에 mrec이라는 프로젝트로 소스코드가 공개돼 있음
3. Mark Levy(Mendeley.com)외 1인
CliMF(Collaborative Less-is-More Filtering) 알고리즘
1.Climf: learning to maximize reciprocal rank with collaborative less-is-more
filtering, Recsys 2012
1.네덜런드 델프트 공대 연구실의 Yue Shi가 개발.
2.python 기반 오픈소스가 공개돼 있어서 접근성이 좋음.
3.CLiMF논문에서 수행한 실험결과는 신뢰 할만함.
4.CLiMF논문에서 비교에 사용한 알고리즘들은 인지도가 있는 것들임.
1. Collaborative filtering for implicit feed back(ICDM '08, 2008), 인
용횟수 429회(구글 학술검색), AT&T Labs, Yahoo.
2. BPR: Bayesian personalized ranking from implicit feedback, 인
용횟수 284회
5. 논문에서 사용된 epinions dataset은 다른 추천 알고리즘들에서 사용
되고 있음.
1. CoFiSet: Collaborative Filtering via Learning Pairwise
Preferences over Item-sets(2013)
2. Efficient Top-N Recommendation by Linear Regression(2013)
58. 57
결론
DBN(Deep Belief Network) 추천 시스템
– Collaborative Filtering 알고리즘으로 사용
– training data로 Tmap data(Implicit data)를 사용
DBN 추천 시스템의 추천 성능
– USER의 취향을 반영한 추천이 가능함
– 특정 집단이 방문한 장소의 분석이 가능함
59. 58
향후 개선 방안
Contents-based Filtering 방법 적용
– CF(Collaborative Filtering)의 확장성 약점 보완
Explicit Feedback Data도 활용할 수 있도록 알고리즘 개선
공개된 다른 dataset에 대한 추가 실험