Top 5 아이템 기반 협업 필터링 7001 Votes This Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 아이템 기반 협업 필터링 on Google, you do not find the information you need! Here are the best content compiled and compiled by the Toplist.aseanseafoodexpo.com team, along with other related topics such as: 아이템 기반 협업 필터링 아이템 기반 협업 필터링 파이썬, 아이템 기반 추천 알고리즘, 협업 필터링 추천 알고리즘, 협업필터링 코사인 유사도, 협업필터링 데이터셋, 잠재요인 협업필터링, 협업 필터링 머신러닝, 협업필터링 종류


파이썬 머신러닝 강의 13-5 – 아이템 기반 협업 필터링 활용 영화 추천 엔진 만들기 실습
파이썬 머신러닝 강의 13-5 – 아이템 기반 협업 필터링 활용 영화 추천 엔진 만들기 실습


추천시스템03. 아이템 기반 협업 필터링 (collaborative filtering) 구현

  • Article author: pearlluck.tistory.com
  • Reviews from users: 42734 ⭐ Ratings
  • Top rated: 4.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 추천시스템03. 아이템 기반 협업 필터링 (collaborative filtering) 구현 사용자와 item간의 rating을 이용해서 사용자끼리 ‘유사도’를 찾는 방식. 특정 사용자와 유사한 사용자들이 남긴 평점, 상품구매 이력 등 행동양식 기반 … …
  • Most searched keywords: Whether you are looking for 추천시스템03. 아이템 기반 협업 필터링 (collaborative filtering) 구현 사용자와 item간의 rating을 이용해서 사용자끼리 ‘유사도’를 찾는 방식. 특정 사용자와 유사한 사용자들이 남긴 평점, 상품구매 이력 등 행동양식 기반 …  협업 필터링(collaborative filtering)  사용자와 item간의 rating을 이용해서 사용자끼리 ‘유사도’를 찾는 방식. 특정 사용자와 유사한 사용자들이 남긴 평점, 상품구매 이력 등 행동양식 기반으로 ‘예측’해..사소한 기록들이 모여 실력이 된다
  • Table of Contents:

티스토리툴바

추천시스템03 아이템 기반 협업 필터링 (collaborative filtering) 구현

추천시스템03. 아이템 기반 협업 필터링 (collaborative filtering) 구현
추천시스템03. 아이템 기반 협업 필터링 (collaborative filtering) 구현

Read More

협업 필터링 – 위키백과, 우리 모두의 백과사전

  • Article author: ko.wikipedia.org
  • Reviews from users: 40798 ⭐ Ratings
  • Top rated: 4.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 협업 필터링 – 위키백과, 우리 모두의 백과사전 이것이 단순히 투표를 한 수를 기반으로 각 아이템의 관심사에 대한 평균적인 평가로 처리하는 방법과 차별화 된 것이다. 즉 고객들의 선호도와 관심 표현을 바탕으로 … …
  • Most searched keywords: Whether you are looking for 협업 필터링 – 위키백과, 우리 모두의 백과사전 이것이 단순히 투표를 한 수를 기반으로 각 아이템의 관심사에 대한 평균적인 평가로 처리하는 방법과 차별화 된 것이다. 즉 고객들의 선호도와 관심 표현을 바탕으로 …
  • Table of Contents:

방법론[편집]

역사[편집]

종류[편집]

능동적 필터링과 수동적 필터링[편집]

협업 필터링 - 위키백과, 우리 모두의 백과사전
협업 필터링 – 위키백과, 우리 모두의 백과사전

Read More

아이템 기반 협업 필터링

  • Article author: blog.bizspring.co.kr
  • Reviews from users: 27988 ⭐ Ratings
  • Top rated: 3.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 아이템 기반 협업 필터링 ‘협업 필터링’ 기법은 ‘사용자 기반 필터링(User-based filtering)’ 과 ‘아이템 기반 필터링(Item-based filtering)’으로 나뉩니다. 두가지 세션으로 … …
  • Most searched keywords: Whether you are looking for 아이템 기반 협업 필터링 ‘협업 필터링’ 기법은 ‘사용자 기반 필터링(User-based filtering)’ 과 ‘아이템 기반 필터링(Item-based filtering)’으로 나뉩니다. 두가지 세션으로 …
  • Table of Contents:
아이템 기반 협업 필터링
아이템 기반 협업 필터링

Read More

