SlideShare a Scribd company logo
1 of 28
Download to read offline
발표자: 김규철
Demand (long tail)
- often higher-end & margin
- more profit
Advancement of digital channels
- online services with (almost) infinite assortsments
- reach out to more consumers (e.g. Amazon)
need for powerful product discovery
services was one of the main drivers
behind the development of
recommender systems
Search Recommendation
- Formalized intent - Difficult to translate into formal criteria
(e.g. taste of music)
- Unaware / forget / doubt ( e.g. need
special lenses for photographer)
- Score products according to query - Guess the purchasing intent
- Based on product ratings, purchase
history
Query-Product similarity score - User similarities
- Product similarities
- Context similarities (e.g. season)
5.1 Environment
customer ratings are available for catalog items
- provided by customer (explicit)
- derived from behavioral data (implicit)
- capture customer feedback on items (not recommendations)
5.1 Environment
5.1.1 Properties of Customer Ratings
R = (rij ) rij : user i의 상품j에 대한 평점
Rm x n m users & n items -> usually numerical values
Rating
• ordinal: 사용자가 숫자로 입력
• unary: 사용자와의 상호작용을 기록 (암묵적 피드백)
Rating 특징
• ordinal rating이 암묵적 피드백 포함: 관심 없는 제품은 평가 안 남김
• Sparsity(희박함)
• 카탈로그 중 극히 일부만 평가
• 분포는 롱테일 성격 (니치 제품의 평가 희박)
5.2 Business Objectives
• 적합성relevance : 적합 = 고객이 살 것 같은 or 고객이 높은 평점을 줄 것 같은
• 참신함novelty: 추천 시스템은 사용자에게 알려지지 않았던 옵션을 알려줘야 함
• 우연성serendipity: e.g. 다른 카테고리의 추천
• 다양성diversity: 추천리스트 내 비슷한 상품들만 있으면 안됨.
추천 문제는 분류 또는 회귀 문제와 비슷함.
목표: 알려진 레이팅을 이용해 모델을 훈련시켜서 알려지지 않은 레이팅을 예측.
-> 부분적으로 관찰된 행렬의 비어있는 공간을 채우는 작업은 matrix completion 으로 알려짐.
• matrix completion 문제에서는 row-wise하게 train/test/validation을 나누지 않음.
• 즉, 한 그룹의 사용자에 의해 훈련되고 다른 사용자에 의해 검증 되는 것이 잘 먹히지 않는다.
• 대신, 각 원소별로 sampling 됨. 알려진 레이팅의 일부가 원래 레이팅 행렬에서 제거되 훈련됨.
prediction model
matrix completion
5.2 Quality Evaluation
5.2 Quality Evaluation
• 예측 오류 pointwise prediction errors
• Mean Squared Error
• Root MSE: original rating과 비교 용이
• Normalized RMSE: [0,1]로 정규화
RMSE & Pointwise Prediction의 단점
• 롱테일 부분의 아이템에 대해서는 희박한 rating. niche item prediction error가 큰 반면, 단순평균 Error
• RMSE는 추천의 시간적 특징 (temporal 특징)을 파악하지 못함 -> 훈련데이터에 좀더 오래된 데이터를 포함하
고, 테스트 데이터에 최근 데이터를 포함하도록 레이팅 데이터 R로 부터 선택
• RMSE는 추천을 보여주는 rankin에 대한 평가X
ruj 사용자 u의 상품 j에 대한 rating
R: 관찰된 데이터 전체
T: test set
5.2 Quality Evaluation
Ranking 정확도
검색 서비스에서 사용했던 지표를 가져다 쓸 수 있다.
1. 정밀도-재현율 곡선
2. 그 외 nDCG, MAP 등 비슷하게 고쳐서 쓸 수 있음.
Yu : 사용자 u에게 추천된 상품
Iu : 사용자 u에 의해 긍정적으로 평가된 상품
K: 사용자에게 추천된 최상위 K개상품
- 리스트 안의 적합한 추천의 비율
- 적합한 아이템 들 중 추천된 비율
5.3 Overview of Recommendation Methods
참신성
추천이 제공될 시점에 사용자가 추천된 아이템을 알지 못했다면 추천은 참신한 것으로 간주됨.
레이팅 행렬로 부터 추론.
• 먼 미래에 랭크되거나 구매된 아이템을 예측할수록 높은 참신성
• 바로 구매된 아이템은 사용자에게 알려질 가능성이 보다 높기 때문
• 먼 미래의 정확한 예측을 보상하고, 가까운 미래의 예측을 처벌하는 시간별 가중 값으로 사용
우연성
추천이 사용자에게 매력적인 동시에 놀라운 정도를 보여주는 지표
-> 추천리스테에서 적합한 아이템의 비율을 갖고 추천시스템을 평가.
다양성
비슷하지 않은 아이템으로 구성된 추천리스트를 생산하는 능력.
추천 리스트내 상품들의 유사성 지표에 대한 평균 거리의 역을 취해서 측정 가능.
적용 범위
we might be interested in tracking the reliability of predicted ratings (the probability that the estimated value is accurate) and
assessing the trade-off between the coverage and accuracy by excluding users or items with the least reliable rating estimates
from the accuracy evaluation.
m: 사용자 수
I(.): 아이템이 Yu에 속하지만 베이스라인에 속하지 않을
경우 참인 인디케이터 함수.
5.3 Overview of Recommendation Methods
적용 범위
we might be interested in tracking the reliability of predicted ratings (the probability that the estimated value is accurate) and
assessing the trade-off between the coverage and accuracy by excluding users or items with the least reliable rating estimates
from the accuracy evaluation.
실험의 역할
품질 측정 != 재무적 성과
둘의 관계는 실제적 실험, 다변량 테스트, 업리프트 측정으로 확립
m: 사용자 수
적어도 한가지 추천 리스트에 등장하는 아이템의 비율.
5.3 Overview of Recommendation Methods
예측 모델과 입력에 따른 구분 사용 시나리오에 따라 구분
콘텐츠기반/협업 필터링
5.5 Content-based Filtering
콘텐츠 기반 필터링
• 카탈로그 데이터에 기반
• 추천이 준비되는 사용자의 프로파일만 사용
• 사용자가 과거에 긍정적으로 평가했던 아이템을 선택하고 그 아이템과 비슷한 다른 아이템을 추천
Generalized Profile modelNearest neighbor model
5.5 Content-based Filtering
장점 단점
• 사용자 독립: 전체 시스템 사용자가 적을 때
유리, 독특한 취향을 가진 사용자에게 추천
유리
• 새롭고 희귀한 아이템: 레이팅이 거의 없는
새롭거나 희귀한 아이템의 추천. 롱테일 맥락
에서 중요.
• 다른 카테고리 추천
• 카탈로그 데이터의 사용
• 해석 가능성
• 특성 엔지니어링: 예측 품질은 카탈로그 데이
터와 특징 디자인의 품질과 완전성에 좌우.
• 신규 사용자: 프로파일이 비어있는 새로운 사
용자에게 추천 못함
• 사소한 추천: 참신하거나 우연적이지 않은 추
천을 한다는 것. (e.g. 같은 시리즈의 다른 책
을 추천)
kNN
iu : 사용자 u에 의해 평가된 아이템의 집합
dj: 각 아이템 j를 표현한 문헌 ( -> Du 와 Iu 대응)
di에 가장 높은 유사성을 갖고 있는 Du 안의 k 문헌
아이템에 대한 사용자 레이팅은 최근접 이웃들의 평균 레이팅으로 예측.
단순 평균이 아닌, 유사도를 곱한 가중평균 가능.
유사성 지표는 벡터 스페이스 모델을 사용. e.g. TF-IDF / LSA, LDA 모델
사용 가능.
5.5 Content-based Filtering
나이브 베이즈 분류기
한계: 사용자의 낮은 평점이, 콘텐츠 자체의 적합성과 관련한 것인지, 아니면 품질과 관련된 것인지 구분을 할 수 없
다. (e.g. healthcar라는 단어의 rank가 낮게 측정된 것이 주제에 관심 없어서인지, 혹은 특정 책의 품질이 안좋아서
였는지)
콘텐츠 필터링을 위한 특성 엔지니어링
다른 카테고리 간 추천을 하기 어려움:
• 제품 속성의 레이아웃은 카테고리 따라 달라지므로, 다른 카테고리 간의 아이템 유사성 지표 정의하기 어려움
• 심리적인 속성이 도움이 된다. -> 제품명, 설명, 고객 리뷰 같은 텍스트 제품 속성은 제품의 심리적 속성에 대한
암시적 신호. (e.g. 스타일리시, 섹시, 럭셔리)
암시적인 심리적 특징을 뽑아내는 기법
1. 제품 특징의 집합을 정의
2. 아이템 부분집합에 대해 텍스트 이
외의 속성을 기반으로 feature name
붙이기. -> 심리적 레이블을 예측하
는 분류 모델을 훈련
3. 나머지 아이템들은 분류 모델에 의
해 자동으로 feature name tagging
5.6 Intro to Collaborative Filtering
콘텐츠 기반 필터링 단점
• 인간의 취향은 기본적인 제품 속성으로 표현하기 어려움
-> 많은 제품 태깅, 특징 엔지니어링이 필요
• 레이팅 행렬이 주는 고객 취향과 판단에 대한 정보를 활용x
협업 필터링 유래
1992 제록스 PARC에서 개발된 뉴스와 아티클 추천 시스템인 Tapastry 개발자들에 의해 창시
• 사용자들이 뉴스 메일에 대한 피드백을 제공하고
• 다른 사용자들의 피드백에 기반을 두고 들어오는 메일의 우선순위를 필터 가능했음.
현재 협업 필터링의 의미
• 레이팅 행렬 안의 정보에 기반을 둔 레이팅 예측 -> 행렬 완성 문제
협업 필터링 장점
• 카탈로그 아이템의 추가 정보 없이도 레이팅 행렬안의 가용한 패턴과 유사성을 기반해 추천 가능.
• 인간의 기호와 판단을 기록하기 때문에 사용자의 심리적 프로파일을 암시적으로 설명
약점
• 희박한 레이팅
• 새로운 사용자와 아이템 – 콜드 스타트에 더 약함
• 인기도 편향 – 전형적인 패턴에 기반을 두고 추천, 대중적으로 인기있는거에 편향
• 제품 표준화 – 복잡한 내부 구조를 가지고 있는 제품의 모델링 어려움 (.e.g. 업그레이드 되는 제품)
• 영역에 대한 지식- 특정 영역의 경우에는 오히려 제품 콘텐츠 지식이 중요
5.6 Intro to Collaborative Filtering
협업 필터링 베이스 라인
5.7 Neighborhood-based Collaborative Filtering
이웃? 유사한?
user based 해당 아이템을 평가한 사용자
들
사용자들이 같이 평가한 아이템의 평점 vector가 유사
하다.
e.g.
sim(u, v)
content based 해당 아이템과 비슷한 아이템
들
아이템들을 평가한 사용자의 평점 vector가 유사하다.
sim(i, j)
둘 다 평가
한 상품
item1’s
rating
item2’s
rating
item3’s
rating
u 1 2 5
v 5 2 3
둘 다를 평
가한 사용자
user1’s
rating
user2’s
rating
user3’s
rating
i 1 2 5
j 5 2 3
5.7 Neighborhood-based Collaborative Filtering
유사성 지표에 대한 선택
(기본 pearson coef에 더해서 heurisct한 조절)
discounted similarity
공통으로 평가된 아이템 수에 의한 신뢰성 반영
inverse user frequency.
같이 평가한 아이템이 적을 경우 많음 -> 합집합에 대해 유사도 계산. 이 때 다른
배타적으로 평가한 상품에 대해 default rating 사용.
default ratings
5.7 Neighborhood-based Collaborative Filtering
레이팅 평준화와 가중값 논리를 정하는 옵션
standard score (z-score)
평점의 변화가 작은 사용자의 rating의 영향을 키
워주고, 평점 변화가 큰 사용자의 rating의 영향을
줄여줌.
baseline-centering
baseline constant 값으로, 사용자의 평균 평점 대
신 앞에서 나온 cf_baseline 값을 써줌.
계산 복잡도
• O(n^2) : sim(x, y)를 미리 계산해놔야함. (실시간 서비스를 위해서)
• 사용자가 많을 경우 -> item based 유리
• 아이템이 많을 경우 -> user based 유리
5.7 Neighborhood-based Collaborative Filtering
결국은 회귀문제다.
유사도 vector Wuv, 혹은 Wij를 구해서,
기존 rating을 가중평균한 값으로 예측을 하는 문제
로 요약할수 있다.
-> 최적 weight vector W를 구하는 회귀문제.
다음 예측오차를 최소화하는 W를 구하면 된다.
vector form으로 하면, w에 대한 함수에서, 최솟값을 가지는 구간 (기울기=0)인 것으로 풀면
5.7 Neighborhood-based Collaborative Filtering
회귀로 풀때의 장점: rating 예측 함수를 함께 최적화 할 수 있는 새로운 변수들을 이용해 확장하기 좋음.
baseline cf + item based cf
+ user based cf
아이템, 사용자 사이의 관계를 모두 학
습 할 수 있다.
5.8 Model-based Collaborative Filtering
좀더 다양한 ml 기법을 활용하자.
협업필터링은 행렬 완성 문제이므로 많은 표준 분류와 회귀 기법이 활용 가능.
표준적인 ml 관점에서, 두가지 방법이 있다.
1) user가 records, item이 feature 및 label (item-based cf와 유사)
2) item이 records, user가 feature 및 label (user-base와 유사)
한편, rating matrix는 희박한 경우가 많으므로, 결측치를 처리하는 방법에 따라 크게 예측품질이 달라진다.
• Some classification methods can be directly adapted to handle the missing values
• missing ratings can be filled with zeros (e.g. unary)
• insertion of default (zero) rating values results in prediction bias
• iterative one (most generic)
1) missing values can be initialized with some basic estimates
2) with complete (temp) matrix -> train model
3) rating matrix can be updated with the model
5.8 Model-based Collaborative Filtering
좀더 다양한 ml 기법을 활용하자.
협업필터링은 행렬 완성 문제이므로 많은 표준 분류와 회귀 기법이 활용 가능.
표준적인 ml 관점에서, 두가지 방법이 있다.
1) user가 records, item이 feature 및 label (item-based cf와 유사)
2) item이 records, user가 feature 및 label (user-base와 유사)
한편, rating matrix는 희박한 경우가 많으므로, 결측치를 처리하는 방법에 따라 크게 예측품질이 달라진다.
• Some classification methods can be directly adapted to handle the missing values
• missing ratings can be filled with zeros (e.g. unary)
• insertion of default (zero) rating values results in prediction bias
• iterative one (most generic)
1) missing values can be initialized with some basic estimates
2) with complete (temp) matrix -> train model
3) rating matrix can be updated with the model
5.8 Model-based Collaborative Filtering
Naïve Bayes CF
유사도 matrix를 계산하기 앞서, sparse rating matrix의 결측값을 naïve bayes로 채워넣을 수 있다.
bayes rule
naïve independence assumption
5.8 Model-based Collaborative Filtering
Latent Factor Models
collaborative filtering methods generally face the following challenges
• computational and scalability challenges
• rating matrix is typically very sparse
• highly correlated because of similarities between users and items (redundant signal)
Recommendar System?
-> predicts ratings based on some measure of affinity between a user and item
One possible way to define this affinity measure is to take the latent factors approach and map both users and items to points in some
kdimensional space
each dimension can be viewed as a feature or concept, so that puj is the measure of proximity between user u and concept j, and qij is, the
measure of proximity between item i and concept j
low-rank approximation problem
5.8 Model-based Collaborative Filtering
Latent Factor Models
low-rank approximation problem
최적: 가장 중요한 차원 k로 절단된 요소들에 의해 얻을 수 있다.
collaborative filtering methods generally face the following challenges
• computational and scalability challenges 원래 m, n 보다 훨씬 작은 k개의 차원으로 줄임
• rating matrix is typically very sparse
• highly correlated because of similarities between users and items (redundant signal) k개의 열백터는 직교함 (탈상관)
sparse하지 않은 P, Q를 결합해서 rating을 낸다.
but, full rating matrix를 가정했기 때문에, 문제 발생.
분석적 해법인 SVD 대신, 반복적 최적화 기법을 활용. (e.g. 기울기 하강)
5.8 Model-based Collaborative Filtering
Latent Factor Models
low-rank approximation problem
최적: 가장 중요한 차원 k로 절단된 요소들에 의해 얻을 수 있다.
collaborative filtering methods generally face the following challenges
• computational and scalability challenges 원래 m, n 보다 훨씬 작은 k개의 차원으로 줄임
• rating matrix is typically very sparse
• highly correlated because of similarities between users and items (redundant signal) k개의 열백터는 직교함 (탈상관)
sparse하지 않은 P, Q를 결합해서 rating을 낸다.
but, full rating matrix를 가정했기 때문에, 문제 발생.
(표준 SVD 알고리즘은 알려지지 않은 원소를 처리 할 수 없다)
분석적 해법인 SVD 대신, 반복적 최적화 기법을 활용. (e.g. SGD)
5.8 Model-based Collaborative Filtering
Unconstrained Factorization
cost function J as the residual prediction error
do not impose any constraints, such as orthogonality
Calculating the gradient of the cost function with respect to the latent
factor
gradient descent algorithm minimizes the cost function by moving in
the negative gradient direction at each step
J는 결국 예측 오차의 합이기 때문에, it is possible to approximate the
overall gradient of J by a gradient at a single data point and update
the latent factors element by element.
원소별로 계산 => 알려지지 않은 원소를 skip 할 수 있음.

