본문 바로가기

추천 시스템 | Recommender System

(6)
추천 시스템 06. Matrix Factorization 행렬 분해 두 행렬(매트릭스)을 곱하는 방법! 알고 계시나요? 이미 빠삭하신 분들은 다음 섹션으로 바로 넘어가셔도 좋지만, 기억이 가물가물하거나 수학을 일찍 포기해버리셨던 분들을 위해 행렬의 곱셈에 대한 설명으로 글을 시작하겠습니다. Matrix Multiplication. 행렬의 곱셈. 두 수의 곱셈과 달리 두 행렬의 곱셈은 순서가 매우 중요합니다. 두 수 2와 3은 어느 수를 앞에 두어도 곱셈 결과가 같지만 ($2 \times 3 = 3 \times 2 = 6$), 두 행렬 A, B 간의 곱셈은 어떤 행렬을 앞에 두냐에 따라 결과가 달라집니다 ($ A \cdot B \neq B \cdot A $). 곧 설명할 두 행렬의 모양에 대한 룰을 지키지 못할 경우, 곱셈 연산 자체를 수행할 수 없기도 합니다. 따라서 어..
추천 시스템 05. Item-based Collaborative Filtering 아이템 기반 협업 필터링 안녕하세요, 수달이입니다 😊. 지난번 포스팅에서 다룬 유저 기반 협업 필터링의 단점을 기억하시나요? 바로 확장성(scalability)이 부족하다는 점이었죠. 거대 웹사이트들에게는 수백만의 유저를 대상으로 유저 간의 유사성을 연산하는 것이 다소 부담스러울 수 있습니다. 그래서 미국의 이커머스 기업인 아마존은 이러한 한계를 극복하고자 유저 기반 협업 필터링을 대체할 새로운 방법, 아이템 기반 협업 필터링 Item-based Collaborative Filtering을 개발했는데요. 이번 포스팅에서는 이 알고리즘에 대해 얘기해보겠습니다. 그거 산 사람들은 이것도 사던데? 인터넷 쇼핑 자주 하시나요? 코로나가 시작된 이후 저는 식재료를 포함하여 거의 모든 것을 택배로 받아보고 있는데요. 필요한 것만 딱 구매하..
추천 시스템 04. User-based Collaborative Filtering 유저 기반 협업 필터링 안녕하세요, 수달이입니다. 벌써 추천 시스템에 관한 세 번째 포스팅이네요! (👏👏 ) 가장 고전적인 방법인 인구통계학적 필터링부터 시작하여, 선형대수를 활용(벡터의 내적)하여 조금 더 개인화된 추천을 제공해주는 컨텐츠 기반 필터링까지. 점점 추천 방법들이 고도화되고 있다는 것이 느껴지시나요? 오늘부터는, 우리의 머신러닝 지식을 한 단계 더 높여줄, 다소 복잡할 수 있지만 실제 산업에서 널리 쓰이고 있는 협업 필터링 Collaborative Filtering에 대해서 공부해보겠습니다. 너와 나의 콜라보 협업 필터링의 핵심 아이디어는 "나와 취향이 비슷한 사람들의 의견을 참고한다"는 것입니다. 너와 나의 취향이 "콜라보(협업)"하여 새로운 추천을 제시하는 것이죠. 음악 추천을 예로 들자면, 플레이리스트에 수..
추천 시스템 03. Content-based Filtering 컨텐츠 기반 필터링 추천 시스템의 목표는 '사용자'에게 그가 관심을 가질만한 '상품'을 능동적으로 제시해주는 것이죠. 즉, 추천 시스템에서는 유저(user)와 아이템(item)이 중요한 역할을 차지합니다. 이 중 '유저'에 대한 정보를 활용하는 인구통계학적 필터링(Demographic Filtering)에 대해 지난 포스팅에서 알아봤는데요. 이번 글에서는 '아이템'에 대한 정보를 활용하는 접근법인 컨텐츠 기반 필터링(Content-based Filtering)에 대해서 이야기해보겠습니다. ت 인풋 데이터 만들기 '아이템에 대한 정보'라 하면 어떤 것들이 떠오르시나요? 조금 더 쉽게 떠올리실 수 있도록 '수달이'에게 '영화'를 추천해주는 상황을 가정하고, 저의 ❤인생 영화❤인 '라라 랜드'를 예로 들어 이야기해보겠습니다. 아..
추천 시스템 02. Demographic Filtering 인구통계학적 필터링 첫 번째로 살펴볼 Recommendation System 접근법은 Demographic Filtering, 인구통계학적 접근법입니다. 이전 포스팅에서 간단히 설명했듯이, Demographic Filtering은 인구통계학적 정보를 기반으로 미리 유저 그룹을 정의해두고, 타깃 유저를 그중 하나의 그룹으로 분류합니다. 이 과정을 조금 더 고급지게 표현하자면 Stereotyping, 정형화라고 부를 수 있습니다. Stereotyping. 정형화. (Stereotype이라고 하면 보통 '고정관념'이라는 부정적 함의를 가진 단어로 해석이 되는데요. 여기서는 그런 부정적인 의미보다는 '대표 이미지'라는 개념으로 받아들이시면 될 것 같습니다. ت ) Stereotyping을 통한 recommendation은, 머신러..
추천 시스템 01. Recommender System의 큰 갈래 알아보기 안녕하세요. 두근두근 첫 번째 게시물입니다. ت 첫 글의 토픽은 Recommendation System, 추천 시스템인데요. 스마트폰과 한 몸처럼 지내는 우리의 일상에 추천 엔진이 얼마나 깊숙이 스며들어 있는지는, 제가 굳이 설명하지 않아도 다 체감하고 계실 거라 생각하기 때문에, 거창한 서두는 생략하고 바로 본 주제로 들어갈게요. 먼저 아래의 그림을 봐주세요. 비교적 오래된 논문에 실린 내용이지만, 각 접근법(approaches)들의 공통점과 차이점, 그리고 파이프라인을 직관적으로 잘 표현한 그림입니다. 그림에서 알 수 있듯, recommendation system은 다음의 세 줄기로 요약할 수 있습니다. Demographic Filtering | Content-based Filtering | Coll..