5.3 평점 평균과 유사도 평균 중심 가중 평균 기반 평점 예측

평점 평균과 유사도 평균 중심 가중 평균을 사용한 예측 평점 계산은 평점의 평균에 평균 중심으로 정규화된 평점으로 유사도와 평균 중심 가중 평균을 계산하여 더하는 방법입니다. 여기에서는 사용자가 평가하지 않은 아이템에 대한 예측 평점을 사용자 또는 아이템을 기준으로 계산하여 추천하는 두 가지 방법을 살펴봅니다.

5.3.1 수식 살펴보기

여기에서는 근접 이웃 협업 필터링 추천에서 평점 평균과 유사도 평균 중심 가중 평균을 사용한 예측 평점에 대한 수식을 살펴봅니다.

5.3.1.1 사용자 기반 추천

사용자 기반 근접 이웃 협업 필터링 추천은 사용자와 가장 유사한 사용자의 $k$-근접 이웃을 선정하고, 사용자가 평가하지 않은 아이템에 대하여 사용자가 평가한 아이템의 평균 평점과 사용자 평균 중심으로 정규화된 평점으로 사용자 유사도와 가중 평균한 값으로 아이템의 예측 평점을 계산하여 예측 평점이 높은 순으로 추천합니다.

사용자 평균 중심으로 정규화된 평점은 다음과 같이 정의됩니다.

$${s_{ui}} = r_{ui} - {\mu _u}$$

여기에서 $r_{ui}$은 사용자 $u$가 아이템 $i$에 매긴 평점, ${\mu _u}$은 사용자 $u$에게 평가된 아이템 집합 ${I_u}$의 평점 평균입니다.

사용자 $u$가 평가하지 않은 아이템 $i$에 대한 예측 평점은 다음과 같이 정의됩니다.

$$ \begin{flalign} \hat r_{ui} & = {\mu _u} + \frac{{\sum\nolimits_{v \in {N_i}(u)} {{w_{u,v}}{s_{vi}}} }}{{\sum\nolimits_{v \in {N_i}(u)} {\left| {{w_{u,v}}} \right|} }} \\ & = {\mu _u} + \frac{{\sum\nolimits_{v \in {N_i}(u)} {\mathrm{sim} (u,v) \cdot ({r_{vi}} - {\mu _v})} }}{{\sum\nolimits_{v \in {N_i}(u)} {\left| {\mathrm{sim} (u,v)} \right|} }} \end{flalign} $$
여기에서, ${\mu _u}$는 사용자 $u$에게 평가된 아이템 집합 ${I_u}$의 평점 평균, ${N_i}(u)$는 아이템 $i$를 평가한 사용자 $u$와 가장 유사한 $k$명의 사용자 집합($k$-근접 이웃), ${w_{u,v}}$는 사용자 $u$와 이웃 사용자 $v$의 유사도($u \ne v$), ${s_{vi}}$는 사용자 평균 중심으로 정규화된 평점, ${r_{vi}}$은 사용자 $v$가 아이템 $i$에 매긴 평점, ${\mu _v}$는 이웃 사용자 $v$에게 평가된 아이템 집합 ${I_u}$의 평점 평균 입니다.

5.3.1.2 아이템 기반 추천

아이템 기반 근접 이웃 협업 필터링 추천은 사용자가 평가한 아이템과 가장 유사한 아이템의 $k$-근접 이웃을 선정하고, 사용자가 평가하지 않은 아이템에 대하여 아이템에 매겨진 사용자의 평균 평점과 아이템 평균 중심으로 정규화된 평점으로 아이템 유사도와 가중 평균한 값으로 아이템의 예측 평점을 계산하여 예측 평점이 높은 순으로 추천합니다.

아이템 평균 중심으로 정규화된 평점은 다음과 같이 정의됩니다.

$${s_{ui}} = r_{ui} - {\mu _i}$$

여기에서 $r_{ui}$은 사용자 $u$가 아이템 $i$에 매긴 평점, ${\mu _i}$은 아이템 $i$를 평가한 사용자 집합 ${U_i}$의 평점 평균입니다.

사용자 $u$가 평가하지 않은 아이템 $i$에 대한 예측 평점은 다음과 같이 정의됩니다.