[추천시스템] 4) 협업필터링 – 이웃기반 협업필터링 :: 오늘 할 일: 끝내주게 숨쉬기

  • Article author: abluesnake.tistory.com
  • Reviews from users: 44018 ⭐ Ratings
  • Top rated: 3.0 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [추천시스템] 4) 협업필터링 – 이웃기반 협업필터링 :: 오늘 할 일: 끝내주게 숨쉬기 컨텐츠 기반 필터링은 아이템의 정보를 이용하여 과거에 사용자가 좋아했던 아이템과 유사한 다른 아이템을 추천하는 방식이죠. 본 포스팅에서는 컨텐츠 … …
  • Most searched keywords: Whether you are looking for [추천시스템] 4) 협업필터링 – 이웃기반 협업필터링 :: 오늘 할 일: 끝내주게 숨쉬기 컨텐츠 기반 필터링은 아이템의 정보를 이용하여 과거에 사용자가 좋아했던 아이템과 유사한 다른 아이템을 추천하는 방식이죠. 본 포스팅에서는 컨텐츠 … 지난 추천시스템 3편에서는 컨텐츠 기반 필터링에 대해 알아보았습니다. 컨텐츠 기반 필터링은 아이템의 정보를 이용하여 과거에 사용자가 좋아했던 아이템과 유사한 다른 아이템을 추천하는 방식이죠. 본 포스팅..
  • Table of Contents:

협업필터링(Collaborative Filtering)

이웃기반 협업필터링(Neighbor based Collaborative Filtering)

사용자 기반 협업 필터링 계산 예시

TAG

관련글 관련글 더보기

인기포스트

티스토리툴바

[추천시스템] 4) 협업필터링 - 이웃기반 협업필터링 :: 오늘 할 일: 끝내주게 숨쉬기
[추천시스템] 4) 협업필터링 – 이웃기반 협업필터링 :: 오늘 할 일: 끝내주게 숨쉬기

Read More

협업 필터링 추천 시스템 (Collaborative Filtering Recommendation System)

  • Article author: scvgoe.github.io
  • Reviews from users: 21461 ⭐ Ratings
  • Top rated: 5.0 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 협업 필터링 추천 시스템 (Collaborative Filtering Recommendation System) 사용자 기반, 아이템 기반의 협업 필터링을 설명하기 앞서 간단한 예시 상황을 가정하도록 한다. 다음은 어떤 사용자들이 영화의 평점을 (0~5) 사이의 … …
  • Most searched keywords: Whether you are looking for 협업 필터링 추천 시스템 (Collaborative Filtering Recommendation System) 사용자 기반, 아이템 기반의 협업 필터링을 설명하기 앞서 간단한 예시 상황을 가정하도록 한다. 다음은 어떤 사용자들이 영화의 평점을 (0~5) 사이의 … 세상 간단한 추천 시스템
  • Table of Contents:
협업 필터링 추천 시스템 (Collaborative Filtering Recommendation System)
협업 필터링 추천 시스템 (Collaborative Filtering Recommendation System)

Read More

카카오 AI추천 : 협업 필터링 모델 선택 시의 기준에 대하여 – tech.kakao.com

  • Article author: tech.kakao.com
  • Reviews from users: 37835 ⭐ Ratings
  • Top rated: 4.5 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 카카오 AI추천 : 협업 필터링 모델 선택 시의 기준에 대하여 – tech.kakao.com 협업 필터링(CF): 추천에서 가장 많이 사용되는 기술로, 유저-아이템 간 상호 작용 데이터를 활용하는 방법론. · 콘텐츠 기반 필터링(CB): 콘텐츠 자체를 … …
  • Most searched keywords: Whether you are looking for 카카오 AI추천 : 협업 필터링 모델 선택 시의 기준에 대하여 – tech.kakao.com 협업 필터링(CF): 추천에서 가장 많이 사용되는 기술로, 유저-아이템 간 상호 작용 데이터를 활용하는 방법론. · 콘텐츠 기반 필터링(CB): 콘텐츠 자체를 …
  • Table of Contents:

들어가며

추천 모델

협업 필터링(Collaborative Filtering CF) 모델

어떤 CF 모델을 선택할 것인가(1) 피드백(Feedback) 데이터

어떤 CF 모델을 선택할 것인가(2) 메트릭(Metrics)

어떤 CF 모델을 선택할 것인가(3) Bias & Feedback Loop

마치며

About Tech

About Channels

Family Sites

카카오 AI추천 : 협업 필터링 모델 선택 시의 기준에 대하여 – tech.kakao.com
카카오 AI추천 : 협업 필터링 모델 선택 시의 기준에 대하여 – tech.kakao.com

Read More

추천 시스템 기본 – 협업 필터링(Collaborative Filtering) – ①

  • Article author: kmhana.tistory.com
  • Reviews from users: 3323 ⭐ Ratings
  • Top rated: 4.4 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 추천 시스템 기본 – 협업 필터링(Collaborative Filtering) – ① 1) 협업 필터링(Collaborative Filtering). • Memory Based Approach. – User-based Filtering. – Item-based Filtering. • Model Based Approach. …
  • Most searched keywords: Whether you are looking for 추천 시스템 기본 – 협업 필터링(Collaborative Filtering) – ① 1) 협업 필터링(Collaborative Filtering). • Memory Based Approach. – User-based Filtering. – Item-based Filtering. • Model Based Approach. *크롬으로 보시는 걸 추천드립니다* 우리 일상생활에 녹아있는 “인공지능(AI)”에는 추천 시스템이 있다는 것을 소개해 드렸습니다 https://kmhana.tistory.com/30 Have A Nice AI kmhana.tistory.com 이제 부터는..
  • Table of Contents:
See also  Top 38 4 월 1 일 탄생화 Top 28 Best Answers

추천 시스템 기본 – 협업 필터링(Collaborative Filtering) – ①

티스토리툴바

추천 시스템 기본 - 협업 필터링(Collaborative Filtering) - ①
추천 시스템 기본 – 협업 필터링(Collaborative Filtering) – ①

Read More

3. 아이템 기반 최근집 이웃 협업 필터링

  • Article author: big-dream-world.tistory.com
  • Reviews from users: 7038 ⭐ Ratings
  • Top rated: 4.6 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 3. 아이템 기반 최근집 이웃 협업 필터링 협업 필터링은 이 ratings.csv 세트와 같이 사용자와 아이템(영화) 간의 평점에 기반해 추천하는 시스템이므로, 먼저 로우(행) 레벨 형태의 원본 데이터셋 … …
  • Most searched keywords: Whether you are looking for 3. 아이템 기반 최근집 이웃 협업 필터링 협업 필터링은 이 ratings.csv 세트와 같이 사용자와 아이템(영화) 간의 평점에 기반해 추천하는 시스템이므로, 먼저 로우(행) 레벨 형태의 원본 데이터셋 … < 목차 > 용어정의 데이터 가공 및 변환 영화간 유사도 산출 최근접 이웃 협업 필터링을 이용한 개인화 영화 추천시스템 개발 1. 용어정의 피드백 후 작성예정입니다. MovieLens 데이터셋은 데이터셋 자료실 에 있..
  • Table of Contents:

1 용어정의

2 데이터 가공 및 변환

3 영화간 유사도 산출

4 최근접 이웃 협업 필터링을 이용한 개인화 영화 추천시스템 개발

태그

‘인공지능추천시스템’ Related Articles

공지사항

최근 포스트

태그

검색

전체 방문자

티스토리툴바

3. 아이템 기반 최근집 이웃 협업 필터링
3. 아이템 기반 최근집 이웃 협업 필터링

Read More


See more articles in the same category here: https://toplist.aseanseafoodexpo.com/blog.

추천시스템03. 아이템 기반 협업 필터링 (collaborative filtering) 구현

728×90

협업 필터링(collaborative filtering)

사용자와 item간의 rating을 이용해서 사용자끼리 ‘유사도’를 찾는 방식.

특정 사용자와 유사한 사용자들이 남긴 평점, 상품구매 이력 등 행동양식 기반으로 ‘예측’해서 ‘추천’해준다.

그래서 item을 얼마나 좋아할 것인지 수치적으로 예측한다.

협업필터링의 2가지 유형

최근접 이웃기반 필터링 (nearest neighbor collaborative filtering)

잠재요인 기반 필터링 (latent factor collaborative filtering)

2.1 최근접 이웃기반 필터링 (nearest neighbor collaborative filtering)

사용자-아이템 행렬에서 사용자가 아직 평가하지 않은 아이템을 예측하는 것이 목표

사용자 기반 협업 필터링 : 비슷한 고객들이 ~한 item을 소비했다.

아이템 기반 협업 필터링 : ~한 item을 소비한 고객들은 다음과 같은 상품도 구매했다.

사용자기반, 아이템기반

사용자기반 협업필터링

colums은 user, row는 item 행렬을 가지고 있다. (user-item).

user1과 user2는 itemA,itemB,itemC까지 평점이 비슷하기 때문에 user1과 user2는 비슷하다고 판단

아이템기반 협업필터링

colums은 item , row는 user 행렬을 가지고 있다. (item-user)

itemA와 itemB는 비슷한 평점분포를 가지고 있기 때문에 itemA와 itemB는 비슷하다고 판단.

그래서 결국 user4에게 ItemA를 추천해준다.