More Related Content

Similar to 알고리즘 마케팅 CH5

추천 시스템 개요 (1)-draft
추천 시스템 개요 (1)-draft추천 시스템 개요 (1)-draft
추천 시스템 개요 (1)-drafthyunsung lee
 
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [리뷰의 재발견 팀] : 이커머스 리뷰 유용성 파악 및 필터링
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [리뷰의 재발견 팀] : 이커머스 리뷰 유용성 파악 및 필터링제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [리뷰의 재발견 팀] : 이커머스 리뷰 유용성 파악 및 필터링
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [리뷰의 재발견 팀] : 이커머스 리뷰 유용성 파악 및 필터링BOAZ Bigdata
 
개인화 추천 시스템에서_연관_관계_군집에_의한_아이템_기반의_협력적_필터링_기술
개인화 추천 시스템에서_연관_관계_군집에_의한_아이템_기반의_협력적_필터링_기술개인화 추천 시스템에서_연관_관계_군집에_의한_아이템_기반의_협력적_필터링_기술
개인화 추천 시스템에서_연관_관계_군집에_의한_아이템_기반의_협력적_필터링_기술coolsign
 
Diquest 김경선 엔터프라이즈 검색에 적합한
Diquest 김경선 엔터프라이즈 검색에 적합한 Diquest 김경선 엔터프라이즈 검색에 적합한
Diquest 김경선 엔터프라이즈 검색에 적합한 s song
 
