일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- youtube data
- integrated gradient
- subdag
- BigQuery
- airflow subdag
- correlation
- XAI
- TensorFlow
- GenericGBQException
- tensorflow text
- spark udf
- grad-cam
- Airflow
- 유튜브 API
- gather_nd
- Retry
- API
- UDF
- login crawling
- API Gateway
- 공분산
- hadoop
- chatGPT
- 상관관계
- session 유지
- GCP
- top_k
- flask
- Counterfactual Explanations
- requests
- Today
- Total
데이터과학 삼학년
Recommendation Systems 본문
Recommendation Systems
- Content-based filtering : 각 사용자의 선호에 따라 filter가 됨(다른 사람들의 선호는 고려하지 않음)
- Knowledge-based recommender : 사용자가 무엇을 선호하는지를 질문을 통해 확인하는 것
- Collaborative filtering : 사용자별 비슷한 성향을 가지는 사람을 embedding한 후 추천해주는 시스템(다른사람의 선호도 고려)
- 다양한 추천 기법들이 동시에 적용되고 있음
Content-based filtering
- item feature를 이용해서 해당유저가 높은 평점을 매겼던 영화와 비슷한 영화를 추천
- 비슷하다는 기준을 정하는 것이 중요
> 교집합이 클수록 비슷함
> 임베딩을 통해 각 영화간 vector(embedding space) or cosine similarity 를 구함
> 각 contents의 기본 정보를 가지고 각 영화별 vector 좌표를 사람이 넣어줌
- user feature vector를 구한 다음성향 판단
> 각 영화 평점(label)과 영화 feature(ex.장르)를 가지고 각 요소별 선호 vector를 계산
> 계산된 선호 vector를 이용하여 타영화의 예상 평점을 계산함
- 결국 선형대수를 이용하여 정보분해 및 매트릭스 곱으로 선호도 계산
>> 하지만, 많은 usecase에 대해서는 계산하기가 힘들고, 확장정이 떨어지는 단점이 있음
Collaborative filtering
- 확장성을 띨 수 있음 → 유저들 간 유사도를 판단하여 더 많은 content를 추천해 줄 수 있음
> 버블공간을 넓혀 줌
- user-interaction matrix를 이용하여 적용
- contents 별 feature dimensions을 이용해 content의 vector값을 만듦
- 유저의 선호에 따라 임베딩 벡터를 만듦
- latent factors를 만들어서 적용 → 분해기법 이용 (유저 벡터와 content 벡터를 행렬곱 적용)
- 큰 매트릭스를 작은 매트릭스로 변환 시킨 다음 적용 → 행렬분해
- ALS(Alternating least squares)
> M *N => (M*k) * (k*N) → k는 하이퍼 파라미터
- 실무에서 game data의 유저별 구매 항목과 구매항목간 관계만 분석가가 정해주면 BQ ml로 (matrix_factorization) 쉽게 적용해볼만 할 것으로 보임
- 많은 추천시스템 중 choice를 잘해서 써야지~
- 정보가 많이 없을 경우(cold-start)에는 collaborative는 좋지 않아 → 하이브리드 시스템을 만들어 사용
> content-based + collab
- 유튜브의 추천 시스템
> 2개의 신경망을 가지고 있음(candidate generation, ranking)
> candidate generation → 수백개의 contents를 불러오고 ranking에서 top10을 골라냄
> candidate generation 에서는 watch vector, search vector, location vector 등을 임베딩함, 나머지 feature로 personality한 feature도 들어가게 됨
> ranking 에서는 recall을 최적화함
> 모델 작동 설명
- 보통 추천 시스템은 → content-based, collab, knowledge 등을 hybrid로 사용하여 적용하는 경우가 많음
TechTalk
A tool for anime
- 이미지를 이용해 동적인 캐릭터를 만들어내는 기술
- 사람의 움직임을 컴퓨터가 감지하여 캐릭터가 그대로 구현함
- 기존의 미디어를 가지고 캐릭터가 그대로 움직이게 할 수 있음
- virtual youtubers 도 이를 이용하여 성장하고 있음
'Recommendation System' 카테고리의 다른 글
추천 Ranking 알고리즘 관련 metric :: NDCG (0) | 2024.08.23 |
---|---|
LightGBM Ranker (0) | 2024.08.04 |
추천 시스템 평가(precision@k, recall@k) (0) | 2024.06.28 |
RECSIM: A Configurable Simulation Platform for Recommender System 기초 개념 (0) | 2021.05.03 |
[Association rule (연관규칙)] Support, Confidence, Lift, Interest-Support, Cross-Support (0) | 2020.06.18 |