강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

taylous님의 프로필 이미지
taylous

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

KNN 협업필터링 관련하여 질문 있습니다.

해결된 질문

작성

·

274

0

안녕하세요.

해당 강의를 수료한지 몇 달이 지났네요. (최근에 강의 또 하나 내셨던데 곧 수강신청 하겠습니다 😃)

추천 시스템 관련해서 구현하려다 기억이 안나 다시 돌아왔는데 새롭게 보는 내용인 것 같습니다.

KNN 협업필터링에서 i-th 영화에 대해 코사인 유사도를 통해 K(i-th 영화와 유사한 K개)개의 영화를 뽑고,

내적을 통해 예상 평점을 구하는 것으로 알고 있습니다.

1. i-th  번째 영화의 예상 평점에 대해서 다른 K개의 평점들을 모두 곱한 후 수 만큼 나눠주는 건가요?

2. KNN 알고리즘에서 영화 벡터는 "영화 n-th : (사용자 i-th, 평점)" 인건가요? (x축: 사용자id, y축: 평점)

3. BaseLine은 기존의 "유사도 * 평점"에서 "모든 사용자의 평균 평점 + 사용자 편향 점수 + 아이템 편향 점수"로 바뀌는 건가요?

답변 주시면 감사하겠습니다.

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

간만에 질문 주셨군요. 반갑습니다.

아이템기반 knn 협업 필터링에서

1. i-th  번째 영화의 예상 평점에 대해서 유사도가 높은 K개의 아이템 유사도 벡터와 이들 K의 평점을 모두 곱한 후에 정규화를 위해서 K개의 유사도 벡터 합으로 나누어 줍니다.

2. 네 맞습니다. 영화를 기준으로 한 사용자 들의 평점입니다.  X축 사용자 ID, Y축 영화

3. Baseline은 KNN 예측 평점식을 보정할때 사용됩니다.  보통 아래와 같이 보정할때 사용됩니다. 아래 식에서 b가 baseline 값을 의미합니다.

감사합니다.

taylous님의 프로필 이미지
taylous

작성한 질문수

질문하기