데이터 분석 프로세스
데이터 분석 프로세스데이터 분석 프로세스
데이터 분석 프로세스Lee Seungeun
 
더 나은 S/W를 만드는 것에 관하여 (OKKY 세미나)
더 나은 S/W를 만드는 것에 관하여 (OKKY 세미나)더 나은 S/W를 만드는 것에 관하여 (OKKY 세미나)
더 나은 S/W를 만드는 것에 관하여 (OKKY 세미나)Jeongho Shin
 
MapReduce based Recommendation System
MapReduce based Recommendation SystemMapReduce based Recommendation System
MapReduce based Recommendation SystemSuHyun Jeon
 
Patterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworksPatterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworksSunuk Park
 
De text a deep text ranking framework with bert
De text  a deep text ranking framework with bertDe text  a deep text ranking framework with bert
De text a deep text ranking framework with berttaeseon ryu
 
[시스템종합설계].pptx
[시스템종합설계].pptx[시스템종합설계].pptx
[시스템종합설계].pptxJohnKim663844
 
앙상블 학습 기반의 추천시스템 개발
앙상블 학습 기반의 추천시스템 개발앙상블 학습 기반의 추천시스템 개발
앙상블 학습 기반의 추천시스템 개발Jungkyu Lee
 
kaggle hm fashion recsys pjct 발표 자료.pptx
kaggle hm fashion recsys pjct 발표 자료.pptxkaggle hm fashion recsys pjct 발표 자료.pptx
kaggle hm fashion recsys pjct 발표 자료.pptxJohnKim663844
 
