<추천 시스템> 2회독 과정에서 책을 정리하고 있다.
1회독 하면서 사실 정말 힘들었다.
밑줄 쳐가며 읽었고 이해하려 노력했다.
다만 이해되지 않는다고 붙잡고 있지 않았으며
과감히 넘어갔기에 수식적인 부분은 기억속에 없는 것 같다.
수식을 볼 때면 이렇게 공부하는 것이 맞나 항상 의심했다.
혼란스러운 마음을 가지고 1회독을 마쳤다.
현재 1장 2회독을 마친 시점, 지금까지 배운 것들을 하나의 큰 틀로 묶을 수 있게 됐다.
정말 까마득한 범위와 도통 감이 잡히지 않았던 내용들이 연결되어 머릿속을 채운다.
<추천 시스템> 책을 통해 독학하는 과정에서 나와 같이 방향성 혹은 책에 대한 의심이 생기는 사람들에게 확신을 주고 싶어 글을 쓴다.
해당 책을 모두 정리하고 나면 이 확신이 큰 힘을 갖을 수 있길 바라며
조금의 기대감을 안고 <추천 시스템>을 정리하고자 한다.
2회독은 수식에 대한 이해를 목표로 한다.
사용자-아이템 조합에 대한 평가 값을 예측
1. 특정 사용자에 대한 상위-k 아이템을 추천
2. 특정 아이템에 대해 목표로 하는 상위-k 사용자를 추천
사용자와 관련이 있는 아이템 추천
* 추천 시스템의 주요 운영 목표
사용자가 이전에 보지 못했던 아이템 추천
* 장점 : 사용자에게 다양한 상품을 구매할 수 있는 기회 제공
사용자가 이전에 보지 못했을 뿐더러 뜻 밖의 아이템 추천
* 장점 : 사용자에게 다양한 상품을 구매할 수 있는 기회 제공
* 단점 : 대체로 관련성이 없는 아이템을 추천
상위 k개의 아이템의 다양성 증가
* 장점 : 사용자가 선호하는 아이템이 있을 가능성 증가
Ex>
참신성 : 인도 음식을 먹는 사용자에게 인근 새로 생긴 인도 음식점 추천
의외성 : 인도 음식을 먹는 사용자에게 에티오피아 음식점 추천
1. 평점이나 구매 행동과 같은 사용자-아이템 인터랙션
2. 텍스트로 된 프로파일 혹은 관련 키워드와 같은 사용자 아이템에 관한 속성 정보
1. 협업 필터링 방법 : 사용자-아이템 인터랙션을 이용
2. 콘텐츠 기반 추천 방법 : 사용자와 아이템에 관련한 속성 정보를 이용
3. 지식 기반 추천 시스템 : 특정 사용자의 조건을 기반
4. 하이브리드 시스템 : 여러 종류의 추천 시스템 혼합
여러 사용자의 평점을 협업해 추천한다.
이웃 기반으로 사용자-아이템 조합의 평점을 예측한다.
1. 사용자 기반 협업 필터링 :
타깃 사용자 A와 유사한 성향을 가지고 있는 사용자들의 평점 결과로 A의 추천을 진행한다.
2. 아이템 기반 협업 필터링 :
아이템 B와 가장 유사한 아이템 중 사용자 A가 평가한 아이템의 평점을 이용해 사용자 A가 아이템 B를 좋아할지 안 좋아할지 예측하여 추천을 진행한다.
* 장점 : 적용하기 간단하고, 살명하기 쉽다.
* 단점 : 분포가 고르지 못한 평점 매트릭스에는 잘 작동하지 않는다.
예측 모델에 머신러닝과 데이터 마이닝 기술을 이용한다.
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> {구매 행동}
<오른쪽 : 단항 평점>
<왼쪽 : 순위 평점>
대체적으로 전통적인 결측치 평가 방법론은 협업 필터링에서도 활용된다.
협업 필터링은 예측이 행 방식이 아닌 항 방식으로 수행하는 분류와 회귀 모델링의 일반화다.
<왼쪽 : 기존 분류 방식, 오른쪽 : 협업 필터링 방식>
귀납적 : 새로운 인스턴스에 대한 예측을 쉽게 할 수 있는 모델
변환적 : 새로운 인스턴스에 대한 예측을 하지 못하는 모델
사용자의 평점과 구매 행동이 아이템의 콘텐츠 정보와 조합되어 추천에 활용한다.
* 장점 : 지도 모델에서는 아이템에 대한 평점 이력이 없다 하더라도 속성을 활용해 추천에 활용할 평점을 매길 수 있다.
* 단점
1. 사용자가 단 한 번도 특정 키워드가 있는 아이템을 이용한 적이 없다면 그러한 아이템을 절대 추천하지 않을 것이다,
2. 새로운 사용자에게 제안하는 추천은 효과적이지 않다.
고객의 요구 사항과 아이템 상세 정보 간의 유사도, 혹은 사용자 요구 사항을 정하면서 생긴 제약 조건을 이용해 추천 프로세스를 수행한다.
1. 제약 기반 추천 시스템 : 사용자가 아이템에 대해 요구 사항과 제한 내용을 아이템 속성에 기입하면 아이템을 추천한다.
2. 사례 기반 추천 시스템 : 사용자가 특정 사례를 지정하면 유사도 측정을 통해 사례와 유사한 아이템을 추천한다.
1. 대화형 시스템 : 사용자 선호도는 피드백 루프의 맥락에서 반복적으로 결정된다.
2. 검색 기반 시스템 : 사용자 선호도는 사전에 설정한 일련의 질문으로 추출한다.
Ex> "당신은 교외의 주택과 도시속의 주택 중에서 어느 곳을 선호합니까?"
3. 탐색 기반 추천 : 사용자는 현재 추천하는 아이템에 대한 변경 요청 수를 명시한다.
Ex> "현재 추천한 집에서 약 5마일 떨어진 유사한 집을 원한다."
사용자에 대한 인구 통계학적 정보를 특정 인구 통계학적 평점 또는 구매 성향과 연결할 수 있는 분류 모델을 학습하는 데 활용한다.
여러 유형의 기계 학습 알고리듬의 힘을 결합해 더욱 견고한 모델을 만든다.
평점 예측 : 분류 및 회귀 모델링과 밀접한 관계가 있다.
순위 지정 : 검색 및 정보 검색 애플리케이션에서의 검색 효율성 평가와 밀접한 관련이 있다.
다양한 유형의 컨텍스트 정보를 고려해 추천한다.
Ex> 컨텍스트 기반 정보 : 시간, 위치 또는 소셜 데이터 등
* 컨텍스트 정보의 사용은 추천 프로세스의 효율성을 크게 향상시킬 수 있다는 것이 일반적으로 관찰됐다.
시간적 지식을 추천 프로세스에 통합한 것은 다음의 이유로 인해 중요하다.
1. 사용자 관심사, 좋아요, 싫어요 및 유행은 필연적으로 시간이 지남에 따라 발전한다.
2. 아이템의 평점은 특정 시간, 요일, 월 또는 계절에 따라 달라진다.
Ex> 여름에는 반팔, 겨울에는 긴팔 추천
1. 협업 필터링 시스템에서 시간을 명시적 매개변수로 통합함으로써 생성된다.
2. 컨텍스트 기반 추천 시스템의 특수한 경우로 볼 수 있다.
일반적으로 장소 추천 시스템은 항상 위치와 관련된 정보를 포함한다.
1. 사용자별 지역성 : 사용자의 지리적 위치는 자신의 선호도에 중요한 역할을 한다.
Ex> 서울의 사용자는 뉴욕의 사용자와 동일한 영화 선호도를 갖고 있지 않을 수 있다.
* 이러한 유형의 지역성을 선호 지역성이라 한다.
2. 아이템별 지역성 : 아이템의 지리적 위치는 사용자의 현재 위치에 따라 아이템의 관련성에 영향을 미칠 수 있다.
Ex> 사용자는 가까운 거리에 있는 음식점에 가고 싶어 한다.
* 이러한 유형의 지역성을 이동 지역성이라 한다.
선호 지역성 : 컨텍스트 감지 시스템
이동 지역성 : 단발성으로 휴리스틱하게 설계
네트워크 구조, 소셜 신호 및 태그 또는 이러한 다양한 네트워크 양상의 조합을 기반으로 한다.
소셜 네트워클르 포함한 다양한 유형의 네트워크는 노드와 링크로 구성되며 많은 경우 노드와 링크를 추천하는 것이 바람직하다.
많은 형태의 제품 및 콘텐츠 추천은 네트워크 연결 및 기타 사회적 신호를 통해 수행한다.
* 이런 문제들을 바이럴 마케팅이라고도 부른다.
* 바이럴 마케팅의 목표를 달성하려면 네트워크에서 영향력 있는 주제와 관련된 주제를 정할 수 있어야 하며 이는 소셜 네트워크에서 영향 분석이라고 한다.
많은 소셜 미디어 사이트들은 사용자들이 직접 또는 다양한 피드백 메커니즘을 통해 서로에 대한 신뢰와 불신을 표혀할 수 있도록 한다.
* 이러한 신뢰 정보는 더욱 강력한 추천 시스템을 만드는 데 매우 중요하다.
Ex> 사용자는 다른 사용자의 리뷰를 통해 자신의 신뢰 또는 불신을 표현할 수 있다.
가장 일반적인 피드백 유형은 소셜 태그이며 추천에서는 이를 유용한 컨텍스트로 사용한다.
* 태그 : 사용자가 짧은 유익한 키워드를 콘텐츠에 추가하는 데 사용하는 메타 데이터를 의미
Ex> 음악 사이트에서 마이클 잭슨의 <스릴러> 앨범에 '록'이라고 태그를 달 수 있다.
처음에 사용 가능한 평점의 수가 상대적으로 적어 전통적인 협업 필터링 모델을 사용하는 것이 어렵다.
판매자들은 경제적 동기로 인해 추천 시스템에서 나오는 결과를 조작한다.
Ex> 판매자가 보유한 제품의 평점을 부풀려서 추천 시스템으로 제출한다.
Ex> 악의적인 경쟁자는 경쟁자의 제품에 관한 편파적이고 부정적인 리뷰를 작성한다.
단일 사용자가 아닌 사용자 그룹에게 특정 활동을 추천하도록 조정된다.
* 평균 전략은 그룹이 서로 이질적이고 다양한 취향의 사용자를 포함할 때 작동이 잘 안된다.
이것은 이용자들이 종종 감정이 전염되고 순응하는 것과 같은 사회 심리학 현상에 근거해 서로의 취향에 영향을 미치기 때문이다.
Ex> 그룹별 영화, TV 시청, 피트니스 센터에서의 음악 선택, 관광객 그룹에 대한 여행 추천
한 아이템에 대한 사용자의 효용을 다양한 기준에 해당하는 평점의 벡터로 모델링해 추천을 제공한다.
Ex> 두 명의 사용자가 한 개의 영화에 대해서 동일한 평점을 줄 수 있지만 영화의 플롯과 음악과 같은 영화 구성 요소에 대한 평점은 매우 다를 수 있다.
다양한 실제 추천 시스템에는 사용자가 평점을 입력하도록 유도해 시스템을 채우도록 하는 메커니즘이 있다.
일반적으로 평점을 얻기 위한 프로세스의 높은 비용 때문에 단일 사용자로부터 너무 많은 평가를 얻는 것이 어렵다.
따라서 특정 사용자가 평점을 매기는 아이템을 신중하게 선택해야 한다.
Ex> 사용자가 이미 많은 액션 영화를 평가한 경우 사용자에게 다른 액션 영화의 평가를 요청하는 것은 그다지 도움이 되지 않는다.
사용자의 피드백에는 사용자의 관심사에 대한 중요한 정보가 포함돼 있으며 정치적 의견, 성적 취향 및 개인 취향 정보가 공개될 수 있기에 개인정보보호에 관한 우려가 있다.
하지만 실제 데이터를 사용할 수 있다는 것은 알고리듬 발전을 위해 매우 중요하다.
뉴스 추천, 전산 광고 및 상호 추천 시스템과 같이 특정 도메인은 본질적으로 웹 중심이기 때문에 강력한 사용자 식별 메커니즘을 사용할 수 없다.
이러한 경우에는 추천 기술을 직접 사용하는 것이 불가능할 수 있다.