추천시스템 - 1장

Havi·2023년 2월 5일
0
post-thumbnail

추천시스템의 두 가지 기본 모델

예측 모델

사용자 - 아이템 조합에 대한 평가값을 예측

랭킹 모델

특정 아이템에 대해 목표로 상위-k 사용자를 결정하거나,
특정 사용자에 대한 상위-k 아이템을 추천 하는 것이다.
-> top-k 추천 문제라고 불린다.

불완전 행렬이란

평점(정보)가 비어 있는 영역이 있는 행렬을 말한다.
--> 비어있는 평점은 채워저 있는 평점 데이터를 학습해 만든 예측 모델을 이용하여 채운다.
(준지도 학습이랑 비슷한듯 )

추천 시스템의 일반적인 운영 및 기술적 목표

1. 관련성

추천 시스템의 가장 명백한 목표는 사용자와 관련있는 아이템을 추천하는 것이다.
-> 사용자가 흥미를 느끼는 아이템일수록 더 많은 소비를 하기 때문임.

물론 관련성도 중요하지만 2차 목표도 중요하다.
다음은 2차 목표를 설명한다.

2. 참신성

이전에 보지 못했던 아이템을 추천하는 것이다.

3. 의외성

이전에 보지 못한 것이 아니라, 정말 뜻밖의 추천을 말하는 것이다.
-> 참신성과는 대비가 됨으로, 정말 뜻밖의 예상 밖의 추천을 말한다.

장점은 새로운 관심영역을 발견할 수 있기 때문에 소비구역이 넓어 지지만,
단점은 의외의 추천은 대체로 관련성이 없는 아이템을 추천한다.

4. 증가된 추천 다양성

추천된 리스트에 다양한 아이템이 있을 경우, 최소한 하나를 선호할 가능성이 높아진다.
만약 추천된 리스트에 같은 종류의 아이템이 있다면 사용자는 이들 중 어느 것도 선호하지 않을 위험이 커지기 때문이다.

소셜 네트워크

제품 추천은 제품 판매를 촉진해 판매자의 이익을 증가시키지만, 소셜 네트워크에서는 네트워크의 수를 늘려야 사용자의 경험이 풍부해진다.
--> 소셜 네트워크의 성장을 장려하는 것으로 연결되고, 광고 수익이 오른다.
따라서 잠재적 친구의 추천을 통해 네트워크의 성장과 연결성을 높일 수 있다.(링크예측)
이러한 추천형태는 평점데이터가 아닌, 구조적 관계에 기반한다.

상호 추천 모델

애플리케이션별 목표에 대해 추천하는 방법이 다르다.
페이스 북은 친구를 추천하고, 구직 사이트는 고용주와 구직자를 서로 추천한다.

명시된, 관측한 <-> 관측하지 않은, 누적된

추천 시스템의 기본 모델

협업 필터링 모델

여러 사용자의 평점을 협업하여 추천한다.
협업 필터링 모델에는 메모리기반 방법모델 기반 방법론 으로 나뉜다.

메모리 기반 방법

사용자의 과거 기록(메모리)를 분석한다.
방법은 사용자 기반 방법아이템 기반 협업 필터링 으로 나눠진다.

  • 사용자 기반 방법
    타깃 사용자 A와 유사한 성향을 가지고 있는 사용자들의 평점으로 타깃 사용자 A를 예측한다.

  • 아이템 기반 협업 필터링
    사용자 A를 통해 타킷 아이템 B의 평점을 예측한다.
    (아이템 B와 유사한 아이템 집합 S를 분석에 이용하여)

모델 기반 방법론

머신러닝 모델, 데이터 마이닝 기술을 이용하여 학습한다.