$$ \begin{flalign} \hat r_{ui} & = {\mu _i} + \frac{{\sum\nolimits_{j \in {N_u}(i)} {{w_{i,j}}{s_{uj}}} }}{{\sum\nolimits_{j \in {N_u}(i)} {\left| {{w_{i,j}}} \right|} }} \\ & = {\mu _i} + \frac{{\sum\nolimits_{j \in {N_u}(i)} {\mathrm{sim} (i,j) \cdot ({r_{uj}} - {\mu _j})} }}{{\sum\nolimits_{j \in {N_u}(i)} {\left| {\mathrm{sim} (i,j)} \right|} }} \end{flalign} $$
여기에서, ${\mu _i}$는 아이템 $i$에 매겨진 사용자 집합 ${U_i}$의 평점 평균, ${N_u}(i)$는 사용자 $u$가 평가한 아이템 $i$와 가장 유사한 k개의 아이템 집합(k-근접 이웃), ${w_{i,j}}$는 아이템 $i$와 이웃 아이템 $j$의 유사도($i \ne j$), ${s_{uj}}$는 아이템 평균 중심으로 정규화된 평점, ${r_{uj}}$은 사용자 $u$가 아이템 $j$에 매긴 평점, ${\mu _j}$는 이웃 아이템 $j$에 매겨진 사용자 집합 ${U_i}$의 평점 평균입니다.

5.3.2 직접 계산해보기

이제부터 예제 데이터셋을 사용하여 앞서 살펴본 수식으로 직접 계산해 볼 것입니다. 다음 표는 평점 데이터를 사용자는 행, 아이템은 열로 나타낸 것입니다.

예제 데이터셋의 평점 데이터

사용자/아이템 $i_1$ $i_2$ $i_3$ $i_4$ $i_5$ $i_6$ $i_7$ $i_8$ $i_9$ $i_{10}$
$u_1$ 0.5 5 1 3 3.5 5 2.5
$u_2$ 3 2 3.5 2 4 4 1
$u_3$ 3.5 1 3.5 4 1 3.5
$u_4$ 3 5 0.5 3.5 3.5 4.5
$u_5$ 3 4 2.5 4

예를 들어 사용자 $u_4$가 평가하지 않은 아이템들에 대한 예측 평점을 사용자가 평가한 아이템의 평균 평점과 사용자 평균 중심으로 정규화된 평점과 유사도를 사용하여 계산해 봅니다.

5.3.2.1 사용자 기반 추천

예를 들어 사용자 $u_4$가 평가하지 않은 아이템 $i_3$에 대한 예측 평점을 사용자가 평가한 아이템의 평균 평점과 사용자 평균 중심으로 정규화된 평점과 유사도를 사용하여 계산해 봅니다. 여기에서는 근접 이웃은 3명($k = 3$), 최소 이웃 수는 2명으로 가정하고, 유사도 계산 방법으로 결측값을 0으로 대체하지 않은 사용자 코사인 유사도를 사용합니다.

먼저 사용자 평균 중심으로 정규화된 평점 데이터를 사용하여 사용자 코사인 유사도를 계산해 봅니다. 여기에서는 직접 계산해 보지 않고 이전 장에서 직접 계산해본 결과를 사용합니다. 사용자 코사인 유사도의 계산에 대한 자세한 내용은 "Chapter 4. 유사도 계산"을 참고해 주세요.

다음 표는 사용자 평균 중심으로 정규화된 평점 데이터를 사용자는 행, 아이템은 열로 나타낸 것입니다.

사용자 평균 중심화 평점 데이터

사용자/아이템 $i_1$ $i_2$ $i_3$ $i_4$ $i_5$ $i_6$ $i_7$ $i_8$ $i_9$ $i_{10}$
$u_1$ -2.4285714 2.0714286 -1.9285714 0.0714286 0.5714286 2.0714286 -0.4285714
$u_2$ 0.2142857 -0.7857143 0.7142857 -0.7857143 1.2142857 1.2142857 -1.7857143
$u_3$ 0.75 -1.75 0.75 1.25 -1.75 0.75
$u_4$ -0.3333333 1.6666667 -2.8333333 0.1666667 0.1666667 1.1666667
$u_5$ -0.375 0.625 -0.875 0.625

