SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Item 간 similarity를 이용하여 사용자의 평점을 예측
Item 당 평점이 많을수록 similarity 존재 확률 상승
𝐴 = (0.3 × 3 + 0.6 × 5) 0.3 + 0.6 = 4.33
𝐵 = (0.5 × 2 + 0.6 × 4) 0.5 + 0.6 = 3.09
𝐴 = (0 × 2 + 0.6 × 5) 0.6 = 5
𝐵 = (0 × 4 + 0 × 2 + 0.3 × 3) 0.3 = 3
User 간 similarity를 이용하여 사용자의 평점을 예측
User 당 평점이 많을수록 similarity 존재 확률 상승
5 2 3
2 4
A 3 5
B 2 4
3 1
0.5
0.3
0.6
• User based CF
0.6
5 2 3
2 4
A B 3 5
2 4
3 1
00
0.3
• Item based CF
새로운 회원 가입했을 경우 새로운 상품 출시했을 경우
기존
상품에
대한
평점 입력
X
Popularity-based CF
(≒기존 인기 상품 추천 방식)
다른
회원들의
평점 입력
X
Contents-based recommendation
(상품별 feature 추출 필요)
O
User-based CF
Item-based CF
(예측 평점 4 이상의 상품 추천)
O
User-based CF
Item-based CF
(예측 평점 4 이상의 상품 추천)
: 가능 : 불가능
5 3
2 4
5
4
1
평점 참여 회원 수 : 32,569 명
상품 수 : 1,030 개
(오래된 상품 자동 삭제)
평점 후기 수 : 153,803 개
(약 0.45 % 작성 됨)
상품과 회원의 각각 5%를
test set으로 설정
• Cosine
cos 𝜃 =
𝑋 ∙ 𝑌
𝑋 𝑌
𝐽 𝑋, 𝑌 =
min⁡( 𝑥𝑖⁡, 𝑦𝑖)𝑖
max⁡( 𝑥𝑖⁡, 𝑦𝑖)𝑖
𝐼𝑓⁡𝑋 = 𝑥1⁡, 𝑥2⁡, ⋯ , 𝑥 𝑛 ⁡𝑎𝑛𝑑⁡𝑌 = 𝑦1⁡, 𝑦2⁡, ⋯ , 𝑦 𝑛 ⁡의⁡𝑣𝑒𝑐𝑡𝑜𝑟라⁡하면
𝑟 =
(𝑥𝑖 − 𝑥)(𝑦𝑖 − 𝑦)𝑖
(𝑥𝑖 − 𝑥)2
𝑖 (𝑦𝑖 − 𝑦)2
𝑖
𝑥⁡, 𝑦⁡𝑖𝑠⁡𝑠𝑎𝑚𝑝𝑙𝑒⁡𝑚𝑒𝑎𝑛
• Jaccard • Pearson
 Similarity between items 의 값이 매우 작게 나옴.
• 상품 수에 비해 회원 수가 30배 가량 많아 값이 작아진 것으로 보임.
 Pearson은 대부분 음수가 나와 활용이 어려움.
• 데이터의 공백이 많아서 음수가 나온 것으로 보임.
 AWS에서 Crawling시 간헐적으로 느려짐.
→ request 사이에 random timesleep 적용
 Similarity between users 가 5억개 이상으로 RDB에 무리를 줄 수 있음.
→ NoSQL을 활용
 Similarity between users 계산 시간이 오래 걸림.
→ tmux를 활용한 Multi-process 구현
 개별 Data load후 작업할 시 오래 걸림
→ ORM을 최대 활용하여 DB에서 작업 후 load
 Precision 값이 매우 떨어짐.
→ Similarity에 Threshold(임계값)를 적용
5 3
2 4
5
4
1
5 3
2 4
5
A
B
𝑀𝐴𝐸 =
𝑝𝑖 − 𝑞𝑖
𝑁
𝑖=1
𝑁
=
4 − 𝐴 + 1 − 𝐵
2
• 실제 값(p) • 예측 값(q)
• Popularity based CF에서 MAE의 값이 매우 낮게(좋게) 나옴.
회원이 실제로
구매한 상품
시스템이
추천한 상품
 Recall
