n차원 벡터의 내적
본문뉴스 사이트는 기사 아래에 비슷한 기사를 추천한다. 기사마다 "선거", "후보", "투표", "경기"라는 네 단어가 몇 번 나오는지 세어 보니, 기사 A는 \((3, 0, 2, 1)\), 기사 B는 \((1, 1, 2, 0)\), 기사 C는 \((0, 4, 0, 1)\)이었다. 기사 A와 더 비슷한 것은 B일까, C일까? 단어 수를 4차원 벡터로 보면 두 벡터가 얼마나 같은 방향을 향하는지를 각으로 잴 수 있다고 한다. 4차원에서 각이란 무엇일까?
1.6.1성분끼리 곱해 더하다
평면과 공간의 내적은 성분끼리 곱해 더한 값이었고, 그 값은 두 벡터의 크기와 사잇각의 코사인의 곱과 같았다. \(n\)차원 벡터에서도 내적을 성분끼리 곱해 더한 \(\vec a\cdot\vec b = a_1b_1 + \cdots + a_nb_n\)으로 정한다. 벡터의 크기는 자기 자신과의 내적의 제곱근 \(|\vec a| = \sqrt{\vec a\cdot\vec a}\)로 정한다. 그러면 4차원 이상에서는 각을 그림으로 잴 수 없어도, 내적과 크기로 각을 거꾸로 정의할 수 있다.
\(\mathbb{R}^n\)의 벡터 \(\vec a\), \(\vec b\)에 대해 \[|\vec a\cdot\vec b| \le |\vec a||\vec b|\]이고, 등호는 한 벡터가 다른 벡터의 실수배일 때 성립한다. 그래서 영벡터가 아닌 두 벡터의 사잇각 \(\theta\)를 \(\cos\theta = \dfrac{\vec a\cdot\vec b}{|\vec a||\vec b|}\)로 정할 수 있다.
각을 코사인으로 정하려면 그 값이 \(-1\)과 1 사이에 있어야 하는데, 코시–슈바르츠 부등식이 이를 보장한다. 증명은 \(|\vec a - t\vec b|^2 \ge 0\)을 \(t\)의 이차식으로 전개해, 이 이차식이 늘 0 이상이므로 판별식이 0 이하라는 데서 나온다. 그래서 어떤 차원에서든 내적이 0이면 두 벡터가 수직이라 하고, 코사인이 1에 가까우면 거의 같은 방향이라 한다.1
1.6.2길이가 아니라 방향을 비교하다
긴 기사는 모든 단어가 많이 나와 단어 수 벡터가 길다. 내적만으로 비교하면 길이가 긴 기사가 늘 비슷하다고 나오므로, 내적을 두 크기의 곱으로 나눈 코사인으로 비교한다. 그러면 기사의 길이와 상관없이 단어의 비율, 곧 벡터의 방향만 비교하게 된다. 같은 기사를 두 번 이어 붙여 모든 단어 수가 두 배인 벡터는 원래 기사와 코사인이 1로, 완전히 같은 방향이다. 단어 수는 음수가 아니므로 코사인은 0에서 1 사이에 있다.
같은 생각으로 통계의 상관계수도 읽을 수 있다. 학생 네 명의 수학 점수가 \((1, 2, 3, 4)\), 영어 점수가 \((2, 1, 4, 3)\)이라 하자(단위는 10점). 각 점수에서 평균 2.5를 빼면 \(\vec x = (-1.5, -0.5, 0.5, 1.5)\), \(\vec y = (-0.5, -1.5, 1.5, 0.5)\)가 되는데, 이 두 4차원 벡터의 코사인 \(\dfrac{\vec x \cdot \vec y}{|\vec x||\vec y|} = \dfrac{3}{\sqrt5\sqrt5} = 0.6\)이 바로 두 과목 점수의 상관계수이다. 평균을 빼는 까닭은 점수가 모두 높거나 낮은 것과 상관없이, 평균보다 높은지 낮은지가 함께 움직이는지만 보려는 것이다. 그래서 상관계수가 언제나 \(-1\)과 1 사이에 있는 것도 코시–슈바르츠 부등식 덕분이고, 상관계수 0은 평균을 뺀 두 자료 벡터가 서로 수직이라는 뜻이다.
1.6.3예제 풀이
처음 질문의 기사 A와 B, A와 C의 코사인 유사도와 사잇각을 구하여라. 기사 D는 \((6, 0, 4, 2)\)이다. A와 D의 코사인은 얼마이며, 코시–슈바르츠 부등식의 등호가 성립하는가?
\(|\vec A| = \sqrt{9 + 0 + 4 + 1} = \sqrt{14}\), \(|\vec B| = \sqrt{6}\), \(|\vec C| = \sqrt{17}\)이다. \(\cos\theta_{AB} = \dfrac{7}{\sqrt{14}\sqrt6} \approx 0.764\)이므로 약 40°이고, \(\cos\theta_{AC} = \dfrac{1}{\sqrt{14}\sqrt{17}} \approx 0.065\)이므로 약 86°이다. 그래서 A와 비슷한 기사는 B이다. 실제로 A와 B는 선거와 투표를 다루고, C는 경기를 다룬다.
\(\vec D = 2\vec A\)이므로 \(\vec A\cdot\vec D = 2\times14 = 28\), \(|\vec A||\vec D| = \sqrt{14}\times2\sqrt{14} = 28\)이어서 코사인이 1이고 부등식의 등호가 성립한다. 기사 D는 A와 단어 비율이 똑같은, 길이만 두 배인 기사이다. 즉 \(n\)차원 벡터의 내적은 성분끼리 곱해 더해 정하고, 코시–슈바르츠 부등식 덕분에 그림으로 그릴 수 없는 차원에서도 사잇각을 정의할 수 있으며, 코사인은 크기와 상관없이 방향이 비슷한 정도를 잰다.
아래 탐구 카드에서 여러 기사의 단어 수 벡터로 코사인 유사도를 계산해 비슷한 기사를 골라 보고, 코시–슈바르츠 부등식이 언제 등호가 되는지 확인해 보자.
- 이 부등식은 1821년 프랑스의 코시가 합의 꼴로, 1888년 독일의 슈바르츠가 적분의 꼴로 증명했다. 그사이 1859년 러시아의 부냐콥스키도 적분의 꼴을 발표해 세 사람의 이름을 함께 붙이기도 한다.
\(n\)차원 벡터의 내적은 성분끼리 곱해 더한 값이고, 크기는 자기 자신과의 내적의 제곱근이며, 코시–슈바르츠 부등식 \(|\vec a\cdot\vec b| \le |\vec a||\vec b|\) 덕분에 \(\cos\theta = \vec a\cdot\vec b/(|\vec a||\vec b|)\)로 사잇각을 정의한다. 코사인은 벡터의 길이와 상관없이 방향이 비슷한 정도를 재므로 자료의 비슷함을 비교하는 데 쓴다. 처음 질문에서 기사 A와의 코사인은 B가 약 0.76, C가 약 0.07이어서 B가 더 비슷하다.