일반적으로 정확도, 사용빈도는 사용자기반 협업필터링 < 아이템기반 협업필터링 그래서 이번엔 아이템기반 협업필터링을 적용해볼 것이다. 데이터셋 : https://www.kaggle.com/sengzhaotoo/movielens-small rating.csv : user가 movie에 평가를 매긴 데이터 moives.csv : 영화정보 데이터 목적 : 아이템기반 협업필터링으로 사용자에게 유사한 영화를 추천해준다 1. 데이터준비 2. 데이터전처리 필요없는 컬럼 삭제 movie 데이터와 평점데이터를 merge해서 하나로 합침 피봇테이블 생성 아이템 기반 협업 핕터링을 적용하기 위해서 사용자-영화에 따른 평점 점수가 데이터로 들어가야한다. 사용자-영화는 아래와 같이 두가지경우가 있을수 있다. movie_usr_rating : 영화-사용자 피봇테이블 (index : 영화, column : 사용자) usr_movie_rating : 사용자-영화 피봇테이블 (index : 사용자, column : 영화) 그런데 우리는 아이템기반 협업 필터링이기니까, 인덱스가 영화인 movie_usr_rating : 영화-사용자 피봇테이블 (index : 영화, column : 사용자) 을 사용한다. 피봇테이블의 NaN처리 NaN은 아직 평점을 매기지 않은 것으로 볼 수 있는데, fillna를 사용해서 NaN 0으로 처리한다. 3. 아이템기반 협업 필터링 유사도값 추출 (코사인유사도) 유사한 아이템끼리 추천을 해주는 방식, 즉 평점이 비슷한 아이템(영화)를 추천해주는 것이다. 현재 평점이 data로 들어가있으니까, 이 상태에서 코사인 유사도값을 이용해 유사도를 계산한다. 유사도값을 가진 데이터프레임 생성 그럼 각 아이템(영화)끼리 서로 유사한 정보의 값을 가지게 된다. 그럼 서로 유사도가 가까운 영화일수록 1에 가깝고, 자기자신과 같은 영화이면 유사도값은 1이 된다(대각선은 자기자신) 4. 영화추천 사용자 함수 생성 이제 이 데이터프레임을 가지고, 영화추천 기능을 구현하는 사용자 함수를 생성한다. 만약 사용자가 어떤 영화를 보았을때(매개변수로 영화이름 입력), 그 영화와 비슷한 영화를 추천해주는 것이다. 실제로 toy story(1995)를 보았다고 했을때, 이와 유사한 영화에 대한 결과이다. 참고 https://lsjsj92.tistory.com/568 반응형

위키백과, 우리 모두의 백과사전

협업 필터링을 통한 사용자 선호도를 예측하는 방식을 나타낸 영상.

협업 필터링(collaborative filtering)은 많은 사용자들로부터 얻은 기호정보(taste information)에 따라 사용자들의 관심사들을 자동적으로 예측하게 해주는 방법이다. 협력 필터링 접근법의 근본적인 가정은 사용자들의 과거의 경향이 미래에서도 그대로 유지 될 것이라는 전제에 있다. 예를 들어, 음악에 관한 협력 필터링 혹은 추천시스템(recommendation system)은 사용자들의 기호(좋음, 싫음)에 대한 부분적인 목록(partial list)을 이용하여 그 사용자의 음악에 대한 기호를 예측하게 된다. 이 시스템은 특정 사용자의 정보에만 국한 된 것이 아니라 많은 사용자들로부터 수집한 정보를 사용한다는 것이 특징이다. 이것이 단순히 투표를 한 수를 기반으로 각 아이템의 관심사에 대한 평균적인 평가로 처리하는 방법과 차별화 된 것이다. 즉 고객들의 선호도와 관심 표현을 바탕으로 선호도, 관심에서 비슷한 패턴을 가진 고객들을 식별해 내는 기법이다. 비슷한 취향을 가진 고객들에게 서로 아직 구매하지 않은 상품들은 교차 추천하거나 분류된 고객의 취향이나 생활 형태에 따라 관련 상품을 추천하는 형태의 서비스를 제공하기 위해 사용된다.

방법론 [ 편집 ]

협업 필터링은 보통 2가지 단계로 운영된다.

기존의 어느 정도 예측이 가능한 고객들과 비슷한 패턴을 가진 고객들을 찾는다. 기존 고객들의 행동을 예측하기 위해 첫 번째 단계에서 찾은 비슷하다고 생각된 고객들의 행동을 수치화하여 사용한다.

아니면 그 대신에, 아마존 닷컴에서 유명해진 아이템 기반의 협력 필터링은 말 그대로 아이템 중심의 방법으로 아래와 같이 운영되기도 한다.

아이템 간의 상관관계를 결정하는 아이템 매트릭스(item-item matrix)를 만든다. 매트릭스를 사용하여 최신 사용자의 데이터를 기반으로 그 사용자의 기호를 유추한다.

또 다른 협력 필터링의 방법은 보통 사용자들의 행동에 대한 암시적인 관찰(implicit observation)을 기반으로 한 방법이다.(이것은 인기도 등의 평판 시스템으로 이용한 인위적인 행동과는 반대되는 개념이다.) 이 시스템에서는 모든 사람들이 한 행동들(예를 들어, 무슨 음악을 들었는지, 무슨 물건을 샀는지 등)과 사용자가 무엇을 했는지 에 대하여 관찰하여 미래의 사용자 행위를 예측하는 방법이다. 이 예측들은 비즈니스 로직(business logic)을 통하여 필터링 되고 이 예측들로 인하여 비즈니스 시스템이 무엇을 해야 하는지에 대하여 결정한다. 예를 들어, 만약 이미 어떤 음악을 가지고 있는 사용자에게는 그 음악에 대하여 구입 추천을 하는 것이 유용하지 않기 때문에 추천을 하지 않는 등의 시스템 기능을 결정한다.

