추천 시스템 1장 : 추천 시스템 소개

태환·2023년 7월 26일
0

Recommendation System

목록 보기
1/12
post-thumbnail

📌 1장을 정리하며

<추천 시스템> 2회독 과정에서 책을 정리하고 있다.

1회독 하면서 사실 정말 힘들었다.
밑줄 쳐가며 읽었고 이해하려 노력했다.
다만 이해되지 않는다고 붙잡고 있지 않았으며
과감히 넘어갔기에 수식적인 부분은 기억속에 없는 것 같다.

수식을 볼 때면 이렇게 공부하는 것이 맞나 항상 의심했다.
혼란스러운 마음을 가지고 1회독을 마쳤다.

현재 1장 2회독을 마친 시점, 지금까지 배운 것들을 하나의 큰 틀로 묶을 수 있게 됐다.
정말 까마득한 범위와 도통 감이 잡히지 않았던 내용들이 연결되어 머릿속을 채운다.

<추천 시스템> 책을 통해 독학하는 과정에서 나와 같이 방향성 혹은 책에 대한 의심이 생기는 사람들에게 확신을 주고 싶어 글을 쓴다.
해당 책을 모두 정리하고 나면 이 확신이 큰 힘을 갖을 수 있길 바라며
조금의 기대감을 안고 <추천 시스템>을 정리하고자 한다.

2회독은 수식에 대한 이해를 목표로 한다.

📌 추천 시스템의 목표

📖 추천 문제 공식화 기본 모델

1. 예측 모델

  • 불완전하게 만들어진 행렬을 가지며 나머지 값은 학습 알고리듬에 의해 예측 되기 때문에 행렬 완성 문제라고도 한다.
사용자-아이템 조합에 대한 평가 값을 예측

2. 랭킹 모델

  • 추천 문제의 순위를 계산하는 것이기 때문에 top-k 추천 문제라고도 한다.
1. 특정 사용자에 대한 상위-k 아이템을 추천
2. 특정 아이템에 대해 목표로 하는 상위-k 사용자를 추천

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

  • 추천 시스템의 주된 목적은 판매자의 수익을 증가시키는 것이지만,
    광범위한 비즈니스 중심 목표를 달성하기 위해 추천 시스템의 일반적인 운영 및 기술적 목표를 정리한다.

1. 관련성

사용자와 관련이 있는 아이템 추천
 * 추천 시스템의 주요 운영 목표

2. 참신성

사용자가 이전에 보지 못했던 아이템 추천
 * 장점 : 사용자에게 다양한 상품을 구매할 수 있는 기회 제공

3. 의외성

사용자가 이전에 보지 못했을 뿐더러 뜻 밖의 아이템 추천
 * 장점 : 사용자에게 다양한 상품을 구매할 수 있는 기회 제공
 * 단점 : 대체로 관련성이 없는 아이템을 추천

4. 증가된 추천 다양성

상위 k개의 아이템의 다양성 증가
 * 장점 : 사용자가 선호하는 아이템이 있을 가능성 증가

5. 의외성 vs 참신성

Ex>
참신성 : 인도 음식을 먹는 사용자에게 인근 새로 생긴 인도 음식점 추천
의외성 : 인도 음식을 먹는 사용자에게 에티오피아 음식점 추천

📌 추천 시스템의 기본 모델

데이터 구성

1. 평점이나 구매 행동과 같은 사용자-아이템 인터랙션
2. 텍스트로 된 프로파일 혹은 관련 키워드와 같은 사용자 아이템에 관한 속성 정보

기본 모델

1. 협업 필터링 방법 : 사용자-아이템 인터랙션을 이용
2. 콘텐츠 기반 추천 방법 : 사용자와 아이템에 관련한 속성 정보를 이용
3. 지식 기반 추천 시스템 : 특정 사용자의 조건을 기반
4. 하이브리드 시스템 : 여러 종류의 추천 시스템 혼합

📖 협업 필터링 모델

여러 사용자의 평점을 협업해 추천한다.

1. 메모리 기반 방법

이웃 기반으로 사용자-아이템 조합의 평점을 예측한다.

1. 사용자 기반 협업 필터링 : 
타깃 사용자 A와 유사한 성향을 가지고 있는 사용자들의 평점 결과로 A의 추천을 진행한다.