• 실제로 사용자가 좋아하는 상품을 추천한 비율
• Ex. 추천한 4개중 2개를 실제로 구매했으므로
2
4
 Precision
• 추천한 상품 중 사용자가 실제로 좋아하는 비율
• Ex. 실제 구매한 5개 중 2개만 추천 받았으므로
2
5
 결과표
 모든 상품을 추천하면 Recall은 올라가지만 Precision이 낮아진다.
 Recall과 Precision 값 모두 커야 추천의 의미가 있다.
 Popularity-based CF는 거의 모든 상품을 추천해주고 있기 때문에 Recall이 1이
나온 반면 Precision이 매우 낮음.
 Jaccard Similarity에 Threshold를 적용한 Item-based CF를 사용하여 기존의
Popularity-based CF보다 Recall은 낮아졌지만 Precision이 매우 높아져 추천의
정확도가 높아짐
Popularity
based
User based(cosine) Item based (Jaccard)
Threshold = 0.5 Threshold = 0 Threshold = 0.1 Threshold = 0
Recall (≤ 1) 1.0 0.7241 1.0 0.6552 0.9655
Precision (≤ 1) 0.0749 0.1680 0.0803 0..3654 0.0743
.
.
 모든 사용자가 모든 상품에 후기를 작성하지 않으며(0.45% is filled) CF의 특성상
공백 데이터는 모두 0점으로 간주하여 공백 데이터가 추천의 정확도를 떨어뜨림.
 사용자 ID의 뒤 네 글자가 *로 표시(ex. a****)되어 크롤링 시 소수의 중복 데이터
발생 가능.
 실제 사용자의 구매이력을 데이터로 활용한다면 정확도가 매우 높아질 것으로 예상.
개인맞춤 패션 쇼핑몰 상품 추천 시스템

Weitere ähnliche Inhalte

Ähnlich wie 개인맞춤 패션 쇼핑몰 상품 추천 시스템

아마존 닷컴의 클라우드 활용 사례 - AWS Summit Seoul 2017
아마존 닷컴의 클라우드 활용 사례 - AWS Summit Seoul 2017아마존 닷컴의 클라우드 활용 사례 - AWS Summit Seoul 2017
아마존 닷컴의 클라우드 활용 사례 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
AWS 클라우드 비용 최적화를 위한 모범 사례-AWS Summit Seoul 2017
AWS 클라우드 비용 최적화를 위한 모범 사례-AWS Summit Seoul 2017AWS 클라우드 비용 최적화를 위한 모범 사례-AWS Summit Seoul 2017
AWS 클라우드 비용 최적화를 위한 모범 사례-AWS Summit Seoul 2017
Amazon Web Services Korea
 

Ähnlich wie 개인맞춤 패션 쇼핑몰 상품 추천 시스템 (14)

NDC17 장창완(최종)
NDC17 장창완(최종)NDC17 장창완(최종)
NDC17 장창완(최종)
 
아마존 닷컴의 클라우드 활용 사례 - AWS Summit Seoul 2017
아마존 닷컴의 클라우드 활용 사례 - AWS Summit Seoul 2017아마존 닷컴의 클라우드 활용 사례 - AWS Summit Seoul 2017
아마존 닷컴의 클라우드 활용 사례 - AWS Summit Seoul 2017
 
AWS 클라우드 비용 최적화를 위한 모범 사례-AWS Summit Seoul 2017
AWS 클라우드 비용 최적화를 위한 모범 사례-AWS Summit Seoul 2017AWS 클라우드 비용 최적화를 위한 모범 사례-AWS Summit Seoul 2017
AWS 클라우드 비용 최적화를 위한 모범 사례-AWS Summit Seoul 2017
 
스타트업처럼 토이프로젝트하기
스타트업처럼 토이프로젝트하기스타트업처럼 토이프로젝트하기
스타트업처럼 토이프로젝트하기
 
Recommendatioin system basic
Recommendatioin system basicRecommendatioin system basic
Recommendatioin system basic
 
[시스템종합설계].pptx
[시스템종합설계].pptx[시스템종합설계].pptx
[시스템종합설계].pptx
 