요즘 같은 정보의 홍수 시대에 협력 필터링 같은 기술은 매우 유용함이 입증 되고 있다. 단지 한 가지 카테고리(음악, 영화 등) 내에서도 아이템의 수는 갈수록 방대해지고 있고 어떤 한 사람이 자신과 관련된 아이템을 선택하기 위하여 모든 아이템을 다 본다는 것은 불가능하기 때문에 이와 같은 기술은 더욱 유용해진다. 모든 사용자를 통한 평균화하는 스코어링또는 레이팅 시스템은 개인 사용자의 특정 관심사를 무시하고, 특히 요즘 같이 관심사가 다양해지고 있는 시대에서는 알맞지 않다. 정보의 홍수에 대항하기 위하여 또 다른 방법에는 웹서치, 데이터 클러스터링 등이 존재한다.

역사 [ 편집 ]

협력 필터링은 초기의 정보 필터링(information filtering: 특정 사용자의 프로필을 만들고 이전의 행동에 대해 패턴 관찰을 함으로써 특정 사용자의 관심사를 가지고 이와 관련된 정보를 만든다)과는 배치된다. 초기의 정보 필터링 시스템은 콜드스타트(cold-start) 문제를 겪게 될 뿐만 아니라 정보 홍수 시대에 대하여 도움이 되지 않는다. 즉, 필터링의 효력을 보기 전에 새로운 사용자는 경향을 형성 해야 하는 문제를 겪게 된다.

협력 필터링을 사용한 초기 시스템은 제록스 팔로 알토 리서치 센터(Xerox PARC)에서 개발한 정보 태피스트리 프로젝트이다.(the Information Tapestry project) 이 시스템에서는 다른 사용자가 이전에 코멘트한 것을 기반으로 사용자가 문서를 찾을 수 있게 해준다. 하지만 이 시스템에도 약점이 있는데, 첫째로 단지 작은 집단에서만 사용될 수밖에 없다는 것이고, 둘째로 협력적 필터링의 목적에 크게 배치되는 word specific queries을 통하여 접근하기 때문이다.

나아가 유즈넷 넷뉴스(USENET Net news)는 대중이 기사를 간단한 방법으로 접근하게 하면서 사용자들의 인기도를 기반으로 기사에 대한 평가(Rate)를 하게 하면서 다른 사용자들이 이 평가를 기반으로 검색을 할 수 있게 끔 한 협업 필터링이다.

종류 [ 편집 ]

능동적 필터링 [ 편집 ]

능동적 필터링은 최근에 인기가 증가한 방법이다. 그 이유는 WWW(World Wide Web)의 유저들이 사용할 수 있는 정보 기반이 계속 증가 하고 있기 때문이다. 하지만 인터넷을 통하여 기하급수적으로 증가하고 있는 정보의 양으로 인해 가치있는 정보의 검색 효율성은 갈수록 어려워 지고 있다. 최근에 WWW을 통한 기본적인 정보 검색은 수많은 결과를 찾아 주지만 그 결과의 검색방법이 효과적이지도 않고 관계도도 떨어지고 있다. 오늘날 시장에서 수많은 데이터와 검색 엔진들이 검색을 위해 사용되고 있지만 대부분의 사람들은 검색을 위한 모든 옵션의 사용에 대하여 익숙하지가 않다. 이런 환경에서 능동적 필터링이 효과적인 방법으로 대두되고 있는 것이다.

능동적인 필터링은 P2P 방식이기 때문에 다른 협업 필터링과도 차별화 된다. 이것은 비슷한 관심사를 가진 동료, 친구 등의 사람들이 상품 등을 평가하고 또한 웹에서 이런 정보들을 공유하고 서로 볼 수 있다. 이 시스템은 사람들이 다른 비슷한 사람들과 함께 구매한 물건에 대한 정보를 공유하기를 원한다는 사실에 기초로 하고 있다. 능동적인 필터링은 웹을 통하여 정보를 보낸 다른 사용자들의 상품의 평가를 볼 수 있고 그것을 기반으로 자신만의 구매 결정을 하게 해준다.

능동적인 필터링은 많은 경우에 많은 사람들에게 유용하다. 이 능동적인 필터링은 유도 웹 검색기반이 없는 경우(non-guided web search)에 가장 중요하고 효율적이다. 유도 웹 검색기반이 없는 것(non-guided web search)은 단지 수많은 정보만을 생산하기 때문에 정보에 정확하게 접근하려고 하는 사람에게는 효율적이도 유용하지도 않다.

장점 [ 편집 ]

능동적인 협업 필터링을 사용하는 것에는 여러 장점이 있다. 장점 중에 하나는 이 방법이 어떤 상품과 주제에 대한 관심사를 가진 사람들이 실제 평가를 했다는 것이다. 이 시스템은 근거있는 설명과 순위를 신뢰성 있는 정보로부터 생성한다. 다른 장점은 사람들이 궁극적으로 직접 그 문제를 고려하여 정보를 공급한다는 것이다.

단점 [ 편집 ]