2. 아이템 기반 협업 필터링 : 
아이템 B와 가장 유사한 아이템 중 사용자 A가 평가한 아이템의 평점을 이용해 사용자 A가 아이템 B를 좋아할지 안 좋아할지 예측하여 추천을 진행한다.
 * 장점 : 적용하기 간단하고, 살명하기 쉽다.
 * 단점 : 분포가 고르지 못한 평점 매트릭스에는 잘 작동하지 않는다.

2. 모델 기반 방법론

예측 모델에 머신러닝과 데이터 마이닝 기술을 이용한다.

3. 평점의 종류

1. 인터벌 기반 평점 : 순서가 정렬된 서로 다른 숫자의 인터벌 형태로 좋음/실음 정형화
 Ex> {-2,-1,0,1,2}
2. 강제 선택 평가 시스템 : 짝수 개의 평점 제공
 Ex> {-2,-1,1,2}
3. 서수 평점 : 순서형의 범주형 값을 이용
 Ex> {Excellent, Very Good, Good, Fair, Poor, NA)
4. 이진 평점 : 좋음/싫음에 대한 평가만 가능
 Ex> {좋아요, 싫어요}
5. 단항 평점 : 호감만을 표현하고 비호감 표현에 대한 기능 없음
 Ex> {구매 행동}

4. 명시적 평점과 암시적 평점의 예시

  • 대부분의 협업 필터링 알고리듬은 바로 평점 행렬과 연결 된다.

<오른쪽 : 단항 평점>

  • 단항 행렬은 긍정적 선호만을 의미하기 때문에 긍정적 선호 효용 행렬이라고 부른다.
  • 단항 행렬은 일반적으로 물건을 사는 행위와 같은 사용자 행동을 기반으로 만들어지기 때문에 암시적 피드백 행렬이라고도 부른다.
  • 단항 행렬은 명시적 피드백 행렬에 비해 표현력이 부족하다.
  • 암시적 피드백 행렬에서 평점은 신뢰도에 해당한다.
  • 암시적 평점 행렬에서는 누락된 평점을 0으로 대체하는 방법은 다소 약한 바이어스로 이어진다

<왼쪽 : 순위 평점>

  • 명시적 피드백 행렬에서 평점은 선호도에 해당한다.
  • 명시적 평점 행렬에서는 누락된 평점을 미리 다른 값으로 대체하면 항상 분석에서 큰 바이어스가 발생하기 때문에 권장하지 않는다.

5. 결측치 분석과의 관계

대체적으로 전통적인 결측치 평가 방법론은 협업 필터링에서도 활용된다.

6. 분류와 회귀 모델링의 일반화로써의 협업 필터링

협업 필터링은 예측이 행 방식이 아닌 항 방식으로 수행하는 분류와 회귀 모델링의 일반화다.

<왼쪽 : 기존 분류 방식, 오른쪽 : 협업 필터링 방식>

  • 협업 필터링, 특히 모델 기반 협업 필터링 방법론의 경우 변환적 성질이 매우 심하지만 최근의 행렬 완성 모델은 귀납적으로 디자인되기도 한다.
귀납적 : 새로운 인스턴스에 대한 예측을 쉽게 할 수 있는 모델
변환적 : 새로운 인스턴스에 대한 예측을 하지 못하는 모델

📖 콘텐츠 기반 추천 시스템

사용자의 평점과 구매 행동이 아이템의 콘텐츠 정보와 조합되어 추천에 활용한다.
 * 장점 : 지도 모델에서는 아이템에 대한 평점 이력이 없다 하더라도 속성을 활용해 추천에 활용할 평점을 매길 수 있다.
 * 단점
  1. 사용자가 단 한 번도 특정 키워드가 있는 아이템을 이용한 적이 없다면 그러한 아이템을 절대 추천하지 않을 것이다,
  2. 새로운 사용자에게 제안하는 추천은 효과적이지 않다.

📖 지식 기반 추천 시스템

고객의 요구 사항과 아이템 상세 정보 간의 유사도, 혹은 사용자 요구 사항을 정하면서 생긴 제약 조건을 이용해 추천 프로세스를 수행한다.

1. 지식 기반 추천 시스템이 활용하는 인터페이스 방법

1. 제약 기반 추천 시스템 : 사용자가 아이템에 대해 요구 사항과 제한 내용을 아이템 속성에 기입하면 아이템을 추천한다.
2. 사례 기반 추천 시스템 : 사용자가 특정 사례를 지정하면 유사도 측정을 통해 사례와 유사한 아이템을 추천한다.

