분류 전체보기(327)
-
12. Deep Learning Model with Recommend System
딥러닝을 사용하는 이유 1. nonlinear transformation은 user-item interaction pattern을 효과적으로 모델링하여 선호도를 예측할 수 있음. 2. raw data를 feature representation을 학습하여 표현하기 때문에 사람이 직접 표현을 신경쓰지 않아도 됨. 3. sequence model : next-item prediction, session-based recommendation에 사용됨. 4. Flexibility : 이미 프레임워크가 다양하게 개발되어 있어서 메타데이터가 다양한 추천시스템에서 쉽게 응용하여 사용할 수 있다. 추천시스템에서 첫 딥러닝 모델을 사용했다는 관점에서 History를 한번 알아보자. 1. Neural Collaborativ..
2023.11.30 -
11. Approximate Nearest Neighbor(ANN)
Nearest Neighbor(NN) - vector space model에서 내가 원하는 query vector와 가장 유사한 vector를 찾는 알고리즘 - accurate와 response time의 tradeoff관계를 고려해야한다. 빠른 서비스 제공이 중요할 수도! ANNOY : spotify가 개발한 tree-based ANN기법 - 주어진 벡터들을 여러 개의 subset으로 나누고 tree형태의 자료 구조로 구성 후 탐색 진행. query에 해당하는 영역에 존재하는 vector들을 추천. 문제점 : 가장 근접한 점이 다른 tree(영역)에 있을 경우 추천하지 않음. 해결방법 : 1. query에 해당하는 영역과 닿아있는 인근 지역까지 탐색범위로 추가 (but response time 증가) ..
2023.11.30 -
10. Item2Vec
Skip-Gram with Negative Sampling(SGNS)에 영감을 받은 방법론. 유저가 소비한 아이템 리스트는 문장 소비한 아이템은 단어로 가정하여 Word2Vec 사용 - 식별자 feature를 사용하지 않기 때문에 유저 식별 없이 세션 단위로도 데이터 생성 가능 - SVD기반 MF를 사용한 Item-Based Collaborative Filtering 보다 Word2Vec를 사용하는 것이 더 높은 성능을 보임. **t-SNE는 고차원 데이터를 2차원으로 축소시켜 시각화를 진행할 때 사용하는 기법 ex) spotify에서 플레이리스트는 문장, 각각 노래들은 아이템이라고 볼 수 있다.
2023.11.30 -
9. Embedding
Embedding : 주어진 데이터를 낮은 차원의 벡터로 만들어서 표현하는 방법 - Latent와 동일하다고 생각해도 된다. - 보통 one-hot encoding을 통해 단어를 벡터화 한 후(이것을 sparse representation이라고 한다) embedding을 통해 조금 더 압축된 벡터로 표현한다(이것을 dense representation이라고 한다) - 비슷한 의미를 가진 단어라면 embedding vector 또한 거리가 가깝다고 볼 수 있다. - embedding을 표현하기 위해서는 학습 모델이 필요함! 잘 나타내기 위한 방법론을 고민. Word2Vec : word to vector(embedding) 표현 모델. - 학습 방법으로는 CBoW, Skip-Gram이 있다. CBoW(Con..
2023.11.30 -
8. Model-Based Collaborative Filtering
NBCF 한계 - sparsity : cold start - scalability : item이 늘어날 수록 계산비용은 기하급수적 증가 Model-Based Collaborative Filtering(MBCF) - 데이터에 숨겨진 유저-아이템 관계의 잠재적 특성,패턴을 찾는다. - 유저, 아이템 벡터를 모두 학습을 통해 변하는 파라미터로 인식. - 현업에서는 Matrix Factorization 기법이 가장 많이 사용됨. 장점 : 1. 이미 학습된 모델을 바탕으로 서빙 수행 = 빠르다 2. sparsity, scalability 문제 개선. (sparsity ratio가 99.5% 이상일 때도 좋은 성능을 보임. 또한 item 개수가 늘어나도 좋은 성능을 보임) 3. overfitting 방지 4. Li..
2023.11.29 -
7. K-nearest Neighbors Collaborative Filtering
NBCF의 한계 - 모든 유저간의 유사도를 계산하기엔 compute cost가 너무 비싸다. - 또한 오히려 모든 유저와의 계산을 진행할 경우 성능이 떨어지기도 한다. KNN CF - 맞추고자 하는 유저 j에 대해 가장 유사한 K명의 유저의 데이터만 활용. - 일반적으로 K는 25~50. 하이퍼파라미터. - 궁금한점. 결국 모든 유저와의 유사도를 구하고, 그 중 K개만 계산하는건데.... 모든 유저와의 유사도를 구하는 과정은 동일하지 않나? KNN CF에서 주로 사용하는 유사도 평가 지표 4가지 어느것이 가장 좋다고 정해진 것은 없다. 4가지 중에 가장 좋은 성능을 보이는 것으로 선택하여 풀어야함. 결국 문제는 빈칸채우기 - 유저 u가 아이템 i에 부여할 평점 예측하기. 평점 주는 방식은 Absolute..
2023.11.29