개인화 추천 기술 (협력적 추천을 중심으로 …)

Slides:



Advertisements
Similar presentations
新 HSK 5 급 시험 문제 경향 분석 및 대책. 1. 신 H S K 소 개  1 급 통과 매우 간단한 중국어 단어와 문장을 이해하고 사용할 수 있어, 의사소통 가능  2 급 통과 중국어로 익숙한 일상의 주제에 관하여 간단하고 직접적인 의사소통 가능  3 급 통과.
Advertisements

 사 회  4 학년 2 학기  2. 가정 생활과 여가 생활 > 2. 여가 생활의 변화 ( 7-8 /13 ) 윷놀이와 컴퓨터 게임.
서양화과 전공 설명회 예일고등학교 정지윤 선생님 서양화 란 ? 1. 서양화과 소개 1-2. 서양화과의 교육목표 1-3. 서양화과의 교육과정 1-4. 국내 서양화과 설치 대학 2. 서양화과 졸업 후 진로 2-1. 졸업 후 진로 2-2. 생활 속 서양화과 졸업인.
일본주식시장의 신 고레가와긴조 투자전략 6 조 안승권. 신문수 발표자 : 신 문 수. 출 생 : 1897 효고현에서 출생 학 력 : 초등학교졸업, 사업가 1992 년 95 세 사망 유일한 자서전 1981 년 스미토모 금속광산 주식매매 200 억엔 벌다⇒ 일본 소득세 납세.
1. 사고사항 2. 배상책임 유무 동 사고는 음식물을 공급한 우리김밥의 음식물 하자로 인하여 발생한 사고이므로 피해자에게 손해를 배상할 책임이 있으며, 피해자의 음식물 관리상의 하자는 없다고 판단되므로 피해자 과실 없음 3. 피해자 인적사항 및 예상손해 사항 4. 합의사항.
현대사회와 윤리 1. 윤리학이란 무엇인가?.
(4) 우리 나라의 이상과 목표 2. 국가의 중요성과 국가 발전 중학교 2학년 도덕
2009개정 중등 국어과 교육과정 울산광역시교육청 교육과정 컨설팅단 : 정일진.
아름다운 이들의 행복한 길음안나의 집.
표어 : 온 집으로 더불어 하나님을 경외하자(행10:2)
달라지는 노동법 개정 내용 노무법인 正道 잠시나마… 주요 노동관계법 개정내용 3. 마무리 Contents
행정소송 실무교육 공익법무관 문 유 식 인사 공익법무관 소개 서울고검 소개.
초등학생들이 좋아하는 웹툰 우리반학생들이 많이보는 웹툰.
조선왕조의 유교정치.
서울시 ‘찾아가는 동 주민센터’ 사업 시행 이후 지역사회의 변화
금호타이어 광고에 대한 오류. 항만물류학부 물류운영정보전공 박기훈.
해외서, 국내서 요약 ‘북집’ 모바일 서비스 이용방법
1. 근접경호의 개념 경호대상의 신변을 보호하기 위하여 지근거리에서 실시하는 호위활동을 말하며 경호행위의 마지막 보루이다.
상품 제안서 ■ 상 품 명 : ■ 협력사명 : 이노비즈협회 (주)공영홈쇼핑.
7장 배열 ②.
함의와 전제, 함축 이진수 장동훈.
각각의 공정별 물류 이송 흐름도, 공정시간, 속도 시뮬레이션 프로그램 개발
안식일을 기억하여 거룩한 날로 지켜라 출애굽기 20장 8절 말씀 -아멘-.
데이터마이닝의 소개 Data Mining Introduction
6장. printf와 scanf 함수에 대한 고찰
직 무 기 술 서 직무code 직무명 직군 사업부명 AB 10 인사팀장 관리직 경영지원본부 소속 직무담당자 인원 작성년월일
4월 부모교육 - 유 아 기 - 00초등학교병설유치원.
Cluster Analysis (군집 분석)
장애인의 소득보장 서비스 1.
국가대표 생애주기교육 프로그램 참여방법 안내
재난 안전.
교육과정과 주요업무.
2009, 46th KLA General Conference
다른 사람의 입장에서 생각하고 이해하는 마음 갖기
과학 탐구 토론 대회 1학년 2반 박승원 1학년 5반 권민성.
메소드와 클래스 정의 및 문제 풀이 Method and Class Define and Problem Solve
(생각열기) 비가 그칠 때 생기는 무지개는 몇 가지 색이 나타나는가? 그 원인은??
계약서 관련 실무 계약 위반과 판례 김래균.
수업 첫 날 교육B 황유미 첫 수업 계획에 대해 알아보도록 하겠습니다..
과거,미래,현재의 아동관 -아동 학대- (4조).
연결링크 이미지를 마일리지샵 내에 기획전으로 제작하여 오픈/노출 사이즈 가로 1000/세로 상관x 배너사이즈 가로 400
프로그래머를 위한 첫걸음 JDBC Lecture 001 BY MINIO
생활 철학 인간이란 무엇인가?.
프로그래밍 기초와 실습 Chapter 11 Recursion.
독립성금증(χ2)-교차표 분석 수집된 자료가 명목척도로 측정된 경우 두 변수의 관계를 조사하는 통계기법으로 χ2독립성 검증(chi-square independence test)이 있다. 예를 들어, 특정 속성에 대하여 집단별로 어떤 차이가 있는지를 알아보기 위해서 사용하는.
경찰조직관리론.
나의 커리어플랜 6학년3반 최 은 진.
노인의 건강사정 학습목표 -노인의 건강 사정 요소를 인식.
의료정보 빅데이터 기반 맞춤형 유의질병 및 병원정보 제공 서비스
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
1) 화가 이중섭 (작품 세계) 국어 중학교 1학년/2학기 1.능동적으로 읽기> 1)화가 이중섭 (2/6) [화면 소개]
비만에 관하여 장 덕 고 등 학 교.
장애인단체 간담회 마스터 제목 스타일 편집 마스터 제목 스타일 편집 장애인 단체 간담회 마스터 부제목 스타일 편집
모사방지시스템 운영기준.
절복은 왜 하는가 ◑ 안녕하세요. 입니다. 오늘은 절복은 왜 하는가에 대해서 여러분과 함께 공부하도록 하겠습니다. 지부 지구.
6장 클래스(상속).
CONTENTS Ⅰ. 대회목적 Ⅱ. 대회개요 Ⅲ. 대회요강 Ⅳ. 대회규정 Ⅴ. 운영계획 Ⅵ. 홍보계획 Ⅶ. 예산계획.
교수학습과정안 우리 돼지고기 ‘한돈’ 알아보기 영양교육 이시원.
하나님의 말씀은 나를 변화 시켜요!! 스가랴 9장9절 말씀 -아멘- 보라! 네 왕이 임하 나니 그는 겸손 하여서 나귀를 타나니
다문화 사회의 이해 배 상 훈 . 1. 한국사회의 다문화현상 2. 원인과 정책으로 살펴본 다문화 한국사회.
6월 1주 주간메뉴표 NEW 엄마손 조식 쉐프 삼촌 중식 참새 방앗간 석식 ◎원산지 안내 : 쌀(국내산)
이번 시간에는... 지난 시간까지 2회차에 걸쳐 WML의 택스트 포맷, 이미지 처리, 페이지 이동, 태스크 수행과 이벤트 처리 및 WML 사용자 Input 처리 태그 등, WML 개발에 대해서 알아보았습니다. 이번 시간에는 2회차에 걸쳐, WML 스크립트 개발에 대해서.
전화응대 매뉴얼.
1학년 신입생 학부모교실 안내사항 2019년 3월 6일 1학년부장 김희선.
경영학의 상황학파에 대해서… 경제학과 3학년 최준용 회계학과 4학년 진현빈
임신초기 입덧 때문에 먹고 싶은게 없어요~ **입덧,엽산,칼슘,철분**.
사귐의 해법 2 : 아버지의 사랑  아버지가 사랑하시는 사랑에 대한 올바른 반응으로 아버지를 사랑함 * 2:15-17) 세상 사랑 vs 아버지 사랑 (p ) * 3:11-18) 아버지 사랑 & 형제 사랑 (p ) * 4:7-21) 형제 사랑.
C.
2009개정 중등 국어과 교육과정.
Python 기본.
Presentation transcript:

개인화 추천 기술 (협력적 추천을 중심으로 …) 숭실대학교 마이닝 연구실 김완섭(wskim92@mining.ssu.ac.kr), 2006년 1월 9일

개인화 추천기술의 필요성 콘텐츠의 증가 적용분야 콘텐츠의 증가로 인하여 사용자가 원하는 콘텐츠를 선택하기가 어려워짐. 사용자의 취향에 맞는 콘텐츠를 필터링하여 자동으로 제공하는 것이 요구됨 적용분야 인터넷 쇼핑몰에서의 상품 추천(상품, 도서, 영화) 디지털 TV 환경에서의 프로그램 추천 웹 환경에서의 웹 사이트, 웹 페이지 추천

어떻게 개인화 된 서비스를 해줄 수 있을까? 어떻게 개인화 된 서비스를 해줄 수 있을까? 각 사람에 맞는 추천을 해주기 위해서는 아래와 같이 여러 가지 정보들을 고려해야 한다. 개인화된 추천을 제공하기 위해 고려할 수 있는 정보들 사용자의 인구통계학적 속성 정보 (Demographic features) ; 나이, 성별, 주소 등 콘텐츠의 속성 정보 (Contents Feature) ; 제목, 설명문(Abstract) 사용자의 과거 이용 정보 (Usage History) ; 상품 구매 또는 서비스 이용 등 상품의 과거 구매 정보 (Sales History) ; 구매 패턴 분석 Demographic features Recommend items Item features Customer Purchase history Sales history