Istqb 6-테스트도구-2015-배포판
Istqb 6-테스트도구-2015-배포판Istqb 6-테스트도구-2015-배포판
Istqb 6-테스트도구-2015-배포판Jongwon Lee
 
풀잎스쿨 - LIME 발표자료(설명가능한 인공지능 기획!)
풀잎스쿨 - LIME 발표자료(설명가능한 인공지능 기획!)풀잎스쿨 - LIME 발표자료(설명가능한 인공지능 기획!)
풀잎스쿨 - LIME 발표자료(설명가능한 인공지능 기획!)Bong-Ho Lee
 
개발이 테스트를 만났을 때(Shift left testing)
개발이 테스트를 만났을 때(Shift left testing)개발이 테스트를 만났을 때(Shift left testing)
개발이 테스트를 만났을 때(Shift left testing)SangIn Choung
 
검색엔진에 적용된 딥러닝 모델 방법론
검색엔진에 적용된 딥러닝 모델 방법론검색엔진에 적용된 딥러닝 모델 방법론
검색엔진에 적용된 딥러닝 모델 방법론Tae Young Lee
 
Istqb 5-테스트관리-2015-배포
Istqb 5-테스트관리-2015-배포Istqb 5-테스트관리-2015-배포
Istqb 5-테스트관리-2015-배포Jongwon Lee
 

