추천 시스템(11)
-
추천시스템 역사
ㅇ Classic Recommender system 1) 컨텐츠 기반 추천 시스템 (아이템의 특징을 가지고 추천. ex) 봉준호가 만든 영화) 2) 협업 필터링 (유저끼리 같은 아이템에 대해 평가한 것을 토대로 추천 ex) 영화 평점) - 근접이웃기반 추천 시스템 ㄱ. 아이템 기반 협업 필터링 ㄴ. 유저 기반 협업 필터링 - 모델 기반 추천 시스템 ㄱ. matrix factorization 4) 하이브리드 추천 시스템 ㅇ Context-Aware recommender system (날씨, 기온, 위치 등등 추가) (Classic만 하기는 그렇고 딥러닝만하기는 리소스가 부족할 때 추천) ㅇ Deep learning based recommender system 1) Neural collaborative fi..
2021.06.27 -
추천시스템 관련 논문
ㅇ Survey paper - Deep Learning based Recommender System: A Survey and New Perspectives (Zhang et al. 2019 ㅇ Matrix Factorization - BPR: Bayesian Personalized Ranking from Implict Feedback (Steffen Rendle, UAI 2009) ㅇ Context-Aware-recommend system - STELLAR : Spatial-Temporal Latent Ranking for Successive Point-of-Interest Recommendation (Shenglin Zhao, et al. Published in AAAI 2016) - LARS: A L..
2021.05.31 -
Conext-Aware 추천 시스템 (맥락 기반)
ㅇ 맥락 기반 추천 시스템 - 맥락 (유저의 상황)을 이해한 추천 시스템 ex) 날씨, 시간, 장소, 메타정보(판매자 정보), 대표 키워드, 태그 등등 - 유저와 아이템의 단순 상호관계 파악뿐만 아니라 상황 정보도 포함한 포괄적인 추천시스템 ㅇ Contents와 Context의 차이를 이해하고 추천 시스템 구축해야한다. - 무서운 영화에 관하여 비슷한 장르만 추천해주는게 아니라 고객이 좋아하는 시간 정보, 날씨 등을 포함하는게 맥락 기반 추천 시스템 ㅇ 기존 방법과 다르게 context를 기반으로 결과에 대해 설명이 가능함 ㅇ 이제는 유저 x 아이템 x 문맥 으로 평가하게 되는 것 -> 기존의 유저X아이템에서 차원이 늘어남 ㅇ Explict하게 또는 Implict하게 데이터를 얻을 수 있다. ㅇ Cont..
2021.05.30 -
하이브리드 추천 시스템 (Hybrid recommend system)
ㅇ 다양한 데이터와 다양한 알고리즘을 조합하는 방식 (Contents-based + Collaborative Filtering + Domain Knowledge) (유저와 아이템 프로필, 유저와 아이템의 상호관계, 유저 주변의 다른 유저 정보, 아이템과 비슷한 다른 아이템 정보) ㅇ 가용할 수 있는 최대 정보 또는 지식을 다양한 source로부터 얻어서 활용하는 방식 ㅇ 다양한 추천 알고리즘의 장점만 모아서 성능 좋고 뛰어난 시스템을 만드는 방식 -> Robust한 inference를 할 수 있음 Hybrid recommend system - Weighted Ensemble (1) 여러 모델의 추천 결과를 ensemble (평균) 하는 기법 (2) 앙상블 시 테스트를 통해 잘나온 순으로 모델에 가중치를 ..
2021.05.30 -
Explicit 와 Implicit 데이터의 차이
ㅇ Explicit (직접적) - item에 대한 user의 직접적인 생각, 취향, 선호도 - 유저가 직접 입력한 데이터이기 때문에 품질이 좋다. but 구하기 어렵다 - 평가된 유저의 데이터를 신뢰하기 어렵다 (ex) 귀차니즘) - 평점, 설문조사, 평가, 구매후기 등등 ㅇImplicit (간접적) - 고객이 간접적으로 관여함 - user의 선호도, 취향을 정확히 파악할 수는 없으나 그럴듯한 추론을 한다 - 데이터의 실제 의미를 파악하기 어렵다 - 노이즈 또는 결측값이 존재하고, 부정적인 피드백을 얻기 어렵다 - 데이터 자체의 품질은 좋지 않지만, 데이터를 얻을 수 있는 방법이 다양 - 선호도 파악이 아닌 유저의 행동에 대한 가중치 또는 신뢰도로 파악 - 데이터 평가 기준이 불 명확 - 검색 로그, 웹..
2021.05.27 -
Singular value Decomposition (SVD)
- SVD란 행렬 분해라고 생각하면 됨. - M은 아이템과 사용자를 둘 다 나타내는 행렬 - 행렬 분해를 통해 U는 아이템과 latent factor간의 관계를 나타내주는 행렬 (Singular vector) - V*는 사용자와 latent factor간의 관계를 나타내주는 행렬 (Singular vector) - 행렬 U와 V*의 모든 열벡터의 특이벡터는 서로 직교한다. - 시그마는 잠재적 특징으로 (latent factor), U와 V*의 관계를 나타내줌 - 시그마는 대각행렬로, latent factor의 중요도 (얼만큼 관계를 잘 나타내는가) - 시그마의 경우가 PCA (Pringcipal Component Analysis)에서 사용되는 차원축소 이기도 함 - 시그마(latent factor)를 잘..
2021.05.25