개인화 추천기술의 종류 추천기술의 분류 추천기술의 일반적인 분류 개인화 추천 방법은 크게 아래와 같이 분류할 수 있다. 약간의 차이는 있으나 대부분의 추천 관련 논문에 보면 3가지 방법을 언급한다. 추천기술의 일반적인 분류 내용기반 추천 (Content-based Recommendation) 인구통계학적 추천 (Demographic Recommendation) 협력적 추천 (Collaborative Recommendation or Social Filtering)

개인화 추천기술의 종류 기타 규칙기반 추천(Rule-based Recommendation) 연관규칙을 이용한 추천 일반적인 의미로 인구통계학적 추천에 속한다고 볼 수 있다. ex) 30대 직장인에게 노트북을 추천한다. 규칙은 전문가에 의해 직접 작성되거나 시스템에 의해 생성될 수 있다. 연관규칙을 이용한 추천 연관규칙 알고리즘을 적용하여 상품 간의 구매 연관성을 분석한다. (A -> B) A상품을 구매한 고객에게 B상품을 추천한다. 아이템 기반 협력적 추천에 포함될 수 있다. (사실상은 같은 접근방식이다.)

개인화 추천기술의 종류(1-1) 내용기반 추천 적용 예 내용 기반 추천(Content-based Recommendation) 사용자가 이전에 이용한 콘텐츠와 내용 정보가 유사한 다른 콘텐츠를 추천한다. 내용정보는 보통 콘텐츠에 대한 텍스트 정보를 의미한다. 도서 : 책의 제목, 저자, 분야, 초록정보 영화 : 영화제목, 주연배우, 장르, 영화소개 개념 그림 적용 예 웹페이지 추천 : ‘박지성/이영표/축구/PSV’ 등의 내용을 포함한 A웹페이지 본 사용자에게 ‘박지성/축구/맨체스터’ B웹페이지를 추천한다. like A similar contents B Recommend C

개인화 추천기술의 종류(1-2) 내용기반 추천 내용기반 추천의 한계 연구의 방향성 콘텐츠에 대한 의미있는 내용 정보가 존재해야 한다. 그러나 … 콘텐츠들의 내용 정보를 모두 비교하기 때문에 분석시간이 많이 소요된다. 텍스트 이외의 내용 정보를 추천하기가 어렵다. (음악, 이미지, 동영상) 연구의 방향성 온톨로지의 필요성 기존의 키워드 만을 사용하여 유사도를 검색하는 경우 의미적으로는 비슷해도 유사성을 파악하기 힘들다. 예를 들어 아래의 두 문서는 의미적으로 같지만 키워드만 보면 유사성을 찾을 수 없다. A문서(박지성, 이영표, 월드컵) B문서(맨체스터, 잉글랜드, 축구) 온톨로지를 구성하여 단어 간의 유사성, 관계성을 파악하면 더욱 효과적인 내용 기반 추천이 가능해진다.