정보검색과 Elasticsearch (크몽)
정보검색과 Elasticsearch (크몽)정보검색과 Elasticsearch (크몽)
정보검색과 Elasticsearch (크몽)
 
Key-Value Store를 사용한 대용량 게임 통계 : WoW 경매장 분석 서비스 wowz.kr를 사례로
Key-Value Store를 사용한 대용량 게임 통계: WoW 경매장 분석 서비스 wowz.kr를 사례로Key-Value Store를 사용한 대용량 게임 통계: WoW 경매장 분석 서비스 wowz.kr를 사례로
Key-Value Store를 사용한 대용량 게임 통계 : WoW 경매장 분석 서비스 wowz.kr를 사례로
 
AWS 첫 번째 프로젝트 시작하기 :: 노경훈 :: AWS Summit Seoul 2016
AWS 첫 번째 프로젝트 시작하기 :: 노경훈 :: AWS Summit Seoul 2016AWS 첫 번째 프로젝트 시작하기 :: 노경훈 :: AWS Summit Seoul 2016
AWS 첫 번째 프로젝트 시작하기 :: 노경훈 :: AWS Summit Seoul 2016
 
인공지능추천시스템 airs개발기_모델링과시스템
인공지능추천시스템 airs개발기_모델링과시스템인공지능추천시스템 airs개발기_모델링과시스템
인공지능추천시스템 airs개발기_모델링과시스템
 
kaggle hm fashion recsys pjct 발표 자료.pptx
kaggle hm fashion recsys pjct 발표 자료.pptxkaggle hm fashion recsys pjct 발표 자료.pptx
kaggle hm fashion recsys pjct 발표 자료.pptx
 
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...
 
제10회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 밑바닥부터 시작하는 trivago 추천시스템
제10회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 밑바닥부터 시작하는 trivago 추천시스템제10회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 밑바닥부터 시작하는 trivago 추천시스템
제10회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 밑바닥부터 시작하는 trivago 추천시스템
 
AWS Innovate: Best Practices for Migrating to Amazon DynamoDB - Sangpil Kim
AWS Innovate: Best Practices for Migrating to Amazon DynamoDB - Sangpil KimAWS Innovate: Best Practices for Migrating to Amazon DynamoDB - Sangpil Kim
AWS Innovate: Best Practices for Migrating to Amazon DynamoDB - Sangpil Kim
 

