본문 바로가기

분류 전체보기

(31)
[CB Filtering] 1. 개요 Content-based Filtering vs Collaborative Filtering Content-based Filtering - 유저가 과거에 좋아했던 것과 컨텐츠가 유사한 아이템 추천 Collaborative Filtering - Rating을 기반으로 유저와 비슷한 성향을 지닌 집단을 찾고, 그들이 좋아하는 상품 추천 CB 추천 시스템의 구조 핵심 부품 세 가지 Content Analyzer 컨텐츠를 분석 다음 부품인 Profile Learner, Filtering Component에서 사용할 수 있도록 unstructured data를 structured data로 변환하는 작업 수행 ex) unstructured data인 raw text를 structured data인 keyword v..
Collaborative Filtering(CF: 협업필터링)1: 개요 CF에 관한 내용들이 많아서 1과 2로 나눠서 게시했다. 1은 CF의 특징, 개념에 관한 내용이고, 2는 CF를 어떻게 계산하는지에 대한 직접적인 유도를 하는 내용이다. 관련한 모델 또한 추가로 정리했다. Collaborative Filtering: 유사도 계산법 Collaborative Filtering(CF: 협업필터링)2: 유사도 계산법 Collaborative Filterting1: 개요 Collaborative Filtering(CF: 협업필터링)1: 특징, 개념 CF에 관한 내용들이 많아서 1과 2로 나눠서 게시했다. 1은 CF의 특징, 개념에 관한 내용이고, 2는 CF를 어떻.. data-matzip.tistory.com Matrix Factorization(MF, 행렬분해) MF(Matri..
[A/B Test] 집단, 특정 세그먼트, 알고리즘 A/B 테스트 안녕하세요! 데이터 맛집의 스터디주제로 새로운 알고리즘이 기업이나 고객에게 얼마나 많은 영향을 미치는가를 파악하는 테스트 기법을 소개 해 드리겠습니다. 소프트웨어 혁신은 세상을 바꾸고, 개인에게 권한을 부여하며, 경제를 성장시키는 등 예상을 뛰어넘는 수준으로 발전을 가속화하고 있습니다. 하지만 이러한 디지털 변환의 진정한 잠재력은 이러한 혁신이 제공하는 데이터의 잠재력을 이해할 때에만 파악할 수 있습니다. 사실 우리는 데이터 혁신과 함께 살아왔습니다. 방대한 양의 데이터뿐만 아니라 정보를 수집하고, 저장하고, 분석하고, 변환하는 방식을 바꾸는 이러한 데이터 혁신을 주도하여 더 나은 로직(솔루션)을 통해 기회를 모색합니다. 이후, 기존 대비 로직(솔루션)을 통해 얼마나 많은 발전이나 비즈니스의 성장이 있었..
BPR-MF(Bayesian Personalized Ranking MF) 아래의 논문과 블로그를 참고했다. 논문: Modified Bayesian personalized ranking for non-binary implicit feedback 블로그: http://sanghyukchun.github.io/95/ https://itkmj.blogspot.com/2019/08/bpr-bayesian-personalized-ranking-from.html BPR은 상품간의 선호도를 확률 모형화를 한 모델이다. BPR은 개인이 선호하는 상품을 단계별로 카테고리화하여 분석을 진행한다(Positive items: 긍정적 상품/ Negative items: 부정적 상품) 이런 BPR을 MF로 확장하고 있다. 특징 BPR에서 상품을 분류할 때, 사용자가 상품에 대한 내재적 피드백을 제공했는..
1. 앙상블(Ensemble) 기법과 배깅(Bagging), 부스팅(Boosting), 스태킹(Stacking) https://data-analysis-science.tistory.com/61 1. 앙상블(Ensemble) 기법과 배깅(Bagging), 부스팅(Boosting), 스태킹(Stacking) 안녕하세요, 허브솔트에요. 저희 데이터맛집의 허브솔트 첫 글 주제로 앙상블이 당첨됐네요...! 요새 캐글의 상위권 메달을 휩쓸고 있는 대세 알고리즘이 앙상블 기법을 사용한 알고리즘의 한 data-analysis-science.tistory.com 개인 블로그로 이전하였어요
2. Numpy로 공부하는 선형대수 2.1 데이터와 행렬 사용 목적: 대용량 데이터를 간단한 수식으로 서술할 수 있다. 즉, 여러 개의 복잡한 방정식을 간단한 행렬로 나타낼 수 있다. 데이터 유형 데이터 크기 순: 스칼라= 0 ||aA|| = |a|||A|| ||A+B|| 미지수 수: 모든 조건을 만족하는 해가 존재할 수 없을 수도 있다 보통 데이터의 수가 입력 차원보다 큰 경우가 많다. 즉, 3번의 경우가 많다. 이때는 최소자승문제로 풀어야 한다. 최소자승문제(least square problem): 잔차(벡터의 놈)를 최소화하는 문제로 푼다 x= $argmin e^{T}e = argmin (Ax-b)^{T}(Ax-b)$: 즉, 함수 f(x)를 가장 작게 만드는 x를 찾는 것이 목적
MF(Matrix Factorization, 행렬분해) MF는 CF(Collaborative Filtering)의 한 기법이다. MF는 user-item의 매트릭스에 비어있는 요소를 채우는 기술이다. 아래의 행렬이 user-item 매트릭스라고 가정해보자 $\begin{bmatrix} 2 & 5 \\ 3 & ? \end{bmatrix}$ 2번째 user(행)가 두 번째 item에 대해서 평점을 매기지 않았다. 실제로 user-item 매트릭스는 결측치가 매우 많다. 대부분의 사람들이 소수의 영화나 아이템을 구매하기 때문이다. 이런 결측치를 채우기 위해서 차원을 축소해 영화의 Latent 한 특성(장르, 미장센, 배우..)을 찾아 별점을 채운다. 매트릭스를 채우기 위해서는 PCA나 SVD, SVD++같은 알고리즘으로 분해하거나 축소를 하며 latent 한 특성..