개인화 추천기술의 종류(2-1) 인구통계학적 추천 인구통계학적 추천(Demographic Recommendation) “인구통계”란 사용자의 일반적인 정보, 즉 나이, 성별, 주소 등의 일반적인 정보를 의미한다. (일반적으로 초기 가입 시 입력한 정보) 인구통계학적 정보를 분석하여 규칙을 찾아내어 추천에 적용한다. IF age > 20 and age < 30 then Ballad IF age < 20 then dance 이러한 규칙은 어떻게 찾아 낼 수 있을까? 분류 모델, 카이스퀘어 분석 등 개념 그림 A Recommend similar feature B C like

개인화 추천기술의 종류(2-2) 인구통계학적 추천 인구통계학적 추천의 한계 사용자의 가입 정보가 불충분, 부정확할 때 정확도가 떨어진다. 불충분 : 나이, 성별 정도만 존재 or 관심분야: 컴퓨터 ? , 스포츠 ? 부정확 : 취미 관심 분야 입력 안함 or 대충 입력함 고객 속성이 콘텐츠의 이용과 상관성이 별로 없는 경우가 많다. 나이가 20대 이하라고 꼭 댄스곡을 좋아하는 것이 아니다.

개인화 추천기술의 종류(2-3) 인구통계학적 추천 구매 규칙의 자동 생성 (특정 상품에 대한 추천을 위하여) 각 상품을 과거 판매를 분석하여 규칙을 생성 카이스퀘어 분석을 적용함 선택된 프로파일 속성값 속성에 소속된 고객수 소속 고객 중 구매 고객수 Chi- Square 소속 고객군의 구매율 선호 / 비선호 의미 나이 50대 1420 91 69.48 0.0640 선 호 나이 60대 492 41 56.34 0.0833 회원타입(1) 2260 119 51.96 0.0528 직업(전문직) 135 16 41.22 0.1185 등록점(본점) 1287 95 39.81 0.0738 결혼(미혼) 3229 42 26.01 0.0130 비 선 호 주택 (본인소유) 3207 134 23.41 0.0417 나이 20대 1787 17 22.02 0.0095 주소 (강남구) 706 39 19.77 0.0552

개인화 추천기술의 종류(2-4) 인구통계학적 추천 자동화된 프로파일 추천 엘도라도 시스템에서 제공함 (실행해보자.)

개인화 추천기술의 종류(3-1) 협력적 추천 협력적 추천 기법 개념 그림 사용자와 성향이 비슷한 사용자들이 공통적으로 좋아하는 콘텐츠를 추천한다. 과거에 이용한(구매한) 콘텐츠가 비슷하면 유사한 성향이 비슷하다고 본다. 용어 : 협력적 추천, CF 추천, 협력적 여과, 사회적 여과 등으로 불린다. 개념 그림 like A B high correlation Recommend A B C like

개인화 추천기술의 종류(3-2) 협력적 추천 장점 적용 예 사용자들의 과거 구매 정보만을 가지고 정확도가 높은 추천이 가능하다. 콘텐츠의 내용 정보, 사용자의 인구통계학적 정보를 전혀 필요로 하지 않는다. 적용 예 아마존닷컴(www.amazon.com) : 도서추천 MovieFinder (www.moviefinder.com) : 영화추천 CDNow (www.cdnow.com) : 음악추천

3.협력적 추천 – 개념 협력적 추천(Collaborative Filtering) 협력적 추천의 예 고객과 유사한 성향을 갖는 이웃 고객들을 선별하고 이들이 공통적으로 선호하는 아이템을 추천하는 것 협력적 추천의 예 고객1에게 “추천기술”이라는 도서를 추천하는 것이 좋은가? 인공지능 SW공학 데이터마이닝 설계기법 추천기술 User1 선호 ? User2 User3 User4 User5

