Content based filtering, collaborative filtering

2022. 3. 13. 14:50AI/Machine learning

    목차
반응형

Content based filtering

사용자가 높은 평점을 내린 item 중 유사한 item을 추천

ex. 영화추천

    genre, actors, directors를 가지고 추천

 

item에 대해 feature를 추출하여 tem들의 feature간 '유사도'로 추천

문서의 경우 TF-IDF 기법으로 topic을 찾음

 

유사도 계산

cosine similarity 사용

            u(x,i) = cos(x,i) = x ⋅ i
                   ---------
                  ||X|| ||i||

장점

많은 사용자 data가 필요하지 않음 

다른 사람이 안 좋아해도 추천 가능

새로운(유사) 제품 추천 가능

왜 좋아하는지 설명 가능 (feature 기반)

 

단점

특징 추출

cold-start

overfitting

    유사 제품만 추천

    미경험 제품은 추천 못 함

 

collaborative filtering 

user-user CF

나와 유사하게 item을 평점한 user를 찾아 그 user의 평점으로 나의 평점을 예측

 

rx = {1,0,4,0,1}  # 0은 평점 안 한 것

ry = {4,0,2,3,0}

 

유사도 계산

Jaccard similarity

    교집합의 크기 / 합집합의 크기
    평점 정보를 보지 않아 부정확

 

cosine similarity
    세타 방향의 유사도
    내각인 경우 유효 
    90도는 0
    둔각인 경우 부정 (반대적 측면으로 유효)

    {1, ...} {4, ..} 1*4는 4임
    1*4는 negative한 relation이 됨

Pearson correlation coefficient
    1*4의 경우 positive가 되게 값을 보정
    평점에서 평균을 빼서 계산

    rx는 avg=2를 빼서 계산
    ry는 avg=3을 빼서 계산

    cosine similarity와 유사하나,
    평점에서 평균을 뺀 값을 사용함

predictig rating
    rxi: 사용자 x가 item i에 대해 매기는 예측값
    N: item i에 대해 평점내린 나와 유사한 users

    rxi = 1/k ∑ ryi

        N 내 user들의 i에 대한 평점의 평균
        으로 나의 i 평점을 예측

    rxi = ∑ Sxy ryi / ∑  Sxy

        분모: weight 합이 1이 되게 함
        Sxy: sim(x,y)
        사람간의 유사도로 가중치 부여

 

Item-item CF

이전에는 user의 item들에 대한 score가 feature vector 였다면,

이번에는 item을 user들이 score한 것이 feature vector이다.

 

user 별로 score가 비슷하게 매겨지는 item을 추천한다.

개개인만의 score를 보고 추천하는 것이 아니다. 

 

사용자 x가 이미 평점을 내린 item 과 유사한 item으로 

x가 아이템 i를 좋아할지 안할지를 예측

 

∑  Sij: sim(i,j)    item i와 j의 유사도

 

item 별 유사도를 계산

 

item의 feature vector는 각 user들의 rating

즉, item의 space는 user로 구성됨

 

    CF 장점
        어떤 item에 대해서도 동작 
        평점 정보만 있으면 됨 (feature design 필요 없음)
        보통 가장 좋은 성능의 기법


    CF 단점
        cold-start
        sparsity
            같은 item에 대해 평점을 내린 사용자를 찾기 어려움

 

 

cold-start 문제 피하기

사용자 정보 기반 추천

ex. 음악의 경우 좋아하는 장르, 가수 입력 등

 

 

반응형

'AI > Machine learning' 카테고리의 다른 글

Matrix factorization 접근법  (0) 2022.03.13
검색 vs. 추천  (0) 2022.03.13
정규화  (0) 2022.03.12
코사인 유사도(cosine similarity)  (0) 2022.03.06
로지스틱 회귀 logistic regression  (0) 2022.03.06