728x90
반응형

Recommender Systems 17

추천시스템 - (12) 랭킹 기반 평가

추천시스템 랭킹 기반 평가 일부 추천 분야에서는 랭킹이 중요하다. 따라서 일반적인 머신러닝에서의 메트릭들과는 달리 실제로 예측 결과의 랭킹에 중점을 둔 메트릭들을 사용한다. 랭킹 그리고 랭킹의 위치가 중요한 몇가지 메트릭을 더 알아보도록 한다. 이러한 메트릭들은 relative한 선호도가 얼마나 반영되어 있는지를 평가한다. 랭킹기반 평가 기법에는 두가지 종류가 있다: Binary relevance와 Utility이다. Binary Relevance는 아이템이 좋은 추천인지 그렇지 않은지에만 관심이 있다. 앞서 언급된 Recall@K와 같은 경우가 이에 속한다. Utility는 실제 랭킹의 위치, 즉 추천된 아이템이 얼마나 좋은지 혹은 어떠한 랭킹보다 더 좋은지 나쁜지에 더 중점을 둔다. Mean Reci..

추천시스템 - (7) 제품연관성

추천시스템 아마존과 같은 쇼핑사이트에서 상품을 볼 때, 연관성 있는 제품을 추천해 주는것을 볼 수 있다. 비개인적 추천은 추천을 하기 위한 맥락이 부족하다. 하지만, 연관제품 추천은 이런 상황에서 매우 구체적인 맥락을 만들어준다. 사용자가 현재 보고있는 제품을 맥락으로 보고 관련 제품을 추천할 수 있기 때문이다. 단기적, 맥락적 개인화 이러한 추천은 긴 라이프사이클을 가지지 않는 추천이고, 지금 사용자가 무엇을 하고 있는가에 대한 맥락이 있는 개인화이다. 사용자가 이리저리 이동하는 것을 보고 사용자의 현재의 관심을 파악할 수 있다 사용자 개인의 선호도에 대한 오래된 시간적인 정보를 반영하지는 않는다. 추천 계산법 수작업: 교차판매표 수작업으로 교차판매표를 만들어, 특정 상품과 연관성있는 상품을 추천할 수..

추천시스템 - (6) 인구통계

추천시스템 서론 기술통계의 방법론(인기도, 평균 등)을 사용하면 쉽게 일반적인 추천을 만들어 낼 수 있지만, 개인화가 없다면 추천법이 효과적이지 않을 수 밖에 없다. 첫번째 개인화의 방법으로 약한 개인화의 방법인 인구통계적인 방법론을 이야기 할것이다. 인구통계 인기도는 개개인의 선호도가 전혀 반영되어 있지 않은 정보이다. 예를 들어 빌보드에 인기있는 음악들은 젊은 사람들의 선호도로 가득 차 있을 수 밖에 없다. 따라서 그 차트에는 내가 원하는 음악이 없을 수도 있다. 조금의 개인화를 반영하기 위해서는, 전체를 여러 집단(cohort)으로 나누어 볼 수 있을 것이다. 나이 성별 인종/민족성 사회경제적 상태 지역 위의 정보 외에도 인구통계적인 방법은 아니지만, 쉽게 예상 가능한 범주 내에 있는 집단을 만들 ..

추천시스템 - (4) 추천 알고리즘

추천시스템 추천 알고리즘의 종류 기본적인 모델 추천 모델에는 다음과 같은 원소들이 있다. 사용자 시스템을 사용하는 사용자들 아이템에 대한 선호도를 가지고있다 아이템 추천을 시행할 대상이다. 평점 사용자가 아이템에 대해 표현하는 선호도이다. (커뮤니티) 사용자들이 표현하는 의견들이 통용되는 공간(커뮤니티) 이다. 사용자는 개개인의 속성(특성)을 가지고 있고, 그 속성에 기반해 사용자모델이 만들어진다. 사용자 모델은 선호하는 영화 장르, 좋아하는 샐깔과 같은 사용자의 정보들의 집합이다. 각 아이템에도 속성이 있다 - 영화의 감독은 누구인가, 책의 저자는 누구인가와 같은 속성을 가지고있다. 그리고 사용자는 아이템에 대한 평점을 매길 수 있다 - 평점은 수적인 점수일 수도 있고, 구입한 이력일 수도 있다. 비개..

추천시스템 - (3) 추천의 분류