능동적인 협업 필터링에는 여러 단점들도 있다. 그 중에 하나는 의견이 편견을 가질 수 있다는 것이다. 또한 피드백의 생성의 경우는 사용자의 직접적인 행동이 요구되기 때문에 수동적인 필터링에 비하여 적은 데이터만이 사용될 것이다. 그리고 사용자 기대가 맞아 떨어지지 않을 수도 있다. 협업 필터링의 주요 특징 중 하나는 콘텐츠 기반의 필터링과 비교하여 실제 아이템의 내용과 그것이 무엇에 관한 것인지에 관한 내용을 전혀 알지 못한 상태에서의 방법이라는 것이다. 이 의미는 단지 기호 가치들(preference values)에만 의존한다는 것이다. 이것은 각 상품에 대한 성능에 대한 통찰력이 다른 사람들의 평가에 높게 의존하게 되고 결국 평준화 효과를 가져 오게 된다. 평준화 효과는 전체적으로 가장 많이 추천된 상품에 결과적으로 사람들이 더욱 많이 소비하고 더 많이 평가를 하게 되면서 그 상품이 더욱 추천되는 결과를 가져온다.

일반적으로 잘 알려진 협력 필터링에 대한 두가지 이슈는 다음과 같다. 첫 번째는 초기 평가자 문제 (First-Rater Problem)이고 두 번째는 콜드 스타트 문제(Cold-Start Problem)이다. 초기 평가자 문제 (First-Rater Problem)는 어느 사용자에게도 평가받지 못한 새로운 아이템이 있을 경우에 일어난다. 이런 경우에는 시스템에서 이들의 아이템에서는 의미 상호작용 (semantic interconnection)을 생성 시킬 수도 없기 때문에 당연히 절대 추천 될 수 도 없다. 유사하게 콜드 스타트 문제(Cold-Start Problem)는 지금까지 한번도 평가를 하지 않은 사용자들이 있을 경우에 일어난다. 이런 경우에는 시스템은 사용자의 어느 정보도 없기 때문에 사용자의 기호도 예측과 추천을 할 수가 없다.

수동적 필터링 [ 편집 ]

미래의 가장 잠재력있는 협업 필터링 방법은 정보를 함축적으로 수집하는 수동적 필터링(passive filtering)이라고 여겨지고 있다. 여기서 웹 브라우저는 사람들의 행동을 추적하고(following) 평가에 의해 사용자들의 기호도를 저장하기 위하여 사용된다. 이 필터는 사용자들이 좋아할만하고 추천받을 만한 관심사 중의 다른 상품을 구매 결정하기 위하여 사용된다.

수동적인 협업 필터링의 중요한 특징은 사용자가 문서를 단순히 스캐닝 할 것인지 정독을 할 것 인지에 대한 결정을 하기 위한 측면에서 시간을 사용한다. 이 시스템의 가장 큰 장점은 능동적인 필터링에서 일반적으로 나타나는 분석들로부터 특정한 변화를 제거할 수 있다는 것이다. 예를 들어, 단지 특정한 종류의 사람만이 사이트의 평가를 하기 위해 시간을 보내는 것과는 달리 수동적 협업필터링에서는 모든 사람이 자동적으로 주어진 데이터를 가지고 접근할 수 있다.

아이템 기반 필터링 [ 편집 ]

아이템 기반 필터링은 협업 필터링의 또 다른 방법으로서 사용자들 대신에 평가된 아이템이 파라미터(parameter)로 사용된다. 아이템 기반 협동적 필터링은 대부분의 사람들이 과거에 자신이 좋아했던 상품과 비슷한 상품이면 좋아하는 경향이 있고 반대로 싫어했었던 상품과 비슷한 상품이면 싫어하는 경향이 있다는 점을 기반으로 하고 있다. 이 필터링 방법은 고객이 선호도를 입력한 기존의 상품들과 예측하고자 하는 상품과의 유사도(similarity)를 계산하여 고객의 선호도를 예측하는 방법이다. 즉, 예측하고자 하는 상품과 비슷한 상품들에 대하여 고객이 높은 평가를 하였다면 그 상품도 높게 평가를 할 것이라고 예측하고, 낮은 평가를 하였다면 그 상품도 낮게 평가를 할 것이라고 예측하는 것이다. 아이템 기반 협동적 필터링 방법은 상품들간의 유사도를 계산하기 위하여 두 상품에 모두 선호도를 입력한 고객들의 선호도를 사용한다. 그러나 고객들간의 유사도가 전혀 고려되지 않기 때문에 만약 특정 고객과 전혀 선호도가 비슷하지 않은 사용자들의 평가를 기반으로 한다면 상품들간의 상관 관계의 정확도가 떨어지고, 아울러 추천 시스템의 예측 능력과 추천 능력이 저하될 수 있다.

능동적 필터링과 수동적 필터링 [ 편집 ]

적극적 필터링과 소극적 필터링 내에는 사용자의 선호도를 결정하기 위한 명시적 방법과 암시적 방법이 있다. 사용자 선호도의 명시적인 수집은 평가자로 하여금 그 컨텐트에 대한 점수를 부여하게 만든다. 이는 협업 필터링에 인식적인 측면을 부여하지만, 피드백이 더욱 정확하다는 것을 의미할 수도 있다. 암시적인 수집은 사용자에 의한 직접적인 의견을 포함하지 않지만, 대신 그들의 의견이 행동에 의해 암시된다고 가정한다. 이는 사용자간의 다양성을 줄이고 사용자의 요구를 줄이며, 이는 곧 더 많은 데이터를 사용할 수 있다는 것을 의미한다. 하지만, 이러한 행동 데이터가 꼭 아이템에 대한 사용자의 진정한 의견을 정확히 대변한다고 할 수는 없다.