다음 표는 사용자 평균 중심으로 정규화된 평점 데이터로 계산된 사용자 코사인 유사도 데이터를 사용자(LHS)는 행, 사용자(RHS)는 열로 나타낸 것입니다.

사용자 코사인 유사도 데이터

사용자(RHS) 사용자(LHS) $u_1$ $u_2$ $u_3$ $u_4$ $u_5$
$u_1$ -0.2252454 0.6730268 0.8499498 -0.4497706
$u_2$ -0.2252454 -0.2116711 0.2260608 0.9684968
$u_3$ 0.6730268 -0.2116711 -0.038323 0.0530566
$u_4$ 0.8499498 0.2260608 -0.038323 -0.4834227
$u_5$ -0.4834227 -0.4834227

여기에서 사용자 $u_4$의 이웃 사용자는 자기 자신을 제외한 {$u_1$, $u_2$, $u_3$, $u_5$}입니다.

다음 표는 사용자 $u_4$와 이웃 사용자 간의 유사도 데이터를 사용자(LHS)는 행, 사용자(RHS)는 열로 나타낸 것입니다.

사용자 $u_4$와 이웃 사용자 간의 유사도 데이터

사용자(RHS) 사용자(LHS) $u_1$ $u_2$ $u_3$ $u_5$
$u_4$ 0.8499498 0.2260608 -0.038323 -0.4834227

사용자 $u_4$가 평가하지 않은 아이템 {$i_3$, $i_5$, $i_7$, $i_{10}$}에 대한 이웃 사용자의 평점을 살펴봅니다.

다음 표는 이웃 사용자가 사용자 $u_4$가 평가하지 않은 아이템 {$i_3$, $i_5$, $i_7$, $i_{10}$}에 매긴 평점을 사용자는 행, 아이템은 열로 나타낸 것입니다.

사용자 $u_4$가 평가하지 않은 아이템에 대한 이웃 사용자의 평점 데이터

사용자/아이템(RHS) $i_3$ $i_5$ $i_7$ $i_{10}$
$u_1$ 1 3.5 2.5
$u_2$ 3.5 4 4 1
$u_3$ 1 4
$u_5$ 4 4

여기에서는 사용자 평균 중심으로 정규화된 평점 데이터를 사용한 유사도 계산 결과와는 달리 사용자 평균 중심으로 정규화된 평점을 직접 계산해 보기 위하여 사용자의 평균 평점을 살펴봅니다.

다음 표는 평점 데이터의 사용자 평점 평균을 나타낸 것입니다.

평점 데이터의 사용자 평점 평균

사용자 $u_1$ $u_2$ $u_3$ $u_4$ $u_5$
평점 평균 2.928571429 2.785714286 2.75 3.333333333 3.375

앞서 살펴본 바와 같이, 사용자 $u_4$의 이웃 사용자 {$u_1$, $u_2$, $u_3$, $u_5$}의 유사도는 {0.9478988, 0.8288487, 0.8245676, 0.996473}, 또한 사용자 $u_4$의 평점 평균은 3.3333333, 사용자 $u_4$가 평가하지 않은 아이템 {$i_3$, $i_5$, $i_7$, $i_{10}$} 중 아이템 $i_3$의 평점은 {1, 3.5, 1, 4}, 이웃 사용자 {$u_1$, $u_2$, $u_3$, $u_5$}의 평점 평균은 {2.928571429, 2.785714286, 2.75, 3.375}입니다.

다음 표는 사용자 $u_4$가 평가하지 않은 아이템 $i_3$에 대한 이웃 사용자의 유사도와 평점을 유사도가 높은 순으로 나타낸 것입니다.

사용자 $u_4$의 아이템 $i_3$에 대한 이웃 사용자 데이터

사용자(LHS) 평점 평균 아이템 사용자(RHS) 유사도 평점 평점 평균 평균중심화 평점 유사도와 평균중심화 평점의 곱 k-근접 이웃
$u_4$ 3.3333333 $i_3$ $u_1$ 0.8499498 1 2.928571429 -1.928571429 -1.6391889 (1, 2)
$u_2$ 0.2260608 3.5 2.785714286 0.714285714 0.161472
$u_3$ -0.038323 1 2.75
$u_5$ -0.4834227 4 3.375

