추천 - 개인화 아이템 추천 - 피드백 종류에 따른 분류 - 명시적 피드백 / 암시적 피드백 - 업데이트 주기에 따른 분류 - Offline 추천 시스템 (정적 추천 시스템) - Online 추천 시스템 (동적 추천 시스템) 현업에서는 다양한 추천 로직이 섞인 하이브리드 추천 시스템을 많이 사용
새로운 아이템을 추천 ex. 클릭 이력을 바탕으로 소비자가 다음으로 클릭할 만한 상품을 추천 당근마켓 기술블로그: https://medium.com/daangn/딥러닝-개인화-추천-1eda682c2e8c “저희는 피드(feed)라고 부릅니다. 비슷하게 첫 화면을 탐색하는 피드 관련된 서비 스인 페이스북, 인스타그램, 유튜브 등은 이미 개인화된 추천으로 피드 탐색을 더 욱 흥미있게 해주고 있습니다”
기록과 추천 시스템이 추천한 결과를 비교하여 추천 품질을 평가 특징 - 별다른 비용 지출 없이 수집된 데이터만 이용하여 평가 가능 - 여러 모델을 동시에 평가할 수 있음 - 선호 기록이 기존에 사용하고 있는 추천 모델에 영향을 받을 수 있으므로, 실제 사용자의 만족도와 평가 결과가 다를 수 있음
데이터 분석 경험이 있는 분들은, 강의를 듣기 전에 스스로 분석을 해 보세요. 이번 시간에는... - Pandas, Seaborn 등 데이터 분석에 많이 사용하는 파이썬 패키지 소개 - movies.csv, ratings.csv 데이터를 뜯어 보며 MovieLens 영화 평가 데이터 파악하기 - Python lambda 표현식, Pandas apply, 정규표현식 등 데이터 분석에 유용 하게 쓰이는 도구 학습
전에 스스로 분석을 해 보세요. - 데이터 정제하기 - movies 테이블의 title 컬럼에서 개봉연도 뽑아오기 - movies 테이블의 genres 컬럼 정제하기 - Seaborn을 사용해 시각화하여 데이터를 이해하기 - 데이터에 가장 빈번하게 나타나는 개봉연도는 언제일까? - 코미디 장르는, 어떤 장르와 함께 출현할까? MovieLens 영화 평가 데이터
있는 분들은, 강의를 듣기 전에 스스로 분석을 해 보세요. - Ratings 데이터의 기초 통계량 보기 - 데이터에는 몇 명의 사용자가 들어있을까? - 데이터에는 몇 개의 영화가 들어있을까? - 사람들은 평균적으로 몇 점을 줄까? - 사람들은 평균적으로 몇 개의 영화에 대한 평점을 기록했을까? - 어떤 영화를 제일 많이 봤을까? - 평점의 분포 보기
1. (숙제) 각 사용자의 평균 평점으로 예측하기 2. (숙제) 각 영화의 평균 평점으로 예측하기 - 각 사용자(영화)들의 평균 평점 계산은 train 데이터로, 예측과 모델 평가는 test 데이터로 하셔 야 합니다. - train에 해당 사용자(영화)에 대한 평점 기록이 전혀 없다면 어떻게 해야 할까요? (예를 들어, test 데이터에는 userid(movieId) 90번 데이터가 있는데, train 데이터에는 없다면요?) - 이 예측 방법은 어떤 가정을 하고 있나요? 예측의 근거를 찾아보세요.
1 1 0 정직한 후보 3.5 4.0 3.5 1 0 0 매드맥스 4.5 5.0 2.0 0 0 1 나를 찾아줘 5.0 5.0 1.0 5.0 0 1 0 헝거 게임: 판엠의 불꽃 4.0 3.0 4.5 0 0 1 코코 4.0 4.5 4.0 0 0 0 부산행 1.0 0.5 2.0 0 1 1 장르별 평균으로 유저 프로필 만들기 코미디 스릴러 액션 조 3.5 3.0 3.17 에이미 4.5 3.33 2.75 베스 4.0 1.0 2.0 메그 3.5 2.0 2.5 마미 5.0 4.5 각 유저의 유저 프로필 * Cold-Start 문제: 마미는 코미디 장르가 포함되는 영화에 평점을 준 적이 한 번도 없기 때문에, 마미의 유저 프로필 중 코미디 장르에 대한 값은 NaN이 된다. 따라서 오직 코미디 장르만 가진 ‘정직한 후보'에 대한 마미의 예상 평점은 구할 수가 없다.
* 액션 더미변수 값 조의 스릴러 weight * 스릴러 더미변수 값 조의 코미디 weight * 코미디 더미변수 값 조의 기본 점수 (장르 더미변수 값이 모두 0일 때 조의 점수) 기본 점수 (절편) no genres listed Action Adv entu re Ani mati on Child ren Com edy Crime Doc ume ntary Dra ma Fant asy Film- Noir Horr or IMAX Musi cal Myst ery Roma nce Sci- Fi Thrill er War Wes tern 3.24 1.01 -0.21 0.12 0.65 -0.24 -0.08 0.17 0.38 0.29 0.05 0.33 -0.19 0.36 -0.06 0.19 -0.03 0.14 0.12 0.47 0.31 실습용 Train 데이터(random_state=42) 중 USER 414 의 유저 프로필
Σ 조의 예상 평점 2 + Regularization Term Linear Model with Regularization From Christoph Bishop's book: Pattern recognition and machine learning MSE가 최소값이 되는 절편 와 계수 를 찾는다.
Σ 조의 예상 평점 2 + Regularization Term Linear Model with Regularization https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Lasso.html 제 1 정규화 제 2 정규화 MSE가 최소값이 되는 절편 와 계수 를 찾는다.