콜드스타트가 무엇인지, 해결방안은 어떤 것이 있는지 정리하기 위해 포스팅합니다.
cold start는 프로그램측면에서 데이터가 없는 상태를 의미합니다.
그래서 추천시스템의 cold start는 새롭게 들어오거나 특정한 유저들의 데이터를 충분히 확보하지 못하여 유저에 적합한 추천을 하지 못하는 문제를 말합니다.
일반적으로 추천시스템은 유저 기반의 다양한 레퍼런스를 비교하며 추천을 진행하게 되며, 아이템과 사용자라는 기준으로 대부분 나뉘어집니다. 아이템 특성을 활용한 경우 컨텐츠 기반 추천(cotents-based filtering)이라고 하며, 사용자 특성을 활용한 경우 협업 필터링(Collaborative filtering)이라고 합니다.
주로 많이 활용되는 인터렉션 정보들은 사용자의 평점, 북마크, 구매, 좋아요, 페이지 방문 횟수 등 사용되며, 활용하는 알고리즘에 따라 달라질 수 있습니다.
cold start의 원인은 크게 3가지로 분류할 수 있습니다.
새로운 아이템이 추가되는 경우 추천시스템의 종류에 따라 cold start문제가 조금 달라지기도 한다.
협업필터링의 경우 유저의 인터렉션 정보를 활용하여 추천을 진행하게 된다. 인터렉션 정보로는 제품을 이용한 기록, 평점, 좋아요 등 유저의 평가나 행동을 나타내는 데이터이다.
새로운 아이템은 유저들의 인터렉션 정보가 없거나 적은 양이 존재하게 되는 데 이를 기반으로 협업필터링 추천이 진행되면 좋지 않은 결과가 초래된다. 좋은 아이템이라도 유저의 인터렉션 정보가 없기 때문에 인기가 없는 아이템으로 판단하여 추천이 되지 않은 경우가 발생하기 때문이다. 이러한 경우를 인기있는 아이템이 극소수이기 때문에 Popularity bias 또는 Long tail graph라고 한다.
컨텐츠 기반 필터링은 이러한 점에서 cold start문제에 비교적 영향을 적게 받는다. 컨텐츠 기반 필터링은 제품에 대한 유저의 인터렉션 정보를 기반으로 하지 않고 제품의 특징을 기반으로 유사한 아이템을 추천하는 알고리즘을 가지고 있기 때문이다. 그렇지만 컨텐츠 기반 필터링 또한 유저의 리뷰 같은 특징을 활용하였다면 cold start문제에 빠질 가능성이 있다.
3.Differentiating Regularization weights
4.feature mapping