오늘 할 일: 끝내주게 숨쉬기 오늘 할 일: 끝내주게 숨쉬기

지난 추천시스템 3편에서는 컨텐츠 기반 필터링에 대해 알아보았습니다. 컨텐츠 기반 필터링은 아이템의 정보를 이용하여 과거에 사용자가 좋아했던 아이템과 유사한 다른 아이템을 추천하는 방식이죠. 본 포스팅에서는 컨텐츠 기반 필터링과 함께 널리 쓰이는 추천시스템인 협업필터링, 그 중 이웃기반 협업필터링에 대해 알아보겠습니다.

협업필터링(Collaborative Filtering)

먼저 협업 필터링이 무엇인지 다시 떠올려보겠습니다. 협업 필터링의 정의는 추천시스템 2편에서도 다룬 적이 있었는데요, ‘특정 상품에 대한 선호도가 유사한 고객들은 다른 상품에 대해서도 선호도가 비슷할 것이다’ 라는 가정하에 사용자의 아이템 평가 데이터를 이용해 비슷한 선호도를 갖는 다른 사용자가 선택한 아이템을 추천하는 방식을 협업 필터링이라고 했습니다.

예를 들어 영화 겨울왕국1에 대한 평가가 유사한 두 사람에게, 어느 한쪽이 아직 시청하지 않았지만 다른 사림이 좋은 평가를 내린 영화 겨울왕국2를 추천하는 식입니다.

출처: https://towardsdatascience.com/getting-started-with-recommender-systems-and-tensorrec-8f50a9943eef

협업 필터링은 잠재적인 고객 선호도를 추정하여 다양한 상품을 추천할 수 있게 합니다. 사용자가 본인도 몰랐던 새로운 취향을 발견할 수 있겠죠. 하지만 사용자나 아이템의 특징을 사용하지 않기 때문에 사용자와 아이템의 interaction 데이터가 충분히 갖춰져야 시도할 수 있습니다. 새로운 상품이나 고객이 추가되면 관련 정보가 없기 때문에 추천이 불가능한 cold-start 문제도 갖고 있고, 고객 수나 아이템 수가 너무 많으면 아이템을 구매한 고객 비율이 매우 적어져 추정된 선호도가 정확하지 않을 수도 있다는 단점도 있습니다.

협업 필터링은 크게 이웃기반 협업 필터링(또는 메모리기반 협업필터링)과 모델기반 협업필터링(또는 잠재요인 협업필터링)으로 나누어져있는데요, 이번 포스트에서는 이웃기반 협업필터링만 다루겠습니다.

이웃기반 협업필터링(Neighbor based Collaborative Filtering)

이웃기반 협업필터링은 사용자가 아이템에 대하여 남긴 평점 데이터를 이용하여 아직 평점을 남기지 않은 아이템들에 대해 예측을 수행하고, 예측 평점이 높은 N개의 아이템을 추천하는 방식입니다. 평점 데이터는 아래 그림과 같이 행은 사용자 인덱스, 열은 아이템 인덱스를 갖는 행렬로 구성할 수 있겠습니다. 사용자가 과거에 경험한 아이템에 대해 평가를 하고, 경험하지 않은 아이템은 빈 값으로 두는 것이죠. 이 빈 값을 채워서 예상 평점을 높게 받은 아이템을 추천합니다. 몇 개의 아이템을 추천할지는 추천 시스템을 적용할 플랫폼의 환경을 고려하여 결정하거나 혹은 비즈니스 관점에서 결정할 수 있겠죠.

이웃기반 협업필터링은 어떤 것끼리 유사도를 계산할 것인가?를 기준으로 사용자 기반(User-based) 협업필터링과 아이템 기반(Item-based) 협업필터링으로 나눌 수 있습니다.

(A) 사용자 기반 협업 필터링(User-based Collaborative Filtering)

사용자 기반 협업 필터링은 우선 사용자간 유사도를 계산합니다. 사용자간 유사도를 추정해보니 사용자 B와 사용자 D가 유사한 사용자로 판명이 났어요. 그럼 사용자 B가 사용했지만 사용자 D는 사용하지 않은 아이템 7번을 사용자 D에게 추천해주는 것입니다.

(B) 아이템 기반 협업 필터링(Item-based Collaborative Filtering)

아이템 기반 협업 필터링은 아이템간 유사도를 계산합니다. 아이템간 유사도를 추정해보니 아이템 2번과 아이템 4번이 유사하다고 나타난 거죠. 그럼 아직 아이템 4번을 사용하지 않은 사용자 E에게 아이템 4번을 추천해주는 것입니다.