사용자 $u_4$가 평가하지 않은 아이템 $i_3$에 대한 $k$-근접 이웃($k = 3$)은 유사도가 0보다 같거나 작은 아이템 $i_3$과 5를 제외한 유사도가 높은 순으로 사용자 {$u_1$, $u_2$}가 됩니다. 사용자 {$u_1$, $u_2$}의 유사도는 {0.8499498, 0.2260608}, 평점과 평점 평균은 {1, 3.5}와 {2.9285714, 2.7857142}입니다.

사용자 $u_4$가 평가하지 않은 아이템 $i_3$의 예측 평점은 사용자 평점 평균인 $3.3333333$에 $k$-근접 이웃의 유사도와 평균 중심화된 평점을 곱한 값의 합인 $-1.4777168$을 각 사용자 유사도 절대값의 합인 $1.0760106$으로 나눈 값을 더한 $1.96$가 됩니다.

$$ \begin{flalign} {\hat r_{4,3}} & = 3.3333333 + \frac{{( {0.8499498 \times (1 - 2.9285714)} ) + ( {0.2260608 \times (3.5 - 2.7857142)} )}}{{\left| {0.8499498} \right| + \left| {0.2260608} \right|}} \\ & \approx 1.96 \end{flalign} $$

다음 표는 직접 계산한 결괏값을 나타낸 것입니다.

계산 결과

사용자 아이템 사용자 평점 평균 합계(유사도와 평균중심화 평점의 곱) 합계(유사도 절대값) 예측 평점
$u_4$ $i_3$ 3.3333333 -1.4777168 1.0760106 1.96

같은 방법으로 사용자 $u_4$가 평가하지 않은 아이템에 대한 예측 평점을 모두 계산해 봅니다. 다음 표는 사용자 $u_4$가 평가하지 않은 아이템 {$i_5$, $i_7$, $i_{10}$}에 대한 이웃 사용자 데이터를 사용자(LHS)는 행, 사용자 (RHS)는 열로 나타낸 것입니다.

사용자 $u_4$의 평가하지 않은 나머지 아이템에 대한 이웃 사용자 데이터

사용자(LHS) 평점 평균 아이템 사용자(RHS) 유사도 평점 평점 평균 평균중심화 평점 유사도와 평균중심화 평점의 곱 k-근접 이웃 예측 평점
$u_4$ 3.3333333 $i_5$ $u_1$ 0.8499498 2.928571429 {$u_2$} NaN
$u_2$ 0.2260608 4 2.785714286 1.214285714 0.2745024
$u_3$ -0.038323 4 2.75
$u_5$ -0.4834227 3.375
$i_7$ $u_1$ 0.8499498 3.5 2.928571429 0.571428571 0.4856856 {$u_1$, $u_2$} 4.0398207
$u_2$ 0.2260608 4 2.785714286 1.214285714 0.2745024
$u_3$ -0.038323 2.75
$u_5$ -0.4834227 4 3.375
$i_{10}$ $u_1$ 0.8499498 2.5 2.928571429 -0.428571429 -0.3642642 {$u_1$,$u_2$} 2.6196375
$u_2$ 0.2260608 1 2.785714286 -1.785714286 -0.40368
$u_3$ -0.038323 2.75
$u_5$ -0.4834227 2.5 3.375

사용자 $u_4$가 평가하지 않은 아이템 {$i_3$, $i_5$, $i_7$, $i_{10}$}에 대한 예측 평점은 {1.9600039, NaN, 4.0398207, 2.6196375}입니다. 예를 들어, 사용자 $u_4$에게 예측 평점이 높은 상위 $N$개($N = 3$)의 아이템을 추천하면, 추천된 아이템은 {$i_7$, $i_{10}$, $i_3$} 순이 됩니다.

다음 표는 사용자 $u_4$가 평가하지 않은 아이템을 예측 평점이 높은 순으로 나타낸 것입니다.

사용자 $u_4$가 평가하지 않은 아이템의 예측평점

아이템 평점 평균 합계(유사도와 평균중심화 평점의 곱) 합계(유사도 절대값) k-근접 이웃 예측 평점
$i_7$ 3.3333333 0.760188 1.0760106 (1, 2) 4.0398207
$i_{10}$ 3.3333333 -0.7679442 1.0760106 (1, 2) 2.6196375
$i_3$ 3.3333333 -1.4777169 1.0760106 (1, 2) 1.9600039
$i_5$ 3.3333333 0.2745024 0.2260608 (2) NaN