2. 지식 기반 추천 시스템의 상호작용 방법

1. 대화형 시스템 : 사용자 선호도는 피드백 루프의 맥락에서 반복적으로 결정된다.
2. 검색 기반 시스템 : 사용자 선호도는 사전에 설정한 일련의 질문으로 추출한다.
 Ex> "당신은 교외의 주택과 도시속의 주택 중에서 어느 곳을 선호합니까?"
3. 탐색 기반 추천 : 사용자는 현재 추천하는 아이템에 대한 변경 요청 수를 명시한다.
 Ex> "현재 추천한 집에서 약 5마일 떨어진 유사한 집을 원한다."

3. 콘텐츠 기반 시스템 vs 지식 기반 추천 시스템

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

📖 인구 통계학적 추천 시스템

사용자에 대한 인구 통계학적 정보를 특정 인구 통계학적 평점 또는 구매 성향과 연결할 수 있는 분류 모델을 학습하는 데 활용한다.

📖 하이브리드와 앙상블 기반 추천 시스템

여러 유형의 기계 학습 알고리듬의 힘을 결합해 더욱 견고한 모델을 만든다.

📖 추천 시스템의 평가

평점 예측 : 분류 및 회귀 모델링과 밀접한 관계가 있다.
순위 지정 : 검색 및 정보 검색 애플리케이션에서의 검색 효율성 평가와 밀접한 관련이 있다.

📌 추천 시스템의 도메인 특화 과제

📖 컨텍스트 기반 추천 시스템

다양한 유형의 컨텍스트 정보를 고려해 추천한다.
 Ex> 컨텍스트 기반 정보 : 시간, 위치 또는 소셜 데이터 등
 * 컨텍스트 정보의 사용은 추천 프로세스의 효율성을 크게 향상시킬 수 있다는 것이 일반적으로 관찰됐다.

📖 시간에 민감한 추천 시스템

시간적 지식을 추천 프로세스에 통합한 것은 다음의 이유로 인해 중요하다.
  1. 사용자 관심사, 좋아요, 싫어요 및 유행은 필연적으로 시간이 지남에 따라 발전한다.
  2. 아이템의 평점은 특정 시간, 요일, 월 또는 계절에 따라 달라진다.
   Ex> 여름에는 반팔, 겨울에는 긴팔 추천

시간 적 측면의 여러가지 방식

1. 협업 필터링 시스템에서 시간을 명시적 매개변수로 통합함으로써 생성된다.
2. 컨텍스트 기반 추천 시스템의 특수한 경우로 볼 수 있다.

📖 위치 기반 추천 시스템

일반적으로 장소 추천 시스템은 항상 위치와 관련된 정보를 포함한다.

두 가지 유형의 공간적 지역성

1. 사용자별 지역성 : 사용자의 지리적 위치는 자신의 선호도에 중요한 역할을 한다.
 Ex> 서울의 사용자는 뉴욕의 사용자와 동일한 영화 선호도를 갖고 있지 않을 수 있다.
 * 이러한 유형의 지역성을 선호 지역성이라 한다.
2. 아이템별 지역성 : 아이템의 지리적 위치는 사용자의 현재 위치에 따라 아이템의 관련성에 영향을 미칠 수 있다.
 Ex> 사용자는 가까운 거리에 있는 음식점에 가고 싶어 한다.
 * 이러한 유형의 지역성을 이동 지역성이라 한다.

선호 지역성과 이동 지역성에 대한 알고리듬

선호 지역성 : 컨텍스트 감지 시스템
이동 지역성 : 단발성으로 휴리스틱하게 설계

📖 소셜 추천 시스템

네트워크 구조, 소셜 신호 및 태그 또는 이러한 다양한 네트워크 양상의 조합을 기반으로 한다.

노드와 링크의 구조적 추천

소셜 네트워클르 포함한 다양한 유형의 네트워크는 노드와 링크로 구성되며 많은 경우 노드와 링크를 추천하는 것이 바람직하다.

사회적 영향을 고려한 제품과 콘텐츠 추천

많은 형태의 제품 및 콘텐츠 추천은 네트워크 연결 및 기타 사회적 신호를 통해 수행한다.
 * 이런 문제들을 바이럴 마케팅이라고도 부른다.
 * 바이럴 마케팅의 목표를 달성하려면 네트워크에서 영향력 있는 주제와 관련된 주제를 정할 수 있어야 하며 이는 소셜 네트워크에서 영향 분석이라고 한다.