3.협력적 추천 – 개념 다른 고객과의 유사도 계산 Weighted Sum Function A의 과거 구매 내역 고객 A 시청 제목 반응 1 인공지능 구입 2 데이터마이닝 ‘고객 B’ ‘고객 C’ 시청 영화 반응 데이터마이닝 만족 인공지능 불만족 색즉시공 살인의 추억 해리포터와 비밀의 방 시청영화 반응 바람계곡의 나우시카 만족 이웃집 토토로` 귀를 기울이면 보통 센과치히로의 행방불명 붉은 돼지 반지의 제왕 살인의 추억 고객 A (7647) A를 위한 추천 추천 영화 리스트 바람의 계곡의 나우시카 센과치히로의 행방불명 반지의 제왕 센과히치로의 행방불명 Weighted Sum Function

3.협력적 추천 – 주요 순서 STEP1. 유사도 계산 Step2. 예측값 계산 목표 고객과 다른 고객들과의 유사도를 계산한다. Step2. 예측값 계산 Step1에서 계산된 유사도를 가중치로 사용하여 고객의 상품 i에 대한 예측값을 계산한다.

3.협력적 추천 – 고객간 유사도 계산 고객간 유사도 계산 유사도 계산식 두 고객을 벡터로 표현하여 벡터간의 유사성을 계산한다. 각 고객의 정보를 벡터로 표현하는 방법 아래의 표1에서 A의 벡터 : <5, 4, 1, 2, ?> 아래의 표2에서 A의 벡터 : <1, 1, 0, 0, 0> 유사도 계산식 1) 피어슨 상관계수, Pearson correlation coefficeint (범위 [-1,1]) 2) 코사인 유사도, cosine similarity (범위 [0, 1]) 수치(Rating)의 의미에 따라 상관계수를 사용할지 코사인을 사용할지를 결정해야 한다! Item1 Item2 Item3 Item4 Item5 A 5 4 1 2 ? B C Item1 Item2 Item3 Item4 Item5 A 구매 B C

3.협력적 추천 – 고객간 유사도 계산(상관계수) 상관계수를 이용한 유사도 계산의 예 상관계수식 상관계수의 의미 두 개의 속성간의 상관성을 검사한다. 1이면 같은성향, 0이면 상관없음, -1이면 반대성향을 나타낸다. 적용 예) 키와 몸무게의 관계 사용자간의 유사도 계산에 적용 A와 B의 상관계수 유사도  -1.0 (직접 계산해보자) A와 C의 상관계수 유사도  0.476 Item1 Item2 Item3 Item4 Item5 A 5 4 3 2 1 B C

3.협력적 추천 – 고객간 유사도 계산(상관계수) 상관계수 계산 참고 A : (5, 4, 3, 2, 1) B : (1, 2, 3, 4, 5) C : (4, 3, 2, 4, 2) A와 B의 상관계수 A의 평균 : 3 , A의 분산 : Root(2) = 1.4 B의 평균 : 3 , B의 분산 : Root(2) = 1.4 C의 평균 : 3 , C의 분산 : Root(4/5) = 0.9 Corr(A,B) = = (1/5)*{(5-3)(1-3)+(4-3)(2-3)+(3-3)(3-3)+(2-3)(3-2)+(1-3)(5-3)} / 2 = (1/5)*{(-4)+(-1)+(0)+(-1)+(-4) / 2 = -1.0 (즉, 완전 반대 성향이 있음을 알 수 있다.) Corr(A,C) = = (1/5)* { (5-3)(4-3)+(4-3)(4-3)+(3-3)(2-3)+(2-3)(4-2)+(1-3)(2-3) } / R(0.8)*R(2) = (1/5)* { (2)+(1)+(0)+(-2)+(2) } / 0.9*1.4 = 0.476 (즉, 약간 비슷한 성향이 있음을 알 수 있다.)

3.협력적 추천 – 고객간 유사도 계산(코사인) 유사도 계산을 통한 유사도 계산의 예 코사인 계산식 코사인 계산식의 의미 0에서 1사이의 값을 갖는다. (Rating이 음수가 아닌 경우 음의 값은 갖지 않는다.) 1이면 같은 성향, 0이면 다른 성향을 나타낸다. 코사인은 두 벡터의 각도만을 고려하므로 벡터의 크기는 무시된다. Cos(A,B)  0.63, Cos(A,C)  0.92 A와 B의 경우 0.63만큼 유사하다는 것이 계산되었다. 이상하지 않는가? 상관계수식를 사용했을 경우는 -1이었는데…, 만약 콘텐츠에 대한 이용회수라고 생각하면 어떤가? Item1 Item2 Item3 Item4 Item5 A 5 4 3 2 1 B C

3.협력적 추천 – 고객간 유사도식의 선택 상관계수식을 사용해야 할 경우 코사인 식을 사용해야 할 경우 선호 또는 비선호의 의미를 포함할 경우 상관계수식을 사용한다. 예를들어, Rating이 1에서 5까지의 만족도 값을 의미할 경우 적절한다. 1: 아주불만족, 2:불만족, 3:보통, 4:만족, 5:아주만족 코사인 식을 사용해야 할 경우 Rating값이 선호의 의미만을 포함할 경우는 코사인식을 사용한다. 콘텐츠의 이용회수, 상품의 구매횟수 등 참고: 상품을 구매하지 않았을 경우 비선호한다고 볼 수는 없다. 따라서, 쇼핑몰 등에 적용하고자 할 경우에는 코사인식이 적합하다.

3.협력적 추천 – 추천 예측값의 계산 추천 수식 목표 고객과 다른 고객과의 유사도를 가중치로 하여 각 상품에 대한 선호도를 예측한다. : 사용자 a가 아이템 i에 대한 선호도 예측값 : 사용자 a의 Rating 평균값 : 사용자 u의 Rating 평균값 : 사용자 a와 다른 사용자 u와의 계산도 유사도 값

3.협력적 추천 – 추천 예측값의 계산 추천의 적용 예 사용자1의 아이템5에 대한 선호도 값 예측 3+ [(5-3.75)*0.796 + (1-2.8)*(-0.417)]/(0.796-0.417) = 4.1 Item1 Item2 Item3 Item4 Item5 A 5 4 1 2 ? B C

3.협력적 추천 – 협력적 추천의 장단점 협력적 추천의 장점 협력적 추천의 단점 아이템의 내용 정보가 없는 환경에서도 의미있는 추천을 할 수 있다. 고객 간의 구매 행동 정보가 반영된 자동화된 시스템으로 적용가능 협력적 추천의 단점 고객의 수가 많아짐에 따라 수행 시간이 많이 소요됨. 확장성 문제(Scalability Problem) 다른 모든 사용자와의 유사도를 계산해야 함.  아이템 기반 협력적 추천이 효과적 선호도 정보가 적은 환경에서 적절한 추천을 할 수 없다 희소성 문제(Sparsity Problem) 신규 등록 상품에 대한 추천이 안됨 (New Item Problem) 신규 고객에 대한 추천이 안됨 (New User Problem)

아이템기반 협력적 추천(1) 아이템 기반 협력적 추천 장점 다른 고객과의 선호도(구매)정보를 활용하는 면에서는 기존의 협력적 추천과 동일 아이템 간의 유사도를 이용하여 추천해주는 방식을 사용한다. 적용 예. 아마존닷컴(www.amazon.com) 장점 상대적으로 적은 시간 소모 고객이 구매한 상품과 목표 상품과의 유사도만 계산하므로 계산 횟수가 적음 해당 고객과 모든 고객 과의 유사도를 계산하므로 계산회수가 매우 많음 높은 정확도 정확도 실험에서도 기존 방식과 유사하거나 좀더 높은 결과를 보임

아이템기반 협력적 추천(2) Step1. 유사도 계산 Step2. 예측값 계산 고객이 선호도를 입력한 콘텐츠들과 목표 콘텐츠와의 유사도를 계산한다. 구매데이터 : 고객이 구매한 상품과의 목표 상품과의 유사도를 계산한다. Step2. 예측값 계산 Step1에서 계산된 유사도를 가중치로하여 고객의 상품 i에 대한 예측값을 계산한다. Item1 Item2 Item3 Item4 Item5 A 5 4 1 2 ? B C

아이템기반 협력적 추천(2) – 유사도 계산 예 달마야 놀자 이웃집 토토로 유사영화 수치 0.894 0.516 0.365 조폭 마누라 0.1348 네 발가락 0.1319 묻지마 패밀리 0.1121 러시아워2 0.1065 해적 0.0992 디 아더스 0.0938 울랄라 시스터즈 0.0932 유사영화 수치 바람계곡의 나우시카 0.894 마녀배탈부 키키 0.516 귀를 기울이면 0.365 센과치히로의 행방불명 0.316 붉은돼지 폼포코너구리 대작전 0.258

아이템기반 협력적 추천(3) - 추천적용예 다른 영화와의 유사도 계산 Weighted Sum Function A의 과거 구매 내역 시청 제목 1 영웅 2 이웃집 토토로 ‘영웅’ ‘이웃집 토토로’ 유사 영화 수치 반지의 제왕 0.141 캐치미 이프유켄 0.116 동갑내기 과외하기 0.112 색즉시공 0.106 살인의 추억 0.098 해리포터와 비밀의 방 0.096 유사영화 수치 바람계곡의 나우시카 0.894 마녀배탈부 키키 0.516 귀를 기울이면 0.365 센과치히로의 행방불명 0.316 붉은돼지 폼포코너구리 대작전 0.258 고객 A (7647) A를 위한 추천 추천 영화 수치 바람의 계곡의 나우시카 0.632 마녀배달비키키 0.365 귀를 기울이면 0.258 센과히치로의 행방불명 0.223 Weighted Sum Function

아이템기반 협력적 추천(3) 유사도 계산 : 아이템 간의 유사도를 계산한다. 상관계수 코사인 Confidence

아이템기반 협력적 추천 예측 계산식 : 고객 u의 아이템 i에 대한 선호도 예측값 : 고객 u의 아이템 N에 대한 Rating

아이템기반 협력적 추천 – 적용 예 예를 통한 설명 고객 A의 Item5에 대한 예측 선호도는? Item1 Item2 유사도 계산 1과5: 0.9, 2와5: 0.8, 3과5: 0.2, 4와5: 0.1 선호도 예측 { 5*0.9 + 4*0.8 + 1*0.2 + 2*0.1 } / { 0.9+0.8+0.2+0.1 } = 8.1 / 2.0 = 4.1 Item1 Item2 Item3 Item4 Item5 A 5 4 1 2 ? B C

아이템기반 협력적 추천 – 구매데이터에 적용 기존 예측식의 문제점 구매 데이터일 경우에는 적용될 수 없다. 예를 들어, 고객 A의 Item5에 대한 구매 가능성을 구한다면? 유사도 계산 1과5: 0.6, 2와5: 0.7, 3과5: 0.3, 4와5: 0.2 선호도 예측 { 1*0.6 + 1*0.7 + 1*0.2 } / { 0.6+0.7+0.2 } = 1.5 / 1.5 = 1 // Rating이 없으므로 적용할 수 없음 Item1 Item2 Item3 Item4 Item5 A 구매 ? B C D E

구매데이터 적합한 아이템기반 CF 알고리즘 유사도 계산식 선호도 예측 계산식 수식 설명 : 아이템 A가 B에 대하여 갖는 구매 확신도 : 아이템 A,B를 모두 구매한 고객의 수 : 아이템 A를 구매한 고객의 수 선호도 예측 계산식 : 고객 a의 아이템 j에 대한 예측 선호도 : 고객 a가 구매한 아이템의 개수

아이템기반 협력적 추천 협력적 추천 알고리즘(엘도라도) double dab_up = 0; double dab_down = 0; public double itemBasedPrediction(int user_idx, int target_item_idx) { double dab_up = 0; double dab_down = 0; Vector u1_buy_items = (Vector) user_item_table.getSet( user_idx ); for(int i=0; i<item_size; i++){ // 고객이 구매한 모든 상품 Integer item_a_idx = (Integer) u1_buy_items.elementAt(i); double cosine_value = getItemsSimilarity(item_a_idx, target_item_idx); dab_up += cosine_value * cosine_value; } dab_down = u1_buy_items.size(); double result = Math.sqrt( dab_up / dab_down); if(dab_down == 0) result = 0; // 고객이 구매한 상품이 없는 경우 return result;

Assignment : 협력적 추천 프로그램 작성 입력(Input) 출력(Output) User1, Item1, 5 User1, Item1, 2 User1, Item1, 4 User2, Item1, 3 User2, Item1, 5 User3, Item1, 1 User1, Item1, 3 User1, Item1, 5 User1, Item1, 2 User1, Item1, 4 User2, Item1, 3 User2, Item1, 5 User3, Item1, 1 User1, Item1, 3

실험 데이터 EachMovie 데이터 MovieLens 데이터 백화점 거래 데이터 인터넷 영화시청 데이터