728x90
반응형

데이터사이언스/추천시스템 13

추천시스템 - (13) 특성 평가

추천시스템 추천시스템의 특성 평가 추천시스템은 도메인에 따라 여러가지 특성이 존재한다. 방송이나 드라마와 같이 인기도(Popularity)가 중요한 도메인이 있고, E-commerce와 같이 사용자의 현재 관심사가 중요한 도메인도 있고, 도서나 문학과 같이 장기적인 선호도를 고려해야하는 도메인이 있다. 이러한 추천시스템의 특성들을 조금 일반화하여 평가할 수 있는 6가지 지표를 설명한다. Coverage Coverage란 추천시스템이 추천을 할 수 있는 아이템의 비율이다. 이는 개인 혹은 어떠한 신뢰(Confidence) 임계점에 대하여, 얼마나 많고 다양한 아이템을 추천할 수 있는지를 측정하는 지표이다. 예를 들면, 전체 아이템의 갯수가 1000개가 있는데, 전체 유저가 대체로 본 아이템들이 10%에 해..

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

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

추천시스템 - (11) 추천시스템 평가

추천시스템 추천시스템의 평가 추천시스템의 평가는 추천을 하기 위해 만들어진 모델이 얼마나 좋은 성능을 보이는가를 평가한다. 추천 모델을 평가할때는 하나의 값을 얼마나 잘 맞추었는지에 중점을 두지 않는다. 이는 추천이 결국 사용자가 좋아하는 아이템을 선정하려는 결정에 도움을 주려는 목적을 가지고 있기 때문이다. 따라서 얼마나 잘 맞추었는지 보다는 추천된 아이템 중 어떤 아이템이 좋은 아이템이고 어떤 아이템이 나쁜 아이템인지에 중점을 둔다. 일반적으로 머신러닝 문제에서는 에러율을 기준으로 모델이 좋은지 혹은 나쁜지 평가한다. 하지만 추천에서는 (검색 분야에서 파생 되었기 때문에 같은 메트릭을 사용한다) Precision과 Recall을 더 주로 사용한다. Precision 선택된 아이템들 중 몇개의 아이템이..

추천시스템 - (10) 추천시스템의 학습

추천시스템 추천시스템의 학습 데이터 추천시스템은 보통 이미 존재하는 사용자들의 기록들을 통해 학습된다. 이 기록들은 보통 사용자들의 구매 이력, 평점 이력, 클릭 이력 등의 로그성 데이터이다. 추천 모델은 이 사용자들의 기록을 학습함으로서 시뮬레이션 하게 된다. 학습된 시뮬레이션을 통해 사용자의 다음 행동을 예측할 수 있는지를 테스트 하는 것이 추천 모델을 평가하는 것이 된다. Train Test Split 대개의 머신러닝 문제와 같이, 추천 시스템의 평가는 학습 데이터와 테스트 데이터를 분리하게 된다. 만약 존재하는 데이터로 추천 모델을 학습시킨 뒤, 이를 실제 서비스 중인 웹사이트에 적용해 테스트 한다면, 이런 테스트 방법을 Online 평가라고 부른다. 하지만, 많은 경우 여건상, 이런 Online..

추천시스템 - (9) 컨텐츠 기반 추천

추천시스템 안정적인 선호도로부터 시작 컨텐츠기반 추천에서는 컨텐츠의 속성들을 안정적인 선호도로 선정한다. 뉴스 기술관련 뉴스, 대학관련 뉴스, 식당관련 뉴스 등 옷 면티, 파란색, 저가, 캐쥬얼 영화 톰 행크스, 우디 앨런, 코미디 호텔 24시간 프론트데스크, 룸서비스, Wifi, 수영장 핵심 아이디어 아이템들의 관련된 속성들을 사용해 모델링을 한다. 컨텐츠의 속성에 따라서 사용자의 선호도를 노출한다. 그것은 곧 추천이 된다. 컨텐츠 기반 필터링 컨텐츠기반 필터링은 컨텐츠의 속성이나, 선호도를 표현할 수 있는 키워드들을 벡터로 만든다. 사용자가 아이템을 읽거나, 클릭하거나, 사거나 하는 액션을 취한다면 그것을 통해 사용자의 프로파일 정보를 유추해 볼 수 있다. 사용자가 평점를 매긴다면, 그것을 직접적인 ..

추천시스템 - (8) 연관성 분석 추천 예제

추천시스템 다음은 분석에 사용될 파일입니다. 연관성 분석 예제¶ 다음 예제는 연관성 분석을 통해 20명의 사용자들에게 20개의 영화를 추천하는 예제입니다. 패키지 임포트¶ 패키지는 pandas 패키지를 사용하였습니다. pandas의 버전은 다음과 같습니다. In [1]: import pandas as pd pd.__version__ Out[1]: '0.25.1' 영화 데이터¶ 다음은 분석에 사용할 영화 데이터 입니다. In [2]: movies_df = pd.read_csv('./np-ratings.csv') print(movies_df.shape) movies_df.head() (20, 20) Out[2]: 260: Star Wars: Episode IV - A New Hope (1977) 1210: ..

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

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

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

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

추천시스템 - (5) 기술통계

추천시스템 비개인적 추천 비개인적 추천을 왜 하는가? 새로운 유저는 개인화 할 수 있는 정보도 별로 없으니 이들을 위해 처음부터 시작하는 용도로 사용한다. 심플하고 빠르지만, 이점이 많다. 온라인 매체들 중 이러한 방법론을 사용하는 곳이 많이 있다. 개인화가 불가능하거나 힘든 곳에서 사용한다. 기술통계 기술통계란, mean, max, median과 같은 기본적인 통계적 기술을 말한다. 기술통계를 통한 추천은, 간단한 통계적 방법으로 데이터를 분석해 추천을 하는 것이다. 약한 개인화 우편번호, 대략적 위치 나이, 성별, 국적, 민족성 이러한 정보들은초반의 정형화된 추천을 하기에 매우 적합하다. 사용자가 지금 보고있는 아이템에 관련된 추천을 하는것도 약한 개인화에 해당된다. ZAGAT 이야기 ZAGAT이라고..

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

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

728x90
반응형