Similar to 알고리즘 마케팅 CH5 (20)

추천 시스템 개요 (1)-draft
추천 시스템 개요 (1)-draft추천 시스템 개요 (1)-draft
추천 시스템 개요 (1)-draft
 
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [리뷰의 재발견 팀] : 이커머스 리뷰 유용성 파악 및 필터링
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [리뷰의 재발견 팀] : 이커머스 리뷰 유용성 파악 및 필터링제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [리뷰의 재발견 팀] : 이커머스 리뷰 유용성 파악 및 필터링
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [리뷰의 재발견 팀] : 이커머스 리뷰 유용성 파악 및 필터링
 
개인화 추천 시스템에서_연관_관계_군집에_의한_아이템_기반의_협력적_필터링_기술
개인화 추천 시스템에서_연관_관계_군집에_의한_아이템_기반의_협력적_필터링_기술개인화 추천 시스템에서_연관_관계_군집에_의한_아이템_기반의_협력적_필터링_기술
개인화 추천 시스템에서_연관_관계_군집에_의한_아이템_기반의_협력적_필터링_기술
 
Uml 세미나
Uml 세미나Uml 세미나
Uml 세미나
 
Mahout
MahoutMahout
Mahout
 
Diquest 김경선 엔터프라이즈 검색에 적합한
Diquest 김경선 엔터프라이즈 검색에 적합한 Diquest 김경선 엔터프라이즈 검색에 적합한
Diquest 김경선 엔터프라이즈 검색에 적합한
 
데이터 분석 프로세스
데이터 분석 프로세스데이터 분석 프로세스
데이터 분석 프로세스
 
Uml intro 1
Uml intro 1Uml intro 1
Uml intro 1
 
더 나은 S/W를 만드는 것에 관하여 (OKKY 세미나)
더 나은 S/W를 만드는 것에 관하여 (OKKY 세미나)더 나은 S/W를 만드는 것에 관하여 (OKKY 세미나)
더 나은 S/W를 만드는 것에 관하여 (OKKY 세미나)
 
MapReduce based Recommendation System
MapReduce based Recommendation SystemMapReduce based Recommendation System
MapReduce based Recommendation System
 
Patterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworksPatterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworks
 
De text a deep text ranking framework with bert
De text  a deep text ranking framework with bertDe text  a deep text ranking framework with bert
De text a deep text ranking framework with bert
 
[시스템종합설계].pptx
[시스템종합설계].pptx[시스템종합설계].pptx
[시스템종합설계].pptx
 
앙상블 학습 기반의 추천시스템 개발
앙상블 학습 기반의 추천시스템 개발앙상블 학습 기반의 추천시스템 개발
앙상블 학습 기반의 추천시스템 개발
 
kaggle hm fashion recsys pjct 발표 자료.pptx
kaggle hm fashion recsys pjct 발표 자료.pptxkaggle hm fashion recsys pjct 발표 자료.pptx
kaggle hm fashion recsys pjct 발표 자료.pptx
 
Istqb 6-테스트도구-2015-배포판
Istqb 6-테스트도구-2015-배포판Istqb 6-테스트도구-2015-배포판
Istqb 6-테스트도구-2015-배포판
 
풀잎스쿨 - LIME 발표자료(설명가능한 인공지능 기획!)
풀잎스쿨 - LIME 발표자료(설명가능한 인공지능 기획!)풀잎스쿨 - LIME 발표자료(설명가능한 인공지능 기획!)
풀잎스쿨 - LIME 발표자료(설명가능한 인공지능 기획!)
 
개발이 테스트를 만났을 때(Shift left testing)
개발이 테스트를 만났을 때(Shift left testing)개발이 테스트를 만났을 때(Shift left testing)
개발이 테스트를 만났을 때(Shift left testing)
 
검색엔진에 적용된 딥러닝 모델 방법론
검색엔진에 적용된 딥러닝 모델 방법론검색엔진에 적용된 딥러닝 모델 방법론
검색엔진에 적용된 딥러닝 모델 방법론
 
Istqb 5-테스트관리-2015-배포
Istqb 5-테스트관리-2015-배포Istqb 5-테스트관리-2015-배포
Istqb 5-테스트관리-2015-배포
 