개인맞춤 패션 쇼핑몰 상품 추천 시스템

  • 1.
  • 2.
  • 3.
  • 4. Item 간 similarity를 이용하여 사용자의 평점을 예측 Item 당 평점이 많을수록 similarity 존재 확률 상승 𝐴 = (0.3 × 3 + 0.6 × 5) 0.3 + 0.6 = 4.33 𝐵 = (0.5 × 2 + 0.6 × 4) 0.5 + 0.6 = 3.09 𝐴 = (0 × 2 + 0.6 × 5) 0.6 = 5 𝐵 = (0 × 4 + 0 × 2 + 0.3 × 3) 0.3 = 3 User 간 similarity를 이용하여 사용자의 평점을 예측 User 당 평점이 많을수록 similarity 존재 확률 상승 5 2 3 2 4 A 3 5 B 2 4 3 1 0.5 0.3 0.6 • User based CF 0.6 5 2 3 2 4 A B 3 5 2 4 3 1 00 0.3 • Item based CF
  • 5. 새로운 회원 가입했을 경우 새로운 상품 출시했을 경우 기존 상품에 대한 평점 입력 X Popularity-based CF (≒기존 인기 상품 추천 방식) 다른 회원들의 평점 입력 X Contents-based recommendation (상품별 feature 추출 필요) O User-based CF Item-based CF (예측 평점 4 이상의 상품 추천) O User-based CF Item-based CF (예측 평점 4 이상의 상품 추천) : 가능 : 불가능
  • 6.
  • 7.
  • 8.
  • 9. 5 3 2 4 5 4 1 평점 참여 회원 수 : 32,569 명 상품 수 : 1,030 개 (오래된 상품 자동 삭제) 평점 후기 수 : 153,803 개 (약 0.45 % 작성 됨) 상품과 회원의 각각 5%를 test set으로 설정
  • 10. • Cosine cos 𝜃 = 𝑋 ∙ 𝑌 𝑋 𝑌 𝐽 𝑋, 𝑌 = min⁡( 𝑥𝑖⁡, 𝑦𝑖)𝑖 max⁡( 𝑥𝑖⁡, 𝑦𝑖)𝑖 𝐼𝑓⁡𝑋 = 𝑥1⁡, 𝑥2⁡, ⋯ , 𝑥 𝑛 ⁡𝑎𝑛𝑑⁡𝑌 = 𝑦1⁡, 𝑦2⁡, ⋯ , 𝑦 𝑛 ⁡의⁡𝑣𝑒𝑐𝑡𝑜𝑟라⁡하면 𝑟 = (𝑥𝑖 − 𝑥)(𝑦𝑖 − 𝑦)𝑖 (𝑥𝑖 − 𝑥)2 𝑖 (𝑦𝑖 − 𝑦)2 𝑖 𝑥⁡, 𝑦⁡𝑖𝑠⁡𝑠𝑎𝑚𝑝𝑙𝑒⁡𝑚𝑒𝑎𝑛 • Jaccard • Pearson  Similarity between items 의 값이 매우 작게 나옴. • 상품 수에 비해 회원 수가 30배 가량 많아 값이 작아진 것으로 보임.  Pearson은 대부분 음수가 나와 활용이 어려움. • 데이터의 공백이 많아서 음수가 나온 것으로 보임.
  • 11.  AWS에서 Crawling시 간헐적으로 느려짐. → request 사이에 random timesleep 적용  Similarity between users 가 5억개 이상으로 RDB에 무리를 줄 수 있음. → NoSQL을 활용  Similarity between users 계산 시간이 오래 걸림. → tmux를 활용한 Multi-process 구현  개별 Data load후 작업할 시 오래 걸림 → ORM을 최대 활용하여 DB에서 작업 후 load  Precision 값이 매우 떨어짐. → Similarity에 Threshold(임계값)를 적용
  • 12. 5 3 2 4 5 4 1 5 3 2 4 5 A B 𝑀𝐴𝐸 = 𝑝𝑖 − 𝑞𝑖 𝑁 𝑖=1 𝑁 = 4 − 𝐴 + 1 − 𝐵 2 • 실제 값(p) • 예측 값(q) • Popularity based CF에서 MAE의 값이 매우 낮게(좋게) 나옴.
  • 13. 회원이 실제로 구매한 상품 시스템이 추천한 상품  Recall • 실제로 사용자가 좋아하는 상품을 추천한 비율 • Ex. 추천한 4개중 2개를 실제로 구매했으므로 2 4  Precision • 추천한 상품 중 사용자가 실제로 좋아하는 비율 • Ex. 실제 구매한 5개 중 2개만 추천 받았으므로 2 5
  • 14.  결과표  모든 상품을 추천하면 Recall은 올라가지만 Precision이 낮아진다.  Recall과 Precision 값 모두 커야 추천의 의미가 있다.  Popularity-based CF는 거의 모든 상품을 추천해주고 있기 때문에 Recall이 1이 나온 반면 Precision이 매우 낮음.  Jaccard Similarity에 Threshold를 적용한 Item-based CF를 사용하여 기존의 Popularity-based CF보다 Recall은 낮아졌지만 Precision이 매우 높아져 추천의 정확도가 높아짐 Popularity based User based(cosine) Item based (Jaccard) Threshold = 0.5 Threshold = 0 Threshold = 0.1 Threshold = 0 Recall (≤ 1) 1.0 0.7241 1.0 0.6552 0.9655 Precision (≤ 1) 0.0749 0.1680 0.0803 0..3654 0.0743 .
  • 15. .  모든 사용자가 모든 상품에 후기를 작성하지 않으며(0.45% is filled) CF의 특성상 공백 데이터는 모두 0점으로 간주하여 공백 데이터가 추천의 정확도를 떨어뜨림.  사용자 ID의 뒤 네 글자가 *로 표시(ex. a****)되어 크롤링 시 소수의 중복 데이터 발생 가능.  실제 사용자의 구매이력을 데이터로 활용한다면 정확도가 매우 높아질 것으로 예상.