인프런 커뮤니티 질문&답변
KNN 협업필터링 관련하여 질문 있습니다.
해결된 질문
작성
·
277
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 값을 의미합니다.

감사합니다.





