PUBLY 멤버십 — 일하는 사람들의 콘텐츠 구독 서비스

한 달에 책 한 권 가격으로 모든 콘텐츠를 만나세요
멤버십 더 알아보기

PUBLY 멤버십 — 일하는 사람들의 콘텐츠 구독 서비스

한 달에 책 한 권 가격으로 모든 콘텐츠를 만나세요

멤버십 더 알아보기

올바르지 않은 내용, 오탈자 등 수정이 필요한 부분을 알려 주세요. 보내주신 내용은 저자에게 검토를 요청하겠습니다.

검토 결과는 독자님의 이메일로 회신 드리겠습니다. 내용을 입력해주세요.

  • 이메일

    {{ userEmail }}

  • 챕터 제목

    추천 알고리즘의 발전: 데이터X미디어(1)

{{ errors.first('content_error_request_text') }}

#4

추천 알고리즘의 발전: 데이터X미디어(1)

저자 최새미 편집 김시현
추천 알고리즘의 발전: 데이터X미디어(1)

데이터로 추천하다

추천을 하는 가장 합리적인 방법은 무엇일까요? 혹은 우리가 구매욕을 느낄 때 어떤 방식의 추천을 받았을까요? 가장 먼저 떠오르는 방법은 '나와 비슷한 사람이 좋아한 상품'일 것입니다. 여기서 상품은 물건일 수도 있고, 무형의 콘텐츠일 수도 있습니다.

 

사람은 자신에게 익숙한 것에 끌리기 마련이라, 나와 비슷한 사람을 정의하고 이들의 구매 내역을 바탕으로 추천한다면 구매자가 수용할 가능성이 높아집니다. 친구가 '좋아요'를 누른 상품에 더 관심이 가고, 이미 구매한 옷과 상당히 비슷한 의류를 구매한 경험도 비슷한 맥락입니다.

 

이를 협업 필터링CF, Collaborative Filtering이라고 하는데요. 대표적으로 사용자 기반과 상품 기반으로 구분합니다. 사용자로부터 얻은 사전 정보를 토대로 상품이나 콘텐츠를 추천하는 기법으로, 환경 센서에서 발생한 데이터에 기반하여 광물을 탐색하거나 금융 데이터를 통한 상품 추천에도 적용됩니다.

선호도 행렬 평점 예시협업 필터링에는 행렬과 유사도라는 개념이 있는데, 사용자 행과 상품 열로 이루어진 '선호도 행렬'을 사용합니다. 선호도 행렬 안에는 사용자가 어떤 상품에 평점을 줬는지, 좋아요를 눌렀는지가 입력됩니다. (좋아요를 누를 경우, 1과 0으로 표기됩니다.) 사용자와 상품이 너무 많은 경우에는 연산의 편의성을 위해 '행렬 분해'라는 방법을 이용해 사용자 행 혹은 상품 열만으로 이뤄진 행렬 두 개로 분해해 사용하기도 합니다.

 

유사도는 서로 다른 두 사용자 혹은 상품의 유사성을 나타내는 숫자입니다. 코사인 유사도Cosine similarity라는 개념이 자주 사용되는데요. (수학적인 내용을 자세히 알고 싶은 분은 코사인 거리를 이용한 코사인 유사도 설명을 참조하시기 바랍니다.) 비슷한 사용자를 찾기 위해서 사용자 행으로만 이뤄진 행렬을 이용해 유사도를 계산하고, 상품도 같은 방식으로 계산합니다.선호도 행렬 예시에서 구한 사용자 유사도 평가 예시유사도는 숫자로 표현되지만 '히트맵'이라는 시각화 자료를 이용하면 수월하게 인사이트를 얻을 수 있습니다. 아래의 히트맵에서는 파란색이 진할수록 유사한 사용자를 의미합니다. 코사인 거리가 0에 가까울수록 높은 유사도를 가리킵니다.

 

히트맵에서 색깔은 사용자 A와 사용자 A, 사용자 B와 사용자 B, 사용자 C와 사용자 C의 거리가 가까운 정도를 표현합니다. 색이 진할 경우 더 가깝습니다. 따라서 사용자 A와 사용자 C가 가깝고, 사용자 B는 사용자 A보다는 사용자 C에 더 가깝다는 사실을 알 수 있습니다.
사용자 유사도 히트맵 시각화. 색이 진할수록 유사도가 높다. 각각의 사용자는 자기 자신과 가장 유사하다.

 

사용자 기반 협업 필터링

PUBLY 멤버십에 가입하시고, 모든 콘텐츠를 읽으세요.

이런 콘텐츠는 어떠세요?

멤버십 더 알아보기

독자 평가

현재까지 232명이 읽은 콘텐츠입니다

  • 강**

    적절한 분량안에 깊이 있는 내용이 잘 정리된것 같습니다. 얼마전까지 미디어 업계에서 디자이너로 종사했던 기억을 떠올렸을때 아주 공감된 내용이 많았고 추가로 얻은 정보도 많아서 참 좋았습니다.
    개인적으로 3번챕터 내용이 좀 어렵고 분량도 많아서 좀 읽기 어려웠습니다. 타 챕터에비해 관련 사전지식이 부족한 탓일수도있겠네요. 좋은 콘텐츠 감사합니다.