평점의 종류

  • 인터벌 기반 평점: 순서가 정렬된 서로 다른 숫자의 인터벌 형태를 말한다 (1~5점 형태)
  • 강제 선택 평가 시스템: 평가 척도의 불균형이 있는 경우 (좋음 표현이 3개, 싫음 표현이 2개 인 경우)
  • 서수 평점: 순서형의 범주형 값, 서수의 속성 개념이다 ( 강한 비동의 ~ 강한 동의 )
  • 이진 평점: 평점이 좋음, 싫음 으로 2분법적 형태로 나눠진 경우
  • 단항 평점: 호감만을 평가하고, 비호감 표현은 없다 ( 고객의 구매행동을 단항 평점으로 표현할 수 있다)

평점 행렬 == 효용행렬
명시적 피드백 행렬 ~> 선호도 해당
암시적 피드백 행렬 ~> 신뢰도 해당

명시적 피드백 행렬

유저와 아이템간의 평점데이터가 있는 행렬을 말한다.

누락된 값, 결측치 처리

명시적 평점 행렬 에서는 누락된 평점을 다른 값으로 대체하는 것을 권장하지 않는다.
누락된 값을 대체하면 분석에서 큰 바이어스가 발생하기 때문이다.

암시적 평점 행렬 에서는 단항의 경우 (1로만 이루어진 행렬)엔 암시적 피드백 데이터에 대한 전제가 '사용자는 대부분의 아이템을 사지 않을 것이다'이기 때문에 누락값을 0 으로 대체하는 방법은 명시적 평점 행렬보다는 다소 약한 바이어스를 감안하기도 한다.

콘텐츠 기반 추천 시스템

아이템의 설명 속성을 추천에 활용한다.

  • 장점 : 사용자 개인의 평점이나 구매행동이 알려지지 않을 경우 아이템을 좋아할지 안좋아할지 예측할 수 있다.
  • 단점 : 키워드나 내용 때문에 명백한 추천을 제공함, 이는 사용자가 단 한번도 특정 키워드가 있는 아이템을 이용한 적이 없을 경우 다양한 아이템을 추천하지 않을 것이다.
    또한, 새로운 사용자에게 제안하는 추천은 좋지 않음.

    콘텐츠 기반 과 협업 필터링은 서로 trade off 관계에 있다.

지식 기반 추천 시스템

자주 구매하지 않은 아이템에 대해 유용하다 ( 자동차, 집, 금 같은 아이템인 경우 )

지식 기반 추천 시스템은 고객의 요구사항, 아이템 상세정보 간의 유사도 등을 이용한다.

지식 기반 추천의 목표를 달성하기 위해 활용하는 인터페이스는 다음과 같다.

제약 기반 추천 시스템

사용자가 아이템에 대해 요구 사항과 제한 내용을 아이템 속성에 기입하게 된다.
예로는, 주택 구입을 위한 제한 기반 인터페이스의 사례로
최소 침실, 최대 침실, 최소 화장실과 같은 아이템 속성을 기입할 수 있다.

사례 기반 추천 시스템

사용자가 대상 또는 앵커 포인트로 지정된다. (? 무슨 말인지 )

지식 기반 추천 시스템의 상호작용

1. 대화형 시스템

사용자 선호도를 반복적인 대화형 시스템의 맥락에서 결정된다.

2. 검색 기반 시스템

사용자 선호도는 "당신은 교외의 주택과 도시 속의 주택중에서 어느 곳을 선호 하십니까?" 와 같은 사전의 질문을 통해 추출한다.

3. 탐색 기반 시스템

사용자는 현재 추천하는 아이템에 대한 변경 요청 수를 명시하고, 반복 되는 변경 요청을 통해 원하는 아이템에 도달달 할 수 있다.

지식 기반 시스템과 콘텐츠 기반 시스템은 아이템의 속성에 크게 의존한다는 것이다.
하지만 그 차이가 존재한다.

  • 지식 기반 시스템: 자신의 필요와 관심사에 대한 능동적인 사용자 요구 사항을 기반으로 추천
  • 콘텐츠 기반 시스템: 사용자의 과거 행동으로 부터 기반하여 학습한다.

시스템 별로 구분하는 이유?
시스템의 목표와 사용한 입력 데이터의 종류에 기반하기 때문이다.

profile
집중집중

0개의 댓글