사용자 기반 협업 필터링 계산 예시

아이템 1번 아이템 2번 아이템 3번 아이템 4번 아이템 5번 사용자 A 5 4 4 3 사용자 B 1 0 1 4 사용자 C 4 4 5 3 사용자 D 2 1 4 3 사용자 E 4 4 4 2 사용자 F 4 2 3 1

사용자가 아이템에 대해 평가한 데이터가 위와 같이 주어져 있다고 하겠습니다. 사용자 A ~ F가 아이템 1번 ~ 5번에 대해 0점에서 5점 사이의 점수를 주었습니다. 평가하지 않은 아이템은 빈 값으로 두었구요.

먼저, 사용자간 유사도를 계산합니다. 예를 들어 사용자 B와 사용자 D가 얼마나 유사한지를 코사인 유사도를 사용하여 계산하면 아래와 같이 계산이 되겠죠.

사용자 B와 사용자 D가 함께 평가한 아이템 2번, 3번 그리고 5번의 평점만을 이용하여 유사도를 계산한 결과, 0.84로 매우 유사하다고 나타났습니다. 이렇게 모든 사용자들끼리의 유사도를 계산하여 사용자 유사도 행렬을 완성합니다.

(💁‍♀️ 유사도의 종류를 알고 싶다면? -> 유사도의 종류와 파이썬 구현 포스트를 참고하세요)

사용자 A 사용자 B 사용자 C 사용자 D 사용자 E 사용자 F 사용자 A 1.00 0.84 0.96 0.82 0.98 0.98 사용자 B 0.84 1.00 0.61 0.84 0.63 0.47 사용자 C 0.96 0.61 1.00 0.97 0.99 0.92 사용자 D 0.82 0.84 0.97 1.00 0.85 0.71 사용자 E 0.98 0.63 0.99 0.85 1.00 0.98 사용자 F 0.98 0.47 0.92 0.71 0.98 1.00

전체 사용자 간의 유사도를 계산하면 위와 같이 사용자 유사도 행렬을 얻을 수 있습니다. 자기 자신과의 유사도는 1.0이고, 행과 열의 인덱스가 동일하기 때문에 대각원소를 기준으로 대칭인 것을 확인할 수 있습니다.

이제 이 사용자 유사도 행렬을 바탕으로 사용자 B가 아이템 4번에 내릴 평점을 예측해보겠습니다. 점수를 예측하는 방식에도 여러 방법이 있는데, 여기서는 모든 사용자의 점수를 이용해 가중합을 구하는 방식으로 계산해보겠습니다. 아이템 4번에 평가를 내렸던 사용자 A, C, D, E의 평점과 사용자 B와 A, C, D, E의 유사도를 이용하여 가중합을 구하면 아래와 같습니다. 사용자 F는 아이템 4번에 평가하지 않았기 때문에 계산에 이용하지 않습니다.

사용자 B는 아이템 4번에 대해서 3.92점을 줄 것으로 예측되었습니다. 5점이 최고점인 것을 생각하면 나름 높은 점수를 줄 것으로 예상한 거죠.

이런 방식으로 사용자-아이템 평가 행렬을 채우고, 높은 점수를 받은 아이템들을 선별하여 사용자에게 추천합니다. 높은 점수를 받은 아이템 중 사용자가 이미 경험했던 아이템은 제외하고 추천할 아이템을 줄세우기하여 사용자에게 제공하면 추천 시스템이 완성됩니다.

이상으로 협업 필터링 중 이웃기반 협업 필터링에 대해 알아보았습니다. 협업 필터링과 이웃기반 협업 필터링의 정의를 살펴보았고, 이웃기반 협업 필터링에 속하는 사용자 기반과 아이템 기반에 대해 알아보았습니다. 보통 사용자 수가 아이템 수보다 훨씬 많기 때문에 사용자 간의 유사도를 구하는 비용이 더 많이 든다고 해요. 그래서 사용자 유사도 행렬을 구하는 것보다 아이템 유사도 행렬을 구하는 아이템 기반 협업필터링이 널리 쓰인다고 알려져 있습니다. 실제로 세계 최대 온라인 쇼핑몰인 아마존은 아이템 기반 추천을 실행한다고 하네요. 각자의 비즈니스 상황을 파악하고 적절한 협업 필터링을 적용하면 빠르고 성능 좋은 추천 시스템을 구축할 수 있을 것 같습니다.

다음 포스트에서는 이웃기반 협업 필터링과 함께 협업 필터링에 속하는 모델기반 협업필터링에 대해 알아보겠습니다.

So you have finished reading the 아이템 기반 협업 필터링 topic article, if you find this article useful, please share it. Thank you very much. See more: 아이템 기반 협업 필터링 파이썬, 아이템 기반 추천 알고리즘, 협업 필터링 추천 알고리즘, 협업필터링 코사인 유사도, 협업필터링 데이터셋, 잠재요인 협업필터링, 협업 필터링 머신러닝, 협업필터링 종류

Leave a Comment