5.3.2.2 아이템 기반 추천

예를 들어 사용자 $u_4$가 평가하지 않은 아이템 $i_3$에 대한 예측 평점을 아이템을 평가한 사용자의 평균 평점과 아이템 평균 중심으로 정규화된 평점과 유사도를 사용하여 계산해 봅니다. 여기에서는 근접 이웃은 3개($k = 3$), 최소 이웃 수는 2개으로 가정하고, 유사도 계산 방법으로 결측값을 0으로 대체하지 않은 아이템 코사인 유사도를 사용합니다.

먼저 아이템 평균 중심으로 정규화된 평점 데이터를 사용하여 아이템 코사인 유사도를 계산해 봅니다. 여기에서는 직접 계산해 보지 않고 이전 장에서 직접 계산해본 결과를 사용합니다. 아이템 코사인 유사도의 계산에 대한 자세한 내용은 "Chapter 4. 유사도 계산"을 참고해 주세요.

다음 표는 아이템 평균 중심으로 정규화된 평점 데이터를 사용자는 행, 아이템은 열로 나타낸 것입니다.

아이템 평균 중심화 평점 데이터

사용자/아이템 $i_1$ $i_2$ $i_3$ $i_4$ $i_5$ $i_6$ $i_7$ $i_8$ $i_9$ $i_{10}$
$u_1$ -1.6666667 1.3 -1.375 0.5 -0.3333333 0.6666667 0.75
$u_2$ 0.8333333 -1.7 1.125 0 0 0.1666667 -0.75
$u_3$ -0.2 -1.375 1.5 0 -1.5 -0.8333333
$u_4$ 0.8333333 1.3 -1.5 1 0 0.1666667
$u_5$ -0.7 1.625 0 0.1666667

다음 표는 아이템 평균 중심으로 정규화된 평점 데이터로 계산된 아이템 코사인 유사도 데이터를 아이템(LHS)는 행, 아이템(RHS)는 열로 나타낸 것입니다.

아이템 코사인 유사도 데이터

아이템(RHS) 아이템(LHS) $i_1$ $i_2$ $i_3$ $i_4$ $i_5$ $i_6$ $i_7$ $i_8$ $i_9$ $i_{10}$
$i_1$ 1 -0.489116 0.975441 -0.7071068 0 0 1 0 -0.7592566 -0.9486833
$i_2$ -0.489116 1 -0.7279472 -0.4934638 NaN 0.6082192 -0.9065472 0 0.6257827 0.9912279
$i_3$ 0.975441 -0.7279472 1 -0.7739573 NaN 0.343164 0.9325886 NaN 0.1104315 -0.9950372
$i_4$ -0.7071068 -0.4934638 -0.7739573 1 NaN -0.9805807 0 0 -0.8320503 0
$i_5$ 0 NaN NaN NaN 1 0 0 NaN 0 0
$i_6$ 0 0.6082192 0.343164 -0.9805807 0 1 -0.8944272 0 0.8660254 0
$i_7$ 1 -0.9065472 0.9325886 0 0 -0.8944272 1 NaN 0 -0.9486833
$i_8$ 0 0 NaN 0 NaN 0 NaN 1 0 NaN
$i_9$ -0.7592566 0.6257827 0.1104315 -0.8320503 0 0.8660254 0 0 1 0
$i_{10}$ -0.9486833 0.9912279 -0.9950372 0 0 0 -0.9486833 NaN 0 1

여기에서 사용자 $u_4$가 평가하지 않은 아이템 {$i_3$, $i_5$, $i_7$, $i_{10}$}의 이웃 아이템은 사용자 $u_4$가 평가한 아이템 {$i_1$, $i_2$, $i_4$, 6, $i_8$, $i_9$}입니다.

다음 표는 사용자 $u_4$가 평가하지 않은 아이템(LHS)는 행, 사용자 $u_4$가 평가한 이웃 아이템(RHS)는 열로 나타낸 것입니다.

사용자 $u_4$가 평가하지 않은 이웃 아이템과 사용자가 평가한 아이템 간의 유사도 데이터

