분류 전체보기(327)
-
6. 라이브러리 소개 및 카카오 아레나 솔루션 분석
surprise : 명시적 데이터를 다루는 라이브러리 implicit : 암시적 데이터를 다루는 라이브러리 lightfm : 명시적/암시적 데이터를 모두 다루는 라이브러리 Recommenders : 콘텐츠부터 딥런이 기반까지 모두 메타 라이브러리 추천시스템 특징 1. 도메인 의존성이 높음 2. 데이터가 폐쇄적임(대부분 개인정보로 의해 제공되지 않음) 카카오 아레나 대회 : 브런치 글 추천 - 평가지표 : NDCG, MAP, Entropy Diversity - 평가지표로 미루어보아 Ranking 문제임을 추론할 수 있음 주요 issue - 신규 글이 많이 노출되는 알고리즘을 설정 - cold start 문제를 해결하기 위한 편향이 없는 글 추천. 베이스라인 코드 - 일정 기간동안 가장 많이 본 글 100개..
2023.12.19 -
5. Deep Learning 도입
Neural Matrix Factorization(NMF) - Neural Collaborative Filtering 논문의 최종 모델 - 기존 Matrix Factorization을 일반화한 모델(GMF)과 Neural Collaborative Filtering을 합친 형태 MF : R=PQ(흡사 SVD) - GMF(Generalized Matrix Factorization)은 P,Q element-wise 연산 AutoEncoder - input과 output이 같아지도록 encoder, decoder를 학습하는 방법. - 즉 x가 잘 축약될 수 있도록 encoder를 학습한다고 볼 수 있음. Wide&Deep Network - Memorization module + Generalization Mod..
2023.12.12 -
4. Machine Learning 도입
Matrix Factorization(MF) - R = PQ 로 분해 단점 : user-item 외의 정보 사용 x (content-aware 데이터를 사용할 수 없다) Content-aware 데이터를 사용하기 위해 Machine Learning에 사용되는 데이터 형태로 만들어보면 sparsity가 매우 높다. 따라서 Latent Factor Model을 통해 user와 item을 축약하여 표현. Factorization Machine(FM) - Latent Factor를 통해 user, item을 표현하고 content-aware 정보 또한 Machine Learning의 데이터 형태로 붙인 것 Field-aware Factorization Machine(FFM) - Latent Factor를 구성할..
2023.12.12 -
3. Model Based Collaborative Filtering
Latent Factor Model - user, item vector를 저차원 Latent Vector로 임베딩하는 것. - 이후 저차원에서 유사도를 구함. - 학습은 저차원으로 변환하는 weight를 학습. 1. SVD(Singular Value Decomposition) - 그 중 truncated SVD를 사용 - 행렬 분해, 축소 후 다시 복구하는 과정을 거치면서 비어있는 값을 유추 단점 1. user, item이 많아지면 성능 저하 2. 결측치가 많은 데이터에서는 작동 x **중요한 것은 user-item 행렬을 분해하여 관측되지 않은 값을 복원하는 과정에서 다시 채운다는 개념사용을 처음 도입한 모델. 2. Matrix Factorization(MF) - SVD는 3가지로 분해했다면 MF는 P..
2023.12.11 -
2. Memory Based Collaborative Filtering
추천시스템 1. 콘텐츠 기반 필터링 - 아이템간 유사도를 활용하여 현재 보고 있는 상품과 유사한 상품을 추천. - 아이템을 임베딩하기 위한 여러 방법론을 사용하여 저차원에서 유사도를 비교할 수 있도록 함. 장점 1. 다른 유저의 데이터가 필요 없음 = cold start, sparsity 문제 없음 2. 독특한 취향을 가진 유저에게도 추천 가능 3. 새로운 아이템이나 유명하지 않은 아이템도 추천 가능 단점 1. 아이템에 적합한 feature를 뽑기 어려움 2. 유사한 아이템만 반복적으로 추천되어 다양성이 떨어짐 3. 다른 유저의 데이터나 사용자의 평가를 반영하기 어려움 추천시스템 2. Collaborative Filtering - 나와 비슷한 성향의 사람들이 좋아하는 아이템을 나한테도 추천. - 즉 많은..
2023.12.11 -
1. 프로젝트 시작 : 데이터분할과 평가지표
offline test / online test로 나눌 수 있다. Offline test 데이터 분할 기법 1. Leave One Last - 사용자당 마지막 구매를 test set. 마지막에서 2번째를 valid set으로 분할 - 학습 시 많은 데이터를 사용할 수 있다는 장점. but 마지막 구매만을 평가하므로 전체적인 성능을 반영한다고 보기 어려움 단점 존재 2. Temporal User / Global Split - 특정 시점을 기준으로 test set을 분할 - data leakage가 없지만 학습 시 사용할 수 있는 상호작용이 적은 문제가 존재. 3. Random Split - 사용자 별로 interaction을 시간 순서에 상관없이 random하게 분할. - 쉽고 학습 데이터가 많다는 장점이..
2023.12.11