Q: u1가 i2나 i3와 상호작용이 있는 경우는 없는지?
In-batch negative sampling에서 ( u1 )가 ( i2 )나 ( i3 )와 상호작용이 있는 경우는 포지티브 샘플로 간주되지 않습니다.
In-batch negative sampling은 미니배치 내에서 네거티브 샘플을 추출하는 방법이기 때문에, 미니배치에 포함된 (유저, 아이템) 쌍만을 고려합니다. 따라서 ( u1 )가 ( i2 )나 ( i3 )와 상호작용이 있는 경우는 해당 미니배치에서는 고려되지 않습니다.
만약 ( u1 )가 ( i2 )나 ( i3 )와 상호작용이 있는 경우, 이는 전체 데이터셋에서는 포지티브 샘플로 간주됩니다. 하지만 특정 미니배치에서는 다음과 같이 처리됩니다:
미니배치 구성:
포지티브 샘플:
네거티브 샘플:
전체 데이터셋에서 ( u1 )가 ( i2 )와 상호작용이 있는 경우를 가정해보겠습니다.
i1 | i2 | i3 | |
---|---|---|---|
u1 | 1 | 1 | 0 |
u2 | 0 | 1 | 0 |
u3 | 0 | 0 | 1 |
미니배치에 ( (u1, i1) ), ( (u2, i2) ), ( (u3, i3) )가 포함되었다고 가정합니다.
미니배치 내에서 포지티브 샘플은 대각선 요소가 1인 행렬로 표현됩니다.
i1 | i2 | i3 | |
---|---|---|---|
u1 | 1 | 0 | 0 |
u2 | 0 | 1 | 0 |
u3 | 0 | 0 | 1 |
네거티브 샘플은 포지티브 샘플을 제외한 나머지 아이템으로 구성됩니다.
i1 | i2 | i3 | |
---|---|---|---|
u1 | 0 | 1 | 1 |
u2 | 1 | 0 | 1 |
u3 | 1 | 1 | 0 |
In-batch negative sampling에서 ( u1 )가 ( i2 )나 ( i3 )와 상호작용이 있는 경우는 미니배치 내에서 포지티브 샘플로 간주되지 않습니다. 이는 미니배치 내에서만 네거티브 샘플을 추출하기 때문입니다. 이러한 문제를 해결하기 위해 Sampling-Bias-Corrected 방법을 사용하여 편향을 보정할 수 있습니다.