아이템(RHS) 아이템(LHS) $i_1$ $i_2$ $i_4$ $i_6$ $i_8$ $i_9$
$i_3$ 0.975441 -0.7279472 -0.7739573 0.343164 NaN 0.1104315
$i_5$ 0 NaN NaN 0 NaN 0
$i_7$ 1 -0.9065472 0 -0.8944272 NaN 0
$i_{10}$ -0.9486833 0.9912279 0 0 NaN 0

다음으로 사용자 $u_4$가 평가한 아이템 {$i_1$, $i_2$, $i_4$, $i_6$, $i_8$, $i_9$}에 대한 사용자의 평점을 살펴봅니다.

다음 표는 사용자 $u_4$가 평가한 아이템 {$i_1$, $i_2$, $i_4$, $i_6$, $i_8$, $i_9$}을 사용자는 행, 아이템은 열로 나타낸 것입니다.

사용자 $u_4$가 평가한 아이템의 평점 데이터

아이템(RHS) 사용자 $i_1$ $i_2$ $i_4$ $i_6$ $i_8$ $i_9$
$u_4$ 3 5 0.5 3.5 3.5 4.5

여기에서는 아이템 평균 중심으로 정규화된 평점 데이터를 사용한 유사도 계산 결과와는 달리 아이템 평균 중심으로 정규화된 평점을 직접 계산해 보기 위하여 아이템의 평균 평점을 살펴봅니다.

다음 표는 평점 데이터의 아이템 평점 평균을 나타낸 것입니다.

평점 데이터의 아이템 평점 평균

아이템 $i_1$ $i_2$ $i_3$ $i_4$ $i_5$ $i_6$ $i_7$ $i_8$ $i_9$ $i_{10}$
평점 평균 2.1666666 3.7 2.375 2 4 2.5 3.8333333 3.5 4.3333333 1.75

앞서 살펴본 바와 같이, 사용자가 평가하지 않은 아이템 $i_3$과 사용자 $u_4$가 평가한 이웃 아이템 {$i_1$, $i_2$, $i_4$, $i_6$, $i_8$, $i_9$}의 유사도는 {0.975441, -0.7279472, -0.7739573, 0.343164, NaN, 0.1104315}, 사용자 $u_4$가 평가한 이웃 아이템 {$i_1$, $i_2$, $i_4$, $i_6$, $i_8$, $i_9$}의 평점은 {3.5, 5, 0.5, 3.5, 4.5}, 평점 평균은 {2.1666666, 3.7, 2, 2.5, 8.5, 4.3333333}입니다.

다음 표는 사용자 $u_4$가 평가하지 않은 아이템 $i_3$에 대한 이웃 아이템의 유사도와 평점을 유사도가 높은 순으로 나타낸 것입니다.

아이템 $i_3$에 대한 이웃 아이템 데이터

사용자 아이템(LHS) 평점 평균 아이템(RHS) 유사도 평점 평점 평균 평균중심화 평점 유사도와 평균중심화 평점의 곱 k-근접 이웃
$u_4$ $i_3$ 2.375 $i_1$ 0.975441 3 2.1666666 0.8333333 0.8128675 {$i_1$, $i_6$, $i_9$}
$i_6$ 0.343164 3.5 2.5 1 0.343164
$i_9$ 0.1104315 4.5 4.3333333 0.1666666 0.0184052
$i_4$ -0.7279472 0.5 2
$i_2$ -0.7739573 5 3.7
$i_8$ NaN 3.5 3.5

사용자 $u_4$가 평가하지 않은 아이템 $i_3$에 대한 $k$-근접 이웃($k = 3$)은 유사도가 NaN인 아이템 8을 제외한 유사도가 높은 순으로 아이템 {$i_1$, $i_6$, $i_9$}이 됩니다. 아이템 {$i_1$, $i_6$, $i_9$}의 유사도는 {0.975441, 0.343164, 0.1104315}, 평점과 평점 평균은 {3, 3.5, 4.5}와 {2.1666666, 2.5, 4.3333333}입니다