추천시스템 추천의 분류 추천시스템을 고안할 때는 다음 8가지 분류를 고려해 고안한다: 추천의 도메인 추천의 목적 추천의 맥락 추천의 제안자 개인화의 정도 개인정보와 신뢰도 인터페이스 추천 알고리즘 추천의 도메인 무엇이 추천이 되고있는가? 기사인가, 물건인가, 상품인가? 사람을 추천하는 중인가? 연속적인 무언가 (음악 플레이리스트) 인가? 오래된 아이템을 대하는 방법 어떤 도메인에서는 새로운 아이템을 추천하는데에 관심이 있고 (영화나 책 등), 어떤 도메인에서는 오래된 아이템을 추천하는데에 관심이 있다 (음악, 상품 등) 추천의 목적 상품을 사거나 무언가를 소비하게 하는것 사용자/고객을 교육하는 것 상품이나 컨텐트의 커뮤니티를 형성하기 위한 것 추천의 맥락(Context) 추천이 이루어질 때 사용자는 무엇..

추천시스템 - (1) 개요

추천시스템 추천시스템의 역사 정보검색 정보검색 분야는 방대한 양의 문서들에 대해 질문할 수 있는 시스템이 필요해서 만들어졌다. 초반에 이 분야가 발전하게 된것은 컴퓨터 회사들의 많은 소송때문이었다. 같은 기술이 도서관의 카탈로그와, WWW의 페이지들의 색인을 만드는데 쓰인다. 사람들은 다이나믹하게 카탈로그를 조회할 수 있기를 원하기 때문에 실시간으로 조회하는 기능이 필요했다. 많이 쓰이는 방식중 하나는, 문서들의 단어들의 빈도수를 사용해 랭킹을 매겨주는 TFIDF라고 하는 방법이다. 정보 필터링 정보검색의 반대되는 추정에서 시작 사람들은 기사를 검색할 때, 주제에 맞는 모든 기사를 원하는 것이 아니라 나와 연관있는 것 또는 내가 관심있는 것만 원한다. 정보의 필요는 정적이지만, 컨텐트 베이스는 동적이다...

추천시스템 13 - 사용자-사용자 협업필터링

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/collaborative-filtering?specialization=recommender-systems 비개인적 추천 비개인적인 추천을 하려면 다음과 같은 수식을 사용하면 된다. $$S(u, i) = \frac{\sum_{v \in U} r_{vi}}{ |U|}$$ u - 현재 사용자 i - 아이템 S(u, i) - 예측값 U - 모든 사용자 |U| - 모든 사용자의 수 v - U에 속한 다른 사용자 $r_{ui}$ - 아이템에 대한 현재 사용자의 평점 사용자-사용자 추천 이 수식에 기반하여 사용자-사용자 추천을 계산..

추천시스템 11 - TFIDF

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/recommender-systems-introduction?specialization=recommender-systems TFIDF TFIDF기법은 정보검색 분야에서 출발한 개녑이다. 정보검색과 관련된 개념을 자세히 설명하지는 않을것이지만, 정보검색에 TFIDF가 어떻게 쓰였는지 들여다 보도록 하자. 만약 기본적인 검색기능(태그 와 랭킹 기반)이 실패하면 어떻게할까? 특정 단어를 가진 문서를 모두 가져온다면, 너무 많을것이다. 어떠한 방식으로 랭킹을 정하는가? 두가지 요인을 고려해 볼 수 있다. 단어의 빈도는 중요한 요..

추천시스템 10 - 컨텐츠 기반 추천

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/recommender-systems-introduction?specialization=recommender-systems 안정적인 선호도로부터 시작 컨텐츠기반 추천에서는 컨텐츠의 속성들을 안정적인 선호도로 선정한다. 예) 뉴스 기술관련 뉴스, 대학관련 뉴스, 식당관련 뉴스 등 옷 면티, 파란색, 저가, 캐쥬얼 영화 톰 행크스, 우디 앨런, 코미디 호텔 24시간 프론트데스크, 룸서비스, Wifi, 수영장 핵심 아이디어 아이템들의 관련된 속성들을 사용해 모델링을 한다. 컨텐츠의 속성에 따라서 사용자의 선호도를 노출한다. 그..

추천시스템 9 - 비개인적 추천 코드예제

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/recommender-systems-introduction?specialization=recommender-systems 원본 코드 예제에서는 Excel로 코딩하게 되어있지만, 파이썬으로 코딩한 예제입니다. 1. 영화 평점¶ 문제: 평균 평점을 계산하고, 최상위 3개의 영화와 점수를 구하시오 먼저 Pandas 패키지를 import 하겠습니다. In [94]: import pandas as pd movies_df = pd.read_csv('./HW1-data.csv') movies_df.head() Out[94]: Use..

728x90
반응형