본문 바로가기

Tech Story

(151)
[Slide] 추천 시스템의 개요 및 분류 20편의 PR시리즈를 통해서 추천 시스템에 대한 다양한 이야기를 했습니다. 원래는 슬라이드를 만들 계획이 없었지만 화이트보드와 펜과 함께 하는 강의가 아닌, 스크린과 하는 발표가 생겨서 어쩔 수 없이 간단히 추천 시스템의 구분에 대한 키워드만 뽑아서 발표자료로 정리했습니다. 내부적인 논의가 필요한 항목을 제외하고 공개합니다. == 페이스북 페이지: https://www.facebook.com/unexperienced
추천 시스템과 프라이버시 (PR시리즈.20) 이 주제에 대해서 자세히 다룰 능력이 되지 않지만 이 주제를 뺀다면 글이 완성될 수 없기 때문에 생각했던 그리고 주워들었던 일반적인 내용만이라도 짧게 다룹니다. 프라이버시라고 제목에 적었지만 단지 프라이버시 뿐만 아니라, 여러 법적인 문제들은 늘 서비스 또는 알고리즘을 개발하는데 이슈가 됩니다. 특히 추천은 궁극적으로 개인화로 가기 때문에 개인정보 및 사용에 대한 고민이 많을 수 밖에 없습니다. (이 글은 조금 민감한 주제이므로, 미리 밝히는데 이 글은 오로지 개인의 일탈적 생각일 뿐, 제가 몸담고 있는 조직의 생각/프랙티스는 아닙니다. 어떤 것들은 그냥 가능성 또는 잠재성만을 얘기하는 것일 뿐 저의 신념을 얘기하는 것도 아닙니다.) 이전 글에서 사적인 영역에서 봤던 것을 기준으로 추천된 것이 공적인 영..
추천 시스템과 어뷰징 (PR시리즈.19) 특별히 지능적인 해결책이 있는 것도 아니지만 잠재적인 문제가 될 수 있는 이슈라서 글을 적습니다. 글의 내용 때문에 어뷰저들이 더 지능적으로 바뀌지 않을까?라는 우려를 할 수 있겠으나 그렇게 지능적으로 발전할만한 내용을 담고 있지 않으니 큰 문제는 되지 않을 듯합니다. 현재 지능적인 해결책보다는 그저 휴리스틱으로 사후 대처에 급급한 분야이기 때문에 더 지능적인 어뷰저가 등장한다면 대처 능력도 더 커질 것이니 나쁜 것만은 아닙니다. 병이 있어야 약이 있는 이치입니다. (오늘 slownews.kr에 올라온, 일워 개발 이야기를 참조하세요.) 추천 시스템과 검색 엔진은 실질적으로 같은 것이다라고 적은 적이 있습니다. 인터넷의 많은 서비스들이 어뷰징이나 스팸 공격을 받고 있습니다. 특히 검색 서비스를 악용해서 ..
추천 시스템의 설계 (PR시리즈.18) 추천 시스템에 대한 세부적인 내용은 대부분 다뤘습니다. 오늘은 실제 추천 시스템을 설계할 때 중요한 포인트만 다시 집고 넘어가겠습니다. 설명을 단순화하기 위해서 메모리 기반의 CF만을 사용한다고 가정하겠습니다. 어떤 데이터를 어떻게 쌓을 것인가? 가장 먼저 고민해야할 문제는 추천에 필요한 데이터 — 유저-아이템 레이팅/피드백 — 을 어떻게 구성할 것인가를 결정해야 합니다. 명시점수를 사용할 것인가 아니며 암묵피드백을 사용할 것인가를 정해야 합니다. 명시점수를 사용하면 미싱값은 어떻게 처리할 것인가도 고려해야 하고, 바이어스되고 불완전한 데이터를 어떻게 정형화할 것인가도 중요한 문제입니다. 암묵점수를 사용하는 경우라면 단순히 0/1로만 할 것인지 아니면 사용자 engagement 정도에 따른 차등점수를 줄..
추천 시스템의 유사도에 대한 심화이해 (PR시리즈.17) 이 글은 이전에 다뤘던 글들에 비해서 조금 더 관념적이면서 기술적인 글을 담고 있습니다. 그렇다고 해서 수식이나 프로그래밍 코드가 포함된 것은 아닙니다. 추천 시스템 (CF방식)에서 어떤 유사도 similarity measure를 사용하느냐에 따라서 추천 시스템의 성능에 큰 영향을 준다고 설명했습니다. 일반적으로 Euclidean distance, jacard index, correlation coefficient, cosine 등의 유사도를 많이 사용하고 있다고 말했습니다. 그리고, 추천 시스템에 따른 예측값과 실측값의 Error term이나 이들의 correlation의 정도로 추천 시스템의 정확도를 평가한다고 말씀 드렸습니다. (하단 링크 참조) 이 글에서는 유사도 또는 성능평가 측도에 대해서 좀더..
추천 시스템과 다중인격 (PR시리즈.16) 추천 시스템 관련 이야기는 이제 그만 하려고 했는데, 미처 다루지 못했던 이슈가 계속 떠오릅니다. 제목은 조금 이상하게 정했지만, 추천이 개인화를 목적으로 두지만 경우에 따라서 반개인화가 목적이 될 때도 있고 또 지나친 개인화는 추후에 프라이버시 문제와 연결될 수가 있습니다. 여기서 말하는 프라이버시 문제는 일반적인 개인정보 수집 및 사용에 관한 것이 아니라, 다양한 페르소나를 가지는 개인을 하나로 합쳐서 보여줄 때 발생하는 문제를 의미합니다. 한 사람을 하나의 페르소나로 정의하지 못합니다. 여러 가지 특성을 가지고 있습니다. 저는 직장인이고, 30대 남성이고, 제주에 살고 있습니다. 그 외에 사진을 많이 찍고 데이터마이닝에 관심을 가지고 있습니다. 주말에는 교회를 나가고 또 축구하는 것도 좋아합니다. ..
추천 시스템과 머신러닝 (PR시리즈.15) 14편의 글로 추천시스템을 마무리하려고 했었는데, 하나가 더 생각나서 글을 적습니다. 깊게 들어가면 어려워지는 문제지만, 이 그레서는 아주 피상적으로만 적겠습니다. 데이터마이닝하면 머신러닝이 같이 떠오른데 그러면 머신러닝은 추천 시스템에서 어떤 역할을 하느냐?라는 질문을 할 수 있습니다. 그래서 준비했습니다. 그러나 모든 디테일은 생략합니다. 구체적으로 어떤 머신러닝 알고리즘들이 추천시스템에 활용되고 있는지는 Netflix에서 나온 Mining Large Streams of User Data for Personalized Recommendations을 참조하세요. Collaborative Filtering 알고리즘을 설명하면서 모델기반 CF를 잠깐 언급한 적이 있습니다. 여기서 모델이란 머신러닝을 통해서..
추천 시스템에 대해서 여전히 남은 이야기들 (PR시리즈.14) 추천 시스템에 대한 웬만한 내용은 다 다룬 듯합니다. 그래도 남은 짜투리 생각들을 정리합니다. 추천의 형태/대상별 분류에서 그룹추천을 설명했습니다. 그룹추천은 그룹을 대상으로 공통된 아이템을 추천해주는 의미도 있지만, 더 상세한 개인추천/개인화의 중간단계 역할도 합니다. 여러 측면에서 고려될 수 있지만, 우선 떠오르는 생각은 추천 대상이 너무 많고 광범위해서 1차로 segmentation하고, 각 세그먼테이션 내에서 개인화를 진행할 수 있습니다. 성연령이나 문화권에 따라서 소비자들의 행동패턴은 분명히 다를 것입니다. 그렇기에 인위적으로 성별이나 연령대, 국가별로 나눠서 각 그룹 내의 행동패턴을 상세 분석하는 것은 의미가 있습니다. 미국의 소비자와 한국의 소비자를 하나의 데이터에 넣고 추천 알고리즘을 돌린..