알고리즘 마케팅 CH5

  • 2. Demand (long tail) - often higher-end & margin - more profit Advancement of digital channels - online services with (almost) infinite assortsments - reach out to more consumers (e.g. Amazon) need for powerful product discovery services was one of the main drivers behind the development of recommender systems
  • 3. Search Recommendation - Formalized intent - Difficult to translate into formal criteria (e.g. taste of music) - Unaware / forget / doubt ( e.g. need special lenses for photographer) - Score products according to query - Guess the purchasing intent - Based on product ratings, purchase history Query-Product similarity score - User similarities - Product similarities - Context similarities (e.g. season)
  • 4. 5.1 Environment customer ratings are available for catalog items - provided by customer (explicit) - derived from behavioral data (implicit) - capture customer feedback on items (not recommendations)
  • 5. 5.1 Environment 5.1.1 Properties of Customer Ratings R = (rij ) rij : user i의 상품j에 대한 평점 Rm x n m users & n items -> usually numerical values Rating • ordinal: 사용자가 숫자로 입력 • unary: 사용자와의 상호작용을 기록 (암묵적 피드백) Rating 특징 • ordinal rating이 암묵적 피드백 포함: 관심 없는 제품은 평가 안 남김 • Sparsity(희박함) • 카탈로그 중 극히 일부만 평가 • 분포는 롱테일 성격 (니치 제품의 평가 희박)
  • 6. 5.2 Business Objectives • 적합성relevance : 적합 = 고객이 살 것 같은 or 고객이 높은 평점을 줄 것 같은 • 참신함novelty: 추천 시스템은 사용자에게 알려지지 않았던 옵션을 알려줘야 함 • 우연성serendipity: e.g. 다른 카테고리의 추천 • 다양성diversity: 추천리스트 내 비슷한 상품들만 있으면 안됨. 추천 문제는 분류 또는 회귀 문제와 비슷함. 목표: 알려진 레이팅을 이용해 모델을 훈련시켜서 알려지지 않은 레이팅을 예측. -> 부분적으로 관찰된 행렬의 비어있는 공간을 채우는 작업은 matrix completion 으로 알려짐. • matrix completion 문제에서는 row-wise하게 train/test/validation을 나누지 않음. • 즉, 한 그룹의 사용자에 의해 훈련되고 다른 사용자에 의해 검증 되는 것이 잘 먹히지 않는다. • 대신, 각 원소별로 sampling 됨. 알려진 레이팅의 일부가 원래 레이팅 행렬에서 제거되 훈련됨. prediction model matrix completion 5.2 Quality Evaluation
  • 7. 5.2 Quality Evaluation • 예측 오류 pointwise prediction errors • Mean Squared Error • Root MSE: original rating과 비교 용이 • Normalized RMSE: [0,1]로 정규화 RMSE & Pointwise Prediction의 단점 • 롱테일 부분의 아이템에 대해서는 희박한 rating. niche item prediction error가 큰 반면, 단순평균 Error • RMSE는 추천의 시간적 특징 (temporal 특징)을 파악하지 못함 -> 훈련데이터에 좀더 오래된 데이터를 포함하 고, 테스트 데이터에 최근 데이터를 포함하도록 레이팅 데이터 R로 부터 선택 • RMSE는 추천을 보여주는 rankin에 대한 평가X ruj 사용자 u의 상품 j에 대한 rating R: 관찰된 데이터 전체 T: test set
  • 8. 5.2 Quality Evaluation Ranking 정확도 검색 서비스에서 사용했던 지표를 가져다 쓸 수 있다. 1. 정밀도-재현율 곡선 2. 그 외 nDCG, MAP 등 비슷하게 고쳐서 쓸 수 있음. Yu : 사용자 u에게 추천된 상품 Iu : 사용자 u에 의해 긍정적으로 평가된 상품 K: 사용자에게 추천된 최상위 K개상품 - 리스트 안의 적합한 추천의 비율 - 적합한 아이템 들 중 추천된 비율
  • 9. 5.3 Overview of Recommendation Methods 참신성 추천이 제공될 시점에 사용자가 추천된 아이템을 알지 못했다면 추천은 참신한 것으로 간주됨. 레이팅 행렬로 부터 추론. • 먼 미래에 랭크되거나 구매된 아이템을 예측할수록 높은 참신성 • 바로 구매된 아이템은 사용자에게 알려질 가능성이 보다 높기 때문 • 먼 미래의 정확한 예측을 보상하고, 가까운 미래의 예측을 처벌하는 시간별 가중 값으로 사용 우연성 추천이 사용자에게 매력적인 동시에 놀라운 정도를 보여주는 지표 -> 추천리스테에서 적합한 아이템의 비율을 갖고 추천시스템을 평가. 다양성 비슷하지 않은 아이템으로 구성된 추천리스트를 생산하는 능력. 추천 리스트내 상품들의 유사성 지표에 대한 평균 거리의 역을 취해서 측정 가능. 적용 범위 we might be interested in tracking the reliability of predicted ratings (the probability that the estimated value is accurate) and assessing the trade-off between the coverage and accuracy by excluding users or items with the least reliable rating estimates from the accuracy evaluation. m: 사용자 수 I(.): 아이템이 Yu에 속하지만 베이스라인에 속하지 않을 경우 참인 인디케이터 함수.
  • 10. 5.3 Overview of Recommendation Methods 적용 범위 we might be interested in tracking the reliability of predicted ratings (the probability that the estimated value is accurate) and assessing the trade-off between the coverage and accuracy by excluding users or items with the least reliable rating estimates from the accuracy evaluation. 실험의 역할 품질 측정 != 재무적 성과 둘의 관계는 실제적 실험, 다변량 테스트, 업리프트 측정으로 확립 m: 사용자 수 적어도 한가지 추천 리스트에 등장하는 아이템의 비율.
  • 11. 5.3 Overview of Recommendation Methods 예측 모델과 입력에 따른 구분 사용 시나리오에 따라 구분 콘텐츠기반/협업 필터링
  • 12. 5.5 Content-based Filtering 콘텐츠 기반 필터링 • 카탈로그 데이터에 기반 • 추천이 준비되는 사용자의 프로파일만 사용 • 사용자가 과거에 긍정적으로 평가했던 아이템을 선택하고 그 아이템과 비슷한 다른 아이템을 추천 Generalized Profile modelNearest neighbor model
  • 13. 5.5 Content-based Filtering 장점 단점 • 사용자 독립: 전체 시스템 사용자가 적을 때 유리, 독특한 취향을 가진 사용자에게 추천 유리 • 새롭고 희귀한 아이템: 레이팅이 거의 없는 새롭거나 희귀한 아이템의 추천. 롱테일 맥락 에서 중요. • 다른 카테고리 추천 • 카탈로그 데이터의 사용 • 해석 가능성 • 특성 엔지니어링: 예측 품질은 카탈로그 데이 터와 특징 디자인의 품질과 완전성에 좌우. • 신규 사용자: 프로파일이 비어있는 새로운 사 용자에게 추천 못함 • 사소한 추천: 참신하거나 우연적이지 않은 추 천을 한다는 것. (e.g. 같은 시리즈의 다른 책 을 추천) kNN iu : 사용자 u에 의해 평가된 아이템의 집합 dj: 각 아이템 j를 표현한 문헌 ( -> Du 와 Iu 대응) di에 가장 높은 유사성을 갖고 있는 Du 안의 k 문헌 아이템에 대한 사용자 레이팅은 최근접 이웃들의 평균 레이팅으로 예측. 단순 평균이 아닌, 유사도를 곱한 가중평균 가능. 유사성 지표는 벡터 스페이스 모델을 사용. e.g. TF-IDF / LSA, LDA 모델 사용 가능.
  • 14. 5.5 Content-based Filtering 나이브 베이즈 분류기 한계: 사용자의 낮은 평점이, 콘텐츠 자체의 적합성과 관련한 것인지, 아니면 품질과 관련된 것인지 구분을 할 수 없 다. (e.g. healthcar라는 단어의 rank가 낮게 측정된 것이 주제에 관심 없어서인지, 혹은 특정 책의 품질이 안좋아서 였는지) 콘텐츠 필터링을 위한 특성 엔지니어링 다른 카테고리 간 추천을 하기 어려움: • 제품 속성의 레이아웃은 카테고리 따라 달라지므로, 다른 카테고리 간의 아이템 유사성 지표 정의하기 어려움 • 심리적인 속성이 도움이 된다. -> 제품명, 설명, 고객 리뷰 같은 텍스트 제품 속성은 제품의 심리적 속성에 대한 암시적 신호. (e.g. 스타일리시, 섹시, 럭셔리) 암시적인 심리적 특징을 뽑아내는 기법 1. 제품 특징의 집합을 정의 2. 아이템 부분집합에 대해 텍스트 이 외의 속성을 기반으로 feature name 붙이기. -> 심리적 레이블을 예측하 는 분류 모델을 훈련 3. 나머지 아이템들은 분류 모델에 의 해 자동으로 feature name tagging
  • 15. 5.6 Intro to Collaborative Filtering 콘텐츠 기반 필터링 단점 • 인간의 취향은 기본적인 제품 속성으로 표현하기 어려움 -> 많은 제품 태깅, 특징 엔지니어링이 필요 • 레이팅 행렬이 주는 고객 취향과 판단에 대한 정보를 활용x 협업 필터링 유래 1992 제록스 PARC에서 개발된 뉴스와 아티클 추천 시스템인 Tapastry 개발자들에 의해 창시 • 사용자들이 뉴스 메일에 대한 피드백을 제공하고 • 다른 사용자들의 피드백에 기반을 두고 들어오는 메일의 우선순위를 필터 가능했음. 현재 협업 필터링의 의미 • 레이팅 행렬 안의 정보에 기반을 둔 레이팅 예측 -> 행렬 완성 문제 협업 필터링 장점 • 카탈로그 아이템의 추가 정보 없이도 레이팅 행렬안의 가용한 패턴과 유사성을 기반해 추천 가능. • 인간의 기호와 판단을 기록하기 때문에 사용자의 심리적 프로파일을 암시적으로 설명 약점 • 희박한 레이팅 • 새로운 사용자와 아이템 – 콜드 스타트에 더 약함 • 인기도 편향 – 전형적인 패턴에 기반을 두고 추천, 대중적으로 인기있는거에 편향 • 제품 표준화 – 복잡한 내부 구조를 가지고 있는 제품의 모델링 어려움 (.e.g. 업그레이드 되는 제품) • 영역에 대한 지식- 특정 영역의 경우에는 오히려 제품 콘텐츠 지식이 중요
  • 16. 5.6 Intro to Collaborative Filtering 협업 필터링 베이스 라인
  • 17. 5.7 Neighborhood-based Collaborative Filtering 이웃? 유사한? user based 해당 아이템을 평가한 사용자 들 사용자들이 같이 평가한 아이템의 평점 vector가 유사 하다. e.g. sim(u, v) content based 해당 아이템과 비슷한 아이템 들 아이템들을 평가한 사용자의 평점 vector가 유사하다. sim(i, j) 둘 다 평가 한 상품 item1’s rating item2’s rating item3’s rating u 1 2 5 v 5 2 3 둘 다를 평 가한 사용자 user1’s rating user2’s rating user3’s rating i 1 2 5 j 5 2 3
  • 18. 5.7 Neighborhood-based Collaborative Filtering 유사성 지표에 대한 선택 (기본 pearson coef에 더해서 heurisct한 조절) discounted similarity 공통으로 평가된 아이템 수에 의한 신뢰성 반영 inverse user frequency. 같이 평가한 아이템이 적을 경우 많음 -> 합집합에 대해 유사도 계산. 이 때 다른 배타적으로 평가한 상품에 대해 default rating 사용. default ratings
  • 19. 5.7 Neighborhood-based Collaborative Filtering 레이팅 평준화와 가중값 논리를 정하는 옵션 standard score (z-score) 평점의 변화가 작은 사용자의 rating의 영향을 키 워주고, 평점 변화가 큰 사용자의 rating의 영향을 줄여줌. baseline-centering baseline constant 값으로, 사용자의 평균 평점 대 신 앞에서 나온 cf_baseline 값을 써줌. 계산 복잡도 • O(n^2) : sim(x, y)를 미리 계산해놔야함. (실시간 서비스를 위해서) • 사용자가 많을 경우 -> item based 유리 • 아이템이 많을 경우 -> user based 유리
  • 20. 5.7 Neighborhood-based Collaborative Filtering 결국은 회귀문제다. 유사도 vector Wuv, 혹은 Wij를 구해서, 기존 rating을 가중평균한 값으로 예측을 하는 문제 로 요약할수 있다. -> 최적 weight vector W를 구하는 회귀문제. 다음 예측오차를 최소화하는 W를 구하면 된다. vector form으로 하면, w에 대한 함수에서, 최솟값을 가지는 구간 (기울기=0)인 것으로 풀면
  • 21. 5.7 Neighborhood-based Collaborative Filtering 회귀로 풀때의 장점: rating 예측 함수를 함께 최적화 할 수 있는 새로운 변수들을 이용해 확장하기 좋음. baseline cf + item based cf + user based cf 아이템, 사용자 사이의 관계를 모두 학 습 할 수 있다.
  • 22. 5.8 Model-based Collaborative Filtering 좀더 다양한 ml 기법을 활용하자. 협업필터링은 행렬 완성 문제이므로 많은 표준 분류와 회귀 기법이 활용 가능. 표준적인 ml 관점에서, 두가지 방법이 있다. 1) user가 records, item이 feature 및 label (item-based cf와 유사) 2) item이 records, user가 feature 및 label (user-base와 유사) 한편, rating matrix는 희박한 경우가 많으므로, 결측치를 처리하는 방법에 따라 크게 예측품질이 달라진다. • Some classification methods can be directly adapted to handle the missing values • missing ratings can be filled with zeros (e.g. unary) • insertion of default (zero) rating values results in prediction bias • iterative one (most generic) 1) missing values can be initialized with some basic estimates 2) with complete (temp) matrix -> train model 3) rating matrix can be updated with the model
  • 23. 5.8 Model-based Collaborative Filtering 좀더 다양한 ml 기법을 활용하자. 협업필터링은 행렬 완성 문제이므로 많은 표준 분류와 회귀 기법이 활용 가능. 표준적인 ml 관점에서, 두가지 방법이 있다. 1) user가 records, item이 feature 및 label (item-based cf와 유사) 2) item이 records, user가 feature 및 label (user-base와 유사) 한편, rating matrix는 희박한 경우가 많으므로, 결측치를 처리하는 방법에 따라 크게 예측품질이 달라진다. • Some classification methods can be directly adapted to handle the missing values • missing ratings can be filled with zeros (e.g. unary) • insertion of default (zero) rating values results in prediction bias • iterative one (most generic) 1) missing values can be initialized with some basic estimates 2) with complete (temp) matrix -> train model 3) rating matrix can be updated with the model
  • 24. 5.8 Model-based Collaborative Filtering Naïve Bayes CF 유사도 matrix를 계산하기 앞서, sparse rating matrix의 결측값을 naïve bayes로 채워넣을 수 있다. bayes rule naïve independence assumption
  • 25. 5.8 Model-based Collaborative Filtering Latent Factor Models collaborative filtering methods generally face the following challenges • computational and scalability challenges • rating matrix is typically very sparse • highly correlated because of similarities between users and items (redundant signal) Recommendar System? -> predicts ratings based on some measure of affinity between a user and item One possible way to define this affinity measure is to take the latent factors approach and map both users and items to points in some kdimensional space each dimension can be viewed as a feature or concept, so that puj is the measure of proximity between user u and concept j, and qij is, the measure of proximity between item i and concept j low-rank approximation problem
  • 26. 5.8 Model-based Collaborative Filtering Latent Factor Models low-rank approximation problem 최적: 가장 중요한 차원 k로 절단된 요소들에 의해 얻을 수 있다. collaborative filtering methods generally face the following challenges • computational and scalability challenges 원래 m, n 보다 훨씬 작은 k개의 차원으로 줄임 • rating matrix is typically very sparse • highly correlated because of similarities between users and items (redundant signal) k개의 열백터는 직교함 (탈상관) sparse하지 않은 P, Q를 결합해서 rating을 낸다. but, full rating matrix를 가정했기 때문에, 문제 발생. 분석적 해법인 SVD 대신, 반복적 최적화 기법을 활용. (e.g. 기울기 하강)
  • 27. 5.8 Model-based Collaborative Filtering Latent Factor Models low-rank approximation problem 최적: 가장 중요한 차원 k로 절단된 요소들에 의해 얻을 수 있다. collaborative filtering methods generally face the following challenges • computational and scalability challenges 원래 m, n 보다 훨씬 작은 k개의 차원으로 줄임 • rating matrix is typically very sparse • highly correlated because of similarities between users and items (redundant signal) k개의 열백터는 직교함 (탈상관) sparse하지 않은 P, Q를 결합해서 rating을 낸다. but, full rating matrix를 가정했기 때문에, 문제 발생. (표준 SVD 알고리즘은 알려지지 않은 원소를 처리 할 수 없다) 분석적 해법인 SVD 대신, 반복적 최적화 기법을 활용. (e.g. SGD)
  • 28. 5.8 Model-based Collaborative Filtering Unconstrained Factorization cost function J as the residual prediction error do not impose any constraints, such as orthogonality Calculating the gradient of the cost function with respect to the latent factor gradient descent algorithm minimizes the cost function by moving in the negative gradient direction at each step J는 결국 예측 오차의 합이기 때문에, it is possible to approximate the overall gradient of J by a gradient at a single data point and update the latent factors element by element. 원소별로 계산 => 알려지지 않은 원소를 skip 할 수 있음.