사용자 $u_4$가 평가하지 않은 아이템 $i_3$의 예측 평점은 아이템 평점 평균인 $2.375$에 $k$-근접 이웃의 유사도와 평균 중심화된 평점을 곱한 값의 합인 $1.1744367$을 각 사용자 유사도 절대값의 합인 $1.4290365$으로 나눈 값을 더한 $3.1968$가 됩니다.

$$ \begin{flalign} {\hat r_{4,3}} & = 2.375 + \frac{{( {0.975441 \times (3 - 2.1666666)} ) + ( {0.343164 \times (3.5 - 2.5)} ) + ( {0.1104315 \times (4.5 - 4.3333333)} )}}{{\left| {0.975441} \right| + \left| {0.343164} \right| + \left| {0.1104315} \right|}} \\ & \approx 3.1968 \end{flalign} $$

다음 표는 직접 계산한 결괏값을 나타낸 것입니다.

계산 결과

사용자 아이템 아이템 평점 평균 합계(유사도와 평균중심화 평점의 곱) 합계(유사도 절대값) 예측 평점
$u_4$ $i_3$ 2.375 1.1744367 1.4290365 3.1968

같은 방법으로 사용자 $u_4$가 평가하지 않은 아이템에 대한 예측 평점을 모두 계산해 봅니다. 다음 표는 사용자 $u_4$가 평가하지 않은 아이템 {$i_5$, $i_7$, $i_{10}$}에 대한 이웃 아이템 데이터를 아이템(LHS)은 행, 아이템(RHS)은 열로 나타낸 것입니다.

사용자 $u_4$의 평가하지 않은 나머지 아이템에 대한 이웃 아이템 데이터

사용자 아이템(LHS) 평점 평균 아이템(RHS) 유사도 평점 평점 평균 평균중심화 평점 유사도와 평균중심화 평점의 곱 k-근접 이웃 예측 평점
$u_4$ $i_5$ 4 $i_1$ 0 3 2.166666667 - NaN
$i_6$ 0 3.5 2.5
$i_9$ 0 4.5 4.333333333
$i_2$ NaN 5 3.7
$i_4$ NaN 0.5 2
$i_8$ NaN 3.5 3.5
$i_7$ 3.8333333 $i_1$ 1 3 2.166666667 0 0 {$i_1$} NaN
$i_4$ 0 0.5 2
$i_9$ 0 4.5 4.333333333
$i_6$ -0.8944272 3.5 2.5
$i_2$ -0.9065472 5 3.7
$i_8$ NaN 3.5 3.5
$i_{10}$ 1.75 $i_2$ 0.9912279 5 3.7 1.3 1.28859627 {$i_2$} NaN
$i_4$ 0 0.5 2
$i_6$ 0 3.5 2.5
$i_9$ 0 4.5 4.333333333
$i_1$ -0.9486833 3 2.166666667
$i_8$ NaN 3.5 3.5

사용자 $u_4$가 평가하지 않은 아이템 {$i_3$, $i_5$, $i_7$, $i_{10}$}에 대한 예측 평점은 {NaN, NaN, NaN, 3.1968381}입니다. 예를 들어, 사용자 $u_4$에게 예측 평점이 NaN인 아이템 {$i_5$, $i_7$, $i_{10}$}을 제외한 예측 평점이 높은 순으로 $N$개($N = 3$)의 아이템을 추천하면 추천된 아이템은 $i_3$이 됩니다.

다음 표는 사용자 $u_4$가 평가하지 않은 아이템을 예측 평점이 높은 순으로 나타낸 것입니다.

사용자 $u_4$가 평가하지 않은 아이템의 예측평점

아이템 평점 평균 합계(유사도와 평균중심화 평점의 곱) 합계(유사도 절대값) k-근접 이웃 예측 평점
$i_3$ 2.375 1.1744367 1.4290365 (1, 6, 9) 3.1968381
$i_5$ 4 NaN NaN - NaN
$i_7$ 3.8333333 0 1 (1) NaN
1i0 1.75 1.2885962 0.9912279 (2) NaN
한글:3911 영어:4263 숫자:3594

추천 시스템: 워크북

Comments

Do you have a problem, want to share feedback, or discuss further ideas? Feel free to leave a comment here! Please follow Rust's code of conduct. This comment thread directly maps to a discussion on GitHub, so you can also comment there if you prefer.

Instead of authenticating the giscus application, you can also comment directly on GitHub.