본문 바로가기

블로그

[추천 시스템] Model-based CF: Matrix Factorization(MF) CF는 두 가지 방식이 존재한다.  첫째, Memory-based: Rating 자료를 모두 메모리에 가지고 있으면서 추천을 위한 계산에 사용하는 방식둘째, Model-based: Rating 자료는 모델을 학습하는 데 사용하고 추천을 위한 계산은 학습된 모델로 하는 방식 앞선 포스팅에서 진행한 3가지 협업필터링은 메모리에 적재된 Rating에 관련된 자료를 바탕으로 추천을 위한 계산을 했다. 앞으로 배울 Deep-learning based 모델이나 MF와 같은 모델은 자료를 바탕으로 모델을 학습하고 추천은 학습된 모델을 바탕으로 진행하는 Model-based 방식이다. Model-based CF는 Model learning에는 많은 자원이 소요되지만, 예측에 들어가는 비용은 비교적 적은 편이며, 모델을.. 더보기
[추천 시스템] 협업 필터링 Collaborative Filtering - KNN + User Bias 이전 포스팅에서는 유저의 영화 Rating 성향이 더욱 가까운 사람 K명을 선정하여 추천에 이용하는 트릭을 활용하였다. 추천 모델 RMSE CF - 사용자 유사도 1.017 CF - 사용자 유사도 + 유사도 순위 1.010 CF - 사용자 유사도 + 유사도 순위 + 사용자 평가 경향 맨 아래에 공개 이번에는 사용자 평가의 경향을 모델에 반영하여 추천 모델의 성능(RMSE)을 높여 보자. 이전 포스팅 - CF - 사용자 유사도 + 유사도 순위 https://fenzhan.tistory.com/32 [추천 시스템] 협업 필터링 Collaborative Filtering - 유사도 순위 반영 이전 포스팅에서는 단순히 영화를 시청한 유저가 영화를 보고 평가한 Rating 성향을 코사인 유사도를 바탕으로 구하고,.. 더보기
[추천 시스템] 협업 필터링 Collaborative Filtering - 유사도 순위 반영 이전 포스팅에서는 단순히 영화를 시청한 유저가 영화를 보고 평가한 Rating 성향을 코사인 유사도를 바탕으로 구하고, 유사도가 높은 사람을 추천하는 CF를 구현해보았다. 이번에는 유저의 영화 Rating 성향이 더욱 가까운 사람 K명을 선정하여 추천에 이용하는 트릭을 활용해보자. 추천 모델 RMSE CF - 사용자 유사도 1.017 (본 포스팅) CF - 사용자 유사도 + 유사도 순위 1.010 이전 포스팅 - CF - user https://fenzhan.tistory.com/30 [추천 시스템] 협업 필터링 Collaborative Filtering - User based 추천시스템 개요 추천시스템은 아이템에 대한 사용자의 예상 선호도를 추정하는 것이다. 따라서 어떻게 하면 아이템에 대한 사용자의 .. 더보기
[Causal Inference] Difference in Difference(DID) 해당 글은 가짜 연구소 Causal Inference Lab 에 참여하며 작성하였습니다.ContentsMotivation and PreliminariesDifference-in-Differneces OverviewAssumptions and ProofProbelms with Difference-in-Differences◦ 강의 영상 링크 : Chapter 10 - Difference in Difference    작성된 내용 중 개선점이나 잘못된 부분이 있다면 댓글로 알려주세요! 1. MotivationQ. 인과관계를 밝히려면 어떻게 해야할까요?A. RCT, frontdoor adjustment, backdoor adjustment, do-calculus 등을 이용해 confounding factor를 .. 더보기
[추천 시스템] 협업 필터링 Collaborative Filtering - User based 추천시스템 개요 추천시스템은 아이템에 대한 사용자의 예상 선호도를 추정하는 것이다. 따라서 어떻게 하면 아이템에 대한 사용자의 선호도를 정확히 예측할 것인지에 대한 알고리즘임 그렇다면 추천 시스템의 모델도 특정 유저에 대한 평점을 "예측"하고, 실제 값과 비교하며 Loss 줄여가겠다. 데이터의 종류 Explicit data (ex. 별점, 좋아요, 구독) 취향이나 선호도를 표시한 데이터 lmplicit data (ex. click, 체류 시간 등, skip 여부, 시청시간) 사용자들의 행동으로부터 취향이나 선호도를 추론할 수 있는 데이터 추천시스템의 평가 MAE, MSE, RMSE 등을 활용하기도 하지만, 상위 K를 활용하는 Precision@K, Recall@K, MAP@5 등을 활용함. => 어떻게 .. 더보기
[python] 리스트 내포(List comprehension)란? 리스트 내포는 파이썬 답게(Pythonic) 리스트를 만드는 방법이다. 일반적으로 list 만드는 방법을 통해 10개의 제곱수를 만드는 코드를 작성해보자. squares = [] for i in range(10): squares.append(i * i) squares [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 위 코드는 제곱한 수를 squares라는 리스트에 담는 예제이다. 이것을 리스트 내포(list comprehension)을 활용하면 다음과 같이 간단히 해결할 수 있다. squares = [i * i for i in range(10)] squares [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 일반적으로 list에 대한 조건으로 filter() 를 활용해.. 더보기
Google Colab 코랩 런타임 유지 개발자도구를 열고 Console에 아래 코드를 입력하면 Colab 내 "리소스"를 주기적으로 클릭해서 Colab에서 세션이 끊어지는 것을 방지해준다. function ConnectButton(){ console.log("Connect pushed"); document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click() } setInterval(ConnectButton,60000); 참고: https://modernflow.tistory.com/12 더보기
[Causal Inference] Causal Models 해당 글은 가짜 연구소 Causal Inference Lab 에 참여하며 작성하였습니다. Contents Do-operator and Interventional Distributions Modularity Assumption Backdoor adjustment Structural causal models ◦ 강의 영상 링크 : Chapter 4 - Causal Models 작성된 내용 중 개선점이나 잘못된 부분이 있다면 댓글로 알려주세요! ◦ 이번 강의는 아래의 내용을 다룰 예정입니다. Casual Inference를 할 때, 이론적으로 대답할 수 없는 Causal Estimand를 여러가지 가정을 통해 계산할 수 있는 Statistical Estimand로 추정하게 됩니다. 이때 필요한 개념인 Caus.. 더보기