Context aware recommendation

MF를 이용하는 CF 모델의 경우, 유저 - 아이템 상호작용 정보만을 사용하기 때문에 만약 상호작용이 적은 초기 상태의 경우는 추천이 잘 이루어지기 쉽지 않다. (cold start)

context aware recommendation은 이를 완화하기 위해 최대한 활용할 수 있는 정보를 이용하자는 개념이다.

유저 - 아이템 상호작용 정보도 활용하지만 동시에 아이템 자체의 정보(context)도 활용하는 추천 시스템이다.

Factorization Machine(FM)

  • background

    FM은 SVM과 FM(Factorization Model)의 장점을 가진 모델이다.

    SVM은 커널 공간을 활용하여 비선형 데이터 셋을 잘 표현하며, FM은 유저 - 아이템의 상호작용 정보를 활용하여 예측한다.

    하지만 SVM은 좋은 성능을 보이지 못했는데 그 이유는 추천 시스템 내 데이터의 특성과 연관이 있다.

    추천 시스템 내 데이터는 연속적인 수치형 데이터보다는 순서나 고유값과 같은 데이터가 많고 이는 input에서 one-hot vector로 표현되게 된다.

    또 상호작용을 한 아이템보다는 상호작용을 하지 않은 아이템이 보통 더 많기 때문에 sparse한 데이터가 형성이 되게 된다.

    이로 인해 SVM이 좋은 성능을 내기 어렵다.

    MF는 앞서 설명한 바와 같이 유저 - 아이템 상호작용 정보만을 활용한다는 것 자체가 한계점이라고 볼 수 있다.

  • input data

    input 데이터는 위와 같은 방식으로 구성될 수 있다.

    기존 추천시스템 모델들과는 다르게 user, item(movie) 데이터 뿐만 아니라 movie에 대한 다양한 정보를 추가하여 구성되는 것을 확인할 수 있다.

  • model equation

    2차원 FM 모델의 수식은 아래와 같이 정의할 수 있다.

    W0W_0 : global bias
    WiW_i : i번째 변수의 강도(양수인 경우 예측 값 증가, 음수인 경우 예측 값 감소, 절댓값이 클수록 영향력 증가, 작을수록 감소)
    viv_i : i번째 변수의 특징을 보여주는 k차원의 latent vector

    마지막 term은 모든 feature 쌍에 대해 상호작용을 계산하는 것처럼 표현하고 있다.

    물론 수식 자체로만 보면 맞지만 현실에서 적용할 때에는 도메인 전문가가 보기에 상호작용이 있다고 분석하는 feature 쌍에 대해서만 계산한다.

    d=2라는 의미는 상호작용을 계산할 feature 쌍 최대 개수에 대해 의미를 한다.

    더 고차원으로 갈수록 학습 데이터에 최적화되지만 그에 따라 연산량도 높아지고 과적합이 더 잘 발생하기 때문에 차원 설정도 중요하다고 볼 수 있다.

  • advantages

    sparse한 데이터에 대해서도 높은 예측 성능을 보인다.

    선형복잡도를 가지기 때문에 대규모 데이터에 대해서도 높은 성능을 보인다.

    여러 예측 문제(분류 / 회귀 / 랭킹)에 활용 가능하다.

    일반적인 실수 변수를 모델의 입력으로 사용한다.
    (여러 부가 정보 활용 가능)



Field-aware Factorization Model(FFM)

  • background

    sparse한 데이터에서 좋은 예측 성능을 보인 FM을 더욱 발전시킨 모델이다.

    FFM은 변수들을 필드로 그룹화하여 각 필드 간 상호작용을 고려한다.

  • model equation

    위 FM 수식에서 interaction term만 위와 같이 바뀐다.

    하나의 변수에 대해서 필드의 개수(f)와 factorization 차원(k)의 곱만큼의 파라미터를 학습하기 때문에 기존 FM(k) 보다 더 복잡한 관계를 학습할 수 있다.

  • result

    문제의 특성에 따라 다르지만 FFM은 FM을 발전시킨 모델이라고 평가한다.

    그럼에도 만약 변수의 필드가 너무 많고 각 변수가 상호작용을 가질 만하거나 필드 간의 특별한 상호작용이 없어보인다면 굳이 FFM을 사용하지 않고 더 단순한 FM 모델을 사용해서도 좋은 결과를 얻을 수 있다.

0개의 댓글