신뢰할 수 있는 추천 시스템

많은 소셜 미디어 사이트들은 사용자들이 직접 또는 다양한 피드백 메커니즘을 통해 서로에 대한 신뢰와 불신을 표혀할 수 있도록 한다.
 * 이러한 신뢰 정보는 더욱 강력한 추천 시스템을 만드는 데 매우 중요하다.
 Ex> 사용자는 다른 사용자의 리뷰를 통해 자신의 신뢰 또는 불신을 표현할 수 있다.

소셜 태그 피드백을 활용한 추천

가장 일반적인 피드백 유형은 소셜 태그이며 추천에서는 이를 유용한 컨텍스트로 사용한다.
 * 태그 : 사용자가 짧은 유익한 키워드를 콘텐츠에 추가하는 데 사용하는 메타 데이터를 의미
 Ex> 음악 사이트에서 마이클 잭슨의 <스릴러> 앨범에 '록'이라고 태그를 달 수 있다.

📌 고급 주제 및 애플리케이션

📖 추천 시스템의 콜드 스타트 문제

처음에 사용 가능한 평점의 수가 상대적으로 적어 전통적인 협업 필터링 모델을 사용하는 것이 어렵다.

📖 공격에 강한 추천 시스템

판매자들은 경제적 동기로 인해 추천 시스템에서 나오는 결과를 조작한다.
 Ex> 판매자가 보유한 제품의 평점을 부풀려서 추천 시스템으로 제출한다.
 Ex> 악의적인 경쟁자는 경쟁자의 제품에 관한 편파적이고 부정적인 리뷰를 작성한다.

📖 그룹 추천 시스템

단일 사용자가 아닌 사용자 그룹에게 특정 활동을 추천하도록 조정된다.
 * 평균 전략은 그룹이 서로 이질적이고 다양한 취향의 사용자를 포함할 때 작동이 잘 안된다.
   이것은 이용자들이 종종 감정이 전염되고 순응하는 것과 같은 사회 심리학 현상에 근거해 서로의 취향에 영향을 미치기 때문이다.
 Ex> 그룹별 영화, TV 시청, 피트니스 센터에서의 음악 선택, 관광객 그룹에 대한 여행 추천

📖 다중 기준 추천 시스템

한 아이템에 대한 사용자의 효용을 다양한 기준에 해당하는 평점의 벡터로 모델링해 추천을 제공한다.
 Ex> 두 명의 사용자가 한 개의 영화에 대해서 동일한 평점을 줄 수 있지만 영화의 플롯과 음악과 같은 영화 구성 요소에 대한 평점은 매우 다를 수 있다.

📖 추천 시스템의 능동 학습

  • 추천 시스템의 주요 과제 : 강력한 예측을 하기 위해 충분한 평점을 획득하는 것
다양한 실제 추천 시스템에는 사용자가 평점을 입력하도록 유도해 시스템을 채우도록 하는 메커니즘이 있다.
일반적으로 평점을 얻기 위한 프로세스의 높은 비용 때문에 단일 사용자로부터 너무 많은 평가를 얻는 것이 어렵다.
따라서 특정 사용자가 평점을 매기는 아이템을 신중하게 선택해야 한다.
 Ex> 사용자가 이미 많은 액션 영화를 평가한 경우 사용자에게 다른 액션 영화의 평가를 요청하는 것은 그다지 도움이 되지 않는다.

📖 추천 시스템의 개인정보보호

사용자의 피드백에는 사용자의 관심사에 대한 중요한 정보가 포함돼 있으며 정치적 의견, 성적 취향 및 개인 취향 정보가 공개될 수 있기에 개인정보보호에 관한 우려가 있다.
하지만 실제 데이터를 사용할 수 있다는 것은 알고리듬 발전을 위해 매우 중요하다.

📖 애플리케이션 도메인

  • 추천 시스템의 중요 측면 : 장기적인 사용자의 이익을 추적하고 식별하기 위해 강력한 사용자 식별 메커니즘 존재
뉴스 추천, 전산 광고 및 상호 추천 시스템과 같이 특정 도메인은 본질적으로 웹 중심이기 때문에 강력한 사용자 식별 메커니즘을 사용할 수 없다.
이러한 경우에는 추천 기술을 직접 사용하는 것이 불가능할 수 있다.
profile
연세대학교 컴퓨터과학과 석사 과정

0개의 댓글