• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    해결됨

CF 관련 질문

22.05.05 01:01 작성 조회수 183

1

안녕하세요.

제가 보다가 궁금증이 생겼습니다!

sim_scores를 할 때 자기 자신에 대한 값은 제외하지 않고 하나요??

 

좋은 강의 감사합니다!

답변 3

·

답변을 작성해보세요.

1

안녕하세요.

개인적 사정으로 답변 늦게 드린점 죄송합니다.

말씀하신대로 단순 cosine_similarity를 해서 유사한 집단에서 가장 유사한 군을 뽑게 되면 본인이 나올 수 있습니다.

하지만 강의에서는 단순 cosine_similarity로 추천 결과물을 내는 것이 아니라,

cosine_similarity 와 movie_ratings간의 가중평균을 통해서 결과물을 내게 됩니다.

그래서 학습자님께서 질문하신 것을 정리해서 답변드리면 다음과 같습니다.

1) user_id를 빼고 구하게 되면 movie_ratings와 가중 평균 연산을 할 수 없게 된다.

2) cosine_similarity는 유저간 유사도를 구하는 것이지, 추천 결과물의 직접적인 산출물은 아니다.

답변이 되셨으면 좋겠습니다.

감사합니다.

-거친코딩 드림-

0

HAHA님의 프로필

HAHA

질문자

2022.05.05

cosine similarity를 하게 되면 행렬에서 대각행렬(자신과 자신에 유사도를 구한 값)이 가장 높을 것이라고 생각됩니다!

argsort를 하면 동일한 값이 많지 않는 한 자기 자신이 무조건 상위에 n개 안에 포함될 것이라고 예상이 됩니다.

제가 보는 코드에서는 대각행렬을 제외하는 코드가 없었던 것 같아서 질문 남겼습니다!

 

0

안녕하세요!

거친코딩입니다.

학습자님의 질문이 완전히 이해가 되지 않았지만,

제가 이해한바로 답변을 드리자면,

만약 자기 자신을 제외하게 되면, 추천받게 되는 대상의 추천을 위한 score를 계산할 수 없게 됩니다.

답변이 되셨기를 바라면서, 부족하다고 느껴지신다면 조금만 더 구체적으로 남겨주시면 감사하겠습니다.

감사합니다.

-거친코딩 드림-