인공지능 AI/추천시스템

    [AI/추천시스템/RecSys] 추천 시스템의 성능 평가방법

    넷플릭스가 우리에게 컨텐츠를 추천해줄때, 추천을 잘 하고 있는지 어떻게 평가할 수 있을까? 평점 예측 연속된 숫자 형태의 평점을 예측하는 방법입니다. 보통 관측되지 않는 데이터에 대해서는 평가하지 않습니다. 평가 함수로 주로 RMSE나 MAE를 사용하고, 모델의 손실 함수로는 주로 MSE를 사용합니다. 순위 예측 사용자가 관심있는 아이템 k개를 예측하고, 이 중에서 얼마나 실제로 관심을 가졌는지 확인하는 것입니다. - 가능한 전체 사용자-아이템 쌍 중에서 관측된것이 얼마인지 확인 - k에 따라 값이 변하기 때문에 일반적으로 k를 같이 표시합니다. Precision@k 추천한 k개 중에서 실제로 관심이 있는 아이템 비율 Recall@k 사용자가 관심을 가진 모든 아이템들 중 추천한 아이템 비율 AP@k (..

    [AI/추천시스템/RecSys] Transformer기반 추천시스템 모델, SASRec, SSE-PT, BERT4Rec

    언어 모델은 추천 문제에 사용하기 좋습니다. Seq2Seq 모델 번역 문제, QA 문제에 적용하며 긴 문장에 대해서는 성능이 떨어집니다. Attention 모델 Attention을 통해 어떤 노드를 얼마나 참조할지 가중치를 사용합니다. 이전 RNN 노드들을 다시 이용하여 최종 출력치를 결정합니다. Transformer 모델 Attention 을 이용하여 encoding과 decoding을 진행합니다. 순서를 표시하기 위한 positional encoding을 함께 진행합니다. Encoder: self-attention 사용 Decoder: 일반 attention 사용, masked self-attention 사용(순차적 입력 고려) self-attention을 통해 단어 간 유사성을 파악할 수 있습니다...

    [AI/추천시스템/RecSys]Model-based, User-based 협업 필터링(Collaborative Filtering), 스포티파이(Spotify)의 RecSys

    협업 필터링(Collaborative Filtering) - 사용자 행동 데이터로 아이템 추천. - 유사 사용자 그룹에서 공통 관심 아이템을 추천. - 대규모 데이터 필요(데이터 적은 경우, 신규 아이템/사용자에는 어려움) - 새로운 아이템 추천 가능. • Memory Based Approach(메모리 기반 방식) - User-based Filtering : target user와 유사한 user들의 아이템 선호 기반 추천 - Item-based Filtering: target item과 유사한 item들에 대한 사용자 추천 • Model Based Approach - 사용자-아이템 평점 표현한 수학적 모델로부터 데이터 학습. - 행렬 분해(Matrix Factorization): MF, SVD, NMF..

    [AI/추천시스템/Recommender System] 순차적 추천(Sequential Recommendation)

    일반적 추천과 순차적 추천 비교 일반적 추천(Conventional Recommendation): - 과거의 사용자-아이템 피드백을 기반으로 새로운 아이템을 추천합니다. - 피드백이 발생한 시간 혹은 발생 순서를 고려하지 않습니다. ex) 1년 전 본 영화와 지난주에 본 영화가 같이 고려됩니다. 시리즈물 1, 2를 연속으로 본 행위가 고려되지 않습니다. 순차적 추천(Sequential Recommendation) - 사용자 행동을 시간 순으로 관리하는 것이 가능해졌습니다. (웹시스템의 발전) - 사용자의 과거행동에 기반하여 다음 번 아이템을 추천합니다. 순차 데이터 (Sequence Data) 시간 혹은 어떤 순서에 따라서 발생하는 데이터 시계열 데이터, 음성, 동영상, 언어 등 언어 데이터와 추천 데이..

    [AI/추천시스템/Recommender System] FM: Factorization Machine

    Rendle, “Factorization Machine”, ICDM, 2010 일반적인 예측 모델로 SVM과 유사성이 높습니다. 방법론적 특성상 MF와 같은 행렬분해 방식의 추천 알고리즘이 확장된 것입니다. Factorization Machine은 매우 sparse한 데이터를 다루고, 사용자와 아이템 정보 외의 다양한 feature들을 포함해서 활용합니다. 사전에 소개했던 MF는 사용자와 아이템 정보, rating 정보만 활용했던 것과 다릅니다. MF와 FM이 이름도 비슷해서 헷갈릴 수 있는데, FM은 Polynomial Regression(다항 회귀)에 가깝습니다. X에서 Y를 예측하는 일반적인 지도학습 모델로, NeuralCF와의 차이는 - NeuralCF는 사용자와 아이템 정보만으로 target을 ..

    [NLP/추천시스템/Recommender System] RecBole 라이브러리 소개

    https://recbole.io/data_flow.html Data Processing Pipeline | RecBole The overall data flow can be described as follows: The details are as follows: Raw Input: Unprocessed raw input dataset. Detailed in [ Dataset List ]. Atomic Files: Basic components for characterizing the input of various recommendation tasks, proposed by recbole.io “世有伯乐,然后有千里马。千里马常有,而伯乐不常有。”——韩愈《马说》 "세상에는 백락이 있고, 그 다음에는 천리마가 ..

    [AI/이론] 딥러닝 기반의 추천시스템 Recommender System, 행렬분해(MF), NeuralCF, GMF, MLP

    딥러닝 추천시스템 모델 기반 협업 필터링 - MF, 딥러닝 - MLP: 주로 행렬분해(Matrix Factorization) 개선 ex) NeuralCF, DeepFM, Wide&Deep Learning - AutoEncoder: 차원축소 등 딥러닝 ex) RBM-Rec, AutoRec, CDAE - RNN/CNN: Sequential Recommendation. ex) GRU4Rec, Caser, SLi-Rec - Transformer: 주로 언어모델 활용 ex) SASRec, SSE-PT, BERT4Rec 평점 예측 - 연속된 숫자 형태의 평점을 예측하고 이를 평가. ex) 0~5 - 일반적으로 관측된 테스트 데이터에 대해서만 평가. - RMSE, MAE를 주로 사용. MF: Matrix Factor..

    [AI/이론] 추천시스템 Recommender System_ 협업필터링, 사용자기반, 컨텐츠 기반, 지식 기반 추천

    추천시스템 (Recommender System): 사용자가 관심을 가질만한 콘텐츠 (상품, 영화, 이미지, 뉴스 등)을 추천하는 기계학습의 한 방법으로 사용자의 선호도 및 과거 행동을 토대로 사용자의 관심과 흥미를 가질만한 콘텐츠를 제공하는 것 ex) 사용자의 과거 행동 데이터(구매지표, 평점, 좋아요수) 등 메타데이터: 상품 정보, 사용자 그룹 등 추천시스템 활용도: 상품 추천, 컨텐츠 추천, 뉴스 추천, 개인 맞춤형 광고, 앱 추천 case 1. 상품 추천하는 경우) – 상품: 도서, 음악, 전자제품, 식료품 등 –사용자 행동: 명시적 (별점, 리뷰), 암묵적 (구매, 검색) –추천 기준: 베스트셀러, 관심그룹별 추천, 비슷한 상품 case 2. 개인 맞춤형 광고) - 사용자 행동: 암묵적(접속로그,..