torch.norm(tensor, p=1)
torch.norm(tensor, p=2)
torch.norm(tensor, p=float('inf'))
# 두 1-D Tensor a, b 사이의 맨해튼 거리와 유사도
manhattan_distance = torch.norm(a-b, p=1)
manhattan_similarity = 1/(1+manhattan_distance)
# 두 1-D Tensor a, b 사이의 유클리드 거리와 유사도
euclidean_distance = torch.norm(a-b, p=2)
euclidean_similarity = 1/(1+euclidean_distance)
# 두 1-D Tensor a, b 사이의 코사인 유사도
cos_similarity = torch.dot(a, b) / (torch.norm(a, p=2) * torch.norm(b, p=2))
torch.dot()
)을 활용해 각도 측정1. 유사도 = 두 1-D Tensor(=벡터)가 얼마나 유사한지에 대한 측정값
2. 맨하튼/유클리드 유사도 = 두 벡터의 맨해튼/유클리드 거리를 역수로 변환해 계산; 1에 가까울수록 유사
3. 코사인 유사도 = 두 벡터 사이의 각도를 내적을 활용해 측정하여 계산; 1에 가까울수록 유사
L1(맨해튼 노름), L2(유클리드 노름) 노름의 비교
노름의 기하학적 의미