2021년 11월 24일 수요일

단체의 성질(Simplex)

[경고] 아래 글을 읽지 않고 "단체의 성질"을 보면 바보로 느껴질 수 있습니다.


[그림 1] 다양한 차원에 형성한 단체(출처: wikipedia.org)

3차원 (球, sphere)를 일반화한 초구(超球, hypersphere)는 그리거나 시각적으로 상상할 수 없기 때문에 수학적 논리와 유추로 탐구한다. 초구와 비슷한 방식으로 삼각형 혹은 사면체(四面體, tetrahedron)를 임의 차원으로 확장한 다면체는 단체(單體, simplex)라고 부른다. 예를 들어, $n$차원 단체(n-simplex)는 $n$차원에 만든 사면체의 일반화이다. 여러 차원에서 정의한 단체의 모습은 [그림 1]에 그려져 있다. 이름이 풍기는 의미처럼 단체는 간단함에서 나온 말이지만[단체보다는 간단체가 더 직관적인 번역], 단체를 다루기는 결코 쉽지 않다.

   
[그림 2] 직각 삼각형과 삼직각 사면체(출처: wikipedia.org)

우리가 $n$차원 단체를 상상할 때는 [그림 2]와 같은 직각 삼각형(right triangle)이나 삼직각 사면체(trirectangular tetrahedron)가 출발점이다. [그림 2]를 잘 관찰하면, 도형 그리기의 출발 위치는 다른 선과 직각이 형성되는 점인 단체의 기준점이 된다. 단체의 기준점에서 각 좌표축으로 그린 선분은 항상 서로 다른 선분에 수직이 된다. 이 개념은 다차원으로 쉽게 확장된다. 다차원 공간에서 기준점을 $\bar s$ = $(s_1, s_2, \cdots, s_n)$로 놓는다. 단체의 기준점 $\bar s$에서 출발하여 서로 수직이 되는 선분을 변으로 가진 다면체가 바로 $n$차원 단체이다. 보통은 간단하게 변 길이를 $|\bar x_i - \bar s|$ = $a$로 둔다. 여기서 $\bar x_i$는 단체를 구성하는 $i$번째 꼭지점, $\bar s$는 단체의 꼭지점이면서 기준점, $i$ = $1, 2, \cdots, n$이다. 기준점에서 다른 꼭지점까지 각도는 항상 직각이므로, $n$차원에 정의한 단체의 부피 $V_n$은 정적분으로 쉽게 표현된다.

                  (1)

여기서 $a$는 기준점에서 다른 꼭지점까지 길이이다. 예를 들어, 1차원 단체는 부피[혹은 길이] $a$ = $|\bar x_1 - \bar s|$를 가진다. 2차원 단체의 부피[혹은 면적]는 $\bar x_1, \bar x_2, \bar s$가 만드는 직각 삼각형의 면적이다. 즉, $\bar x_1 - \bar s$인 벡터에 수직인 방향[$\bar x_2 - \bar s$에 평행인 방향]으로 쌓아올린 면적이 단체의 부피 $V_2$이다. 마찬가지로 2차원 단체가 만드는 평면에 수직인 $\bar x_3$를 새로 정의해서 $\bar x_3 - \bar s$인 방향으로 만든 면적의 합을 $V_3$으로 정의한다. 또한 식 (1)에 등장한 계승(factorial) $n!$은 $n$차원에서 직육면체가 아닌 사면체 기준의 일반화를 뜻한다. 왜냐하면 직육면체의 일반화한 부피는 $a^n$이기 때문에 $n!$은 단체의 공간적 특성을 나타낸다. 꼭지점별로 변의 길이가 바뀔 때는 1차 함수 $y$ = $ax + b$에 따라 기준점에 대한 각 방향의 높이 변화를 $y$ = $m_i x$로 정한다. 그러면 식 (1)은 서로 다른 높이를 가진 단체의 부피로 변형된다.

                  (2)

여기서 $h_i$는 기준점 $\bar s$에 대한 꼭지점 $\bar x_i$의 높이인 $m_i a$이다.
[그림 3] 정사면체의 회전 모습(출처: wikipedia.org)

정삼각형(regular triangle)이나 정사면체(regular tetrahedron)를 일반화한 정칙 단체(regular simplex)도 존재한다. 정삼각형처럼 정칙 단체는 $n$차원에서 모든 꼭지점 사이의 거리가 일정하다. 또한 정칙 단체를 구성하는 꼭지점은 $n+1$개이다. 꼭지점중에서 $n$개를 뽑아 $\mathbb{R}^n$에서 초평면 $H$(hyperplane)을 만들 수 있다. 꼭지점 집합 $X$ = $\{\bar x_1, \bar x_2, \cdots, \bar x_n \}$으로 만드는 초평면 $H$는 $\mathbb{R}^{n-1}$ 공간을 만든다. 여기서 정칙 단체의 성질에 따라 $|\bar x_i - \bar x_j|$ = $1$로 설정한다. 초평면에 수직인 벡터를 만들기 위해 중심점 $\bar c$를 먼저 정의한다. 정사면체의 높이도 아래면 삼각형의 중심에 수직인 방향으로 만들어지므로, 정칙 단체의 높이 방향도 초평면의 중심에 수직하다고 가정한다[1].

                  (3)

중심점 $\bar c$에서 각 꼭지점 $\bar x_i$까지 가는 벡터를 $\bar a_i$ = $\bar x_i - \bar c$로 두면, 다음 벡터 관계식이 성립한다.

                  (4)

식 (4)의 셋째식을 제곱하고 각 식을 $j$에 대해 더해서 $|\bar a_i|^2$을 새롭게 정한다[1].

                  (5)

식 (5)에서 유도한 최종식의 우변은 $i$에 관계가 없기 때문에 $|\bar a_i|^2$은 $i$에 대해 상수이다. 따라서 $|\bar a_i|$는 다음과 같이 간략화된다.

                  (6)

마지막으로 초평면에 수직인 점 $\bar a_{n+1}$ = $\lambda \hat n$을 구한다. 여기서 $\lambda > 0$, $\hat n$은 초평면에 수직인 단위 벡터 혹은 평면의 법선 벡터이다. 정칙 단체의 정의에 의해 $|\bar a_{n+1} - \bar a_i|$ = $1$, $\bar a_{n+1} \cdot \bar a_i$ = $0$이 성립한다. 여기서 $i$ = $1, 2, \cdots, n$이다. 따라서 $\bar a_{n+1}$의 크기 $\lambda$가 다음과 같이 구해진다.

                  (7)

식 (7)에 의해 정칙 단체 구성에 필요한 마지막 점인 $\bar x_{n+1}$이 간단하게 유도된다.

                  (8)

식 (6)은 $n$차원 정칙 단체의 높이 $h_n$에 해당하므로, $n$차원 정칙 단체의 부피 $V_n$은 $V_{n-1}$과 $h_n$의 곱에 비례하고 식 (2)에 의해 $n$으로 나누어진다.

                  (9)

여기서 $n!$은 식 (1)과 (2)처럼 다차원 사면체의 성질을 나타낸다. 만약 변의 길이가 $a$라면, 식 (9)는 다음과 같이 변형된다.

                  (10)

식 (10)은 정삼각형의 면적과 정사면체의 부피가 서로 연관되는 특성을 보여준다. 또한 정사면체 부피의 성질을 확장해서 우리가 상상하기 어려운 다차원 정칙 단체의 부피까지도 식 (10)은 잘 보여주고 있다.

[참고문헌]
[1] F. Lazebnik, "On a regular simplex in $\mathbb{R}^n$," University of Delaware, USA, 2001. (방문일 2021-11-05)

[다음 읽을거리]

2021년 11월 23일 화요일

초구의 성질(Hypersphere)

[경고] 아래 글을 읽지 않고 "초구의 성질"을 보면 바보로 느껴질 수 있습니다.


[그림 1] 다차원에서 정의된 초구의 시각적 표현(출처: wikipedia.org)

초구(超球, hypersphere)는 4차원 이상에서 정의되는 구의 일반화된 대상체를 의미한다. 초구의 중심이 원점에 있는 경우, $n$차원에서 초구의 방정식은 다음과 같다.

                  (1)

여기서 $\bar r$ = $(x_1, x_2, \cdots, x_n)$, $r$은 초구의 반지름이다. 식 (1)을 변형해서 중심이 원점에서 $\bar c$ = $(c_1, c_2, \cdots, c_n)$으로 이동된 초구의 방정식도 얻는다.

                  (2)

일반화된 구를 표현하는 말로 초구 대신 $n$차원 구(n-sphere)를 쓸 수도 있다. 예를 들어, 0차원 구는 점, 1차원 구는 지름, 2차원 구는 (circle), 3차원 구가 흔히 말하는 구, 4차원 이상의 구는 초구이다.
구 좌표계에 나오는 방위각(azimuth) $\phi$와 극고도각(polar angle) $\theta$의 관계에서 유추하여 $n$차원 구 좌표계의 각도 $\varphi_n$을 한 단계 낮은 $n-1$차원의 구 반지름 $r_{n-1}$과 각도 $\varphi_{n-1}$로 표현할 수 있다. 차원을 낮추는 재귀 과정은 다음과 같이 계속 반복된다.

                  (3)

여기서 $x_i$는 $n$차원에서 $i$번째 좌표 성분, $r_i$는 $i$차원의 구 반지름, $0 \le \varphi_i \le \pi$, $(x, y, z)$ = $(x_1, x_2, x_3)$, $\varphi_1$ = $0$ 혹은 $\pi$, $\phi$ = $\pi/2 - \varphi_2$, $\theta$ = $\varphi_3$이다. 1차원 각도 $\varphi_1$이 전체 각도 범위에서 변하지 못하고 $0$ 혹은 $\pi$만 가능한 이유는 1차원인 경우 $x_1$ = $\pm r$이기 때문이다. 또한 식 (3)에 따라 반지름 $r_i$를 곱 기호로 나타낸다.

                  (4)

여기서 $r_n$ = $r$, $r_i^2 + x_{i+1}^2$ = $r_{i+1}^2$이 성립한다. 원의 반지름과 호의 길이에 대한 관계 $l$ = $r \theta$를 일반화해서 $n$차원 구의 표면적 $S_n$을 정의한다.

                  (5)

여기서 $B(x, y)$는 베타 함수(beta function), 삼각 함수 거듭제곱의 적분도 이용한다. 추가적으로 $S_n$을 양파 껍질 적분(onion skin integration)해서 $n$차원 구의 부피 $V_n$도 유도한다.

                  (6)

차원 $n$이 $2$ 혹은 $3$이면, $S_n$과 $V_n$은 각각 통상적인 원과 구의 표면적[원이면 둘레 길이]과 부피[원이면 당연히 면적]가 된다. 식 (5)와 (6)은 하나의 공식이므로, 차원을 더 낮추어 1차원과 0차원이 되게 할 수도 있다. 식 (1)에 의해 $x_1$ = $\pm r$이며 1차원이 변하는 범위는 선이다. 따라서 1차원의 부피 $V_1$은 $x_1$이 변하는 최대 길이인 지름 $2r$이 된다. 부피 $V_1$을 양파 껍질처럼 벗긴[혹은 기울기 역할을 하는] 표면적 $S_1$은 숫자 $2$이다. 또한 식 (3)에 따라 0차원은 반지름 $r_0$ = $0$, $x_0$ = $0$이다. 그래서 0차원 부피는 점이 되므로, 반지름과 상관없이 $V_0$ = $1$이 타당하다. 0차원의 표면적은 당연히 존재하지 않아서 자연스럽게 $S_0$ = $0$이다.

[다음 읽을거리]

2021년 11월 20일 토요일

평면의 방정식(Equation of Plane)

[경고] 아래 글을 읽지 않고 "평면의 방정식"을 보면 바보로 느껴질 수 있습니다.


평평한 면을 나타내는 평면(平面, plane)은 기본 개념이 아주 쉽지만 수학 공식으로 평면을 표현하려면 어려움이 크다. 3차원 공간의 평면을 공식화하는 방법은 많이 있지만, 고급 개념인 벡터(vector)를 쓰면 평면의 방정식이 바로 얻어진다.

[그림 1] 3차원 공간 상의 평면 모습(출처: wikipedia.org)

벡터 개념으로 평면의 방정식을 유도하기 위해 [그림 1]과 같은 그림을 상상한다. 평면 상에 존재하는 임의의 점을 $\bar r$ = $(x, y, z)$, 우리가 위치를 알고 있는 평면 상의 고정된 점은 $\bar r_0$ = $(x_0, y_0, z_0)$이라 쓴다. 그러면 $\bar r$과 $\bar r_0$이 만드는 벡터는 평면에 항상 수직인 법선 벡터(normal vector) $\bar n$과의 벡터 내적(inner product)이 항상 0이다.

                  (1)

여기서 $\bar n$ = $(a, b, c)$이다. 결과적으로 식 (1)은 법선 벡터 $\bar n$을 가진 평면을 위한 대수 방정식이 된다.
식 (1)에 제시한 평면의 방정식을 이용해 3차원 곡면의 접평면(接平面, tangent plane)도 정의할 수 있다[1]. 구배(gradient) 연산자를 쓰면, 임의의 곡면 $f(x, y, z)$ = $0$에 대한 접평면의 방정식을 쉽게 유도할 수 있다.

[그림 2] 구에 접하는 평면 혹은 접평면(출처: wikipedia.org)

[접평면의 방정식]
곡면 $f(x, y, z)$ = $0$ 위의 점 $\bar r_0$ = $(x_0, y_0, z_0)$에 접하는 평면의 방정식은 다음과 같다.

                  (2)

[증명]
구배는 스칼라 함수가 최대로 변하는 방향이므로, $\bar \nabla f$는 자동적으로 곡면의 법선 벡터와 평행하게 된다. 따라서 $\bar n$ = $\bar \nabla f$를 식 (1)에 대입해서 정리하면 식 (2)가 바로 얻어진다.
______________________________

만약 곡면을 $z$ = $f(x, y)$로 표현하면, $F(x, y, z)$ = $f(x, y) - z$ = $0$으로 생각해서 식 (2)에 대입한다. 그러면 $z$ = $f(x, y)$의 접평면의 방정식도 얻을 수 있다.

             (3)

여기서 $z_0$ = $f(x_0, y_0)$이다.

[그림 3] 점과 평면 사이의 거리

점과 직선 사이의 거리처럼 점과 평면 사이의 거리를 유도할 때도 벡터 개념이 매우 유리하다.

[점과 평면 사이의 거리(distance from a point to a plane)]
점 $\bar r_0$ = $(x_0, y_0, z_0)$과 평면 $ax+by+cz+d$ = $0$ 사이의 거리 $D$는 다음과 같다.

                              (4)

여기서 점과 평면 사이의 거리는 최단 거리 혹은 수직인 거리로 정한다.

[증명]
[그림 3]에 있는 평면의 방정식 일반형 $ax+by+cz+d$ = $0$을 바꾸어서 식 (1)과 같은 평면의 방정식 표준형 $a(x-x_1)+b(y-y_1)+c(z-z_1)$ = $0$을 만든다. 여기서 법선 벡터는 $\bar n$ = $(a, b, c)$, $\bar r_1$ = $(x_1, y_1, z_1)$은 평면 위의 점이다. 점과 직선 사이의 거리처럼 벡터 $\bar n$과 $\bar u$ = $\bar r_0 - \bar r_1$ = $(x_0, y_0, z_0) - (x_1, y_1, z_1)$ 사이의 내적을 계산해서 식 (4)를 증명한다.

                              (5)
______________________________

[그림 4] 헤세 표준형을 위한 기하 구조(출처: wikipedia.org)

원점에서 시작하는 법선 벡터 $\bar n$을 가진 [그림 4]는 식 (1)을 바라보는 새 관점을 알려준다. 원점과 평면 사이의 거리를 $D$로 두면, $\bar n$ = $D \hat n$으로 표현 가능하다. 또한 $\bar r_0$는 평면 위의 점이므로 $\bar n$ = $\bar r_0$이 되게 한다. 그러면 식 (1)에 기술한 평면의 방정식은 점과 평면 사이의 거리를 결정하는 공식으로 바뀌게 된다.

                              (6)

여기서 $\bar r_0$ = $(a, b, c)$, $\hat n$ = $(a, b, c) \mathbin{/} \sqrt{a^2 + b^2 + c^2}$, $\bar r$ = $(x, y, z)$이다. 거리 정보를 담고 있는 식 (6)은 제안자 헤세Ludwig Otto Hesse(1811–1874)의 이름을 따서 헤세 표준형(Hesse normal form)이라 부른다. 헤세는 다차원 구배(gradient)를 계산하는 헤세 행렬(Hessian matrix)로도 유명하다. 식 (6)을 식 (4)와 같은 방식으로 바꿀 때는 원래 점 $(x_0, y_0, z_0)$를 평행 이동하여 원점으로 보낸다. 이때 평면의 방정식은 $a(x+x_0) + b(y+y_0) + c(z+z_0) + d$ = $0$으로 변형된다. 그러면 식 (6)을 따라 $\hat n \cdot \bar r$ = $(ax+by+cz) / \sqrt{a^2 + b^2 + c^2}$ = $- (ax_0+b y_0 + cz_0 + d) / \sqrt{a^2 + b^2 + c^2}$ = $D$가 손쉽게 얻어진다.
우리가 고려하는 평면은 3차원 공간에 있지만, 식 (1)과 (2)를 보면 3차원보다 큰 다차원 공간의 평면도 가능할 것 같다. 예를 들어, 식 (1)에 따라 $n$차원 공간에 존재하는 평면의 방정식은 다음처럼 쓸 수 있다.

                              (7)

여기서 $\bar n$ = $(a_1, a_2, \cdots, a_n)$, $\bar r$ = $(x_1, x_2, \cdots, x_n)$, $\bar r_0$ = $(b_1, b_2, \cdots, b_n)$이다. 평면을 일반화시킨 기하학적 대상체는 초평면(超平面, hyperplane)이라 부른다. 일반적으로 초평면은 현재 물체가 놓인 $n$차원보다 하나만큼 차원이 작은 $n-1$차원 공간을 뜻한다. 식 (7)에 의하면, 어떤 좌표 성분 하나는 다른 모든 좌표 성분으로 표현되어서 선형 종속(linear independence)이 된다. 따라서 식 (7)은 $n$차원보다 하나 작은 $n-1$차원을 나타내므로 초평면이 된다. 초평면 개념을 식 (4)에 적용할 수 있다. 벡터와 내적을 $n$차원으로 확장해서 $n$차원 공간의 점 $\bar y$ = $(y_1, y_2, \cdots, y_n)$과 초평면 사이의 거리를 다음과 같이 정의할 수 있다.

                              (8)

여기서 $\bar r_0$ = $(x_1, x_2, \cdots, x_n)$은 평면 위에 있다. 식 (8)을 섬세하게 음미하면, 현실에서 만나거나 상상할 수 없는 $n$차원 공간을 기하학적으로 자유롭게 다룰 수 있게 하는 수학적 추상화의 힘을 느낄 수 있다.

[그림 5] 평면에 대한 영상 $\bar r_0'$ = $(x_0', y_0', z_0')$

[평면에 대한 영상(image for a plane)]
점 $\bar r_0$ = $(x_0, y_0, z_0)$이 평면 $ax+by+cz+d$ = $0$에 대해 만드는 영상(image) $\bar r_0'$ = $(x_0', y_0', z_0')$의 공식은 다음과 같다.

                              (9)

여기서 영상 $\bar r_0'$은 평면 기준으로 $\bar r_0$과 같은 거리만큼 떨어지면서도 $\bar r_0$과 반대편에 있는 점, $\bar n$ = $(a, b, c)$, $\hat n$ = $\bar n \mathbin{/} |\bar n|$, $\bar r_1$ = $(x_1, y_1, z_1)$은 평면 위의 임의 점이다.

[증명: 벡터 연산]
[그림 5]에 따라 평면에서 점 $\bar r_0$에 가는 벡터는 $\bar r_0 - \bar r_1$이다. 이 벡터가 가진 성분 중에서 $\hat n$ 방향은 $\hat n \cdot (\bar r_0 - \bar r_1)$이다. 이 값을 $\bar r_0$에서 2배만큼 빼주면, 평면 기준으로 $\bar r_0$에서 반대 방향에 있으면서도 떨어진 거리는 같은 영상이 얻어진다.

[증명: 직선의 방정식]
점 $\bar r_0$과 영상 $\bar r_0'$의 중점은 평면상에 있어서 다음과 같은 방정식을 만족한다.

                  (10)

또한 $\bar r_0' - \bar r_0$은 평면에 수직하며 $\hat n$과 같은 방향이므로, 다음과 같은 직선의 방정식이 성립한다.

                  (11)

식 (10)과 (11)을 연립해서 비례 상수 $k$를 결정한다.

                  (12)

식 (12)를 식 (11)에 넣어서 확정한 영상은 $\bar r_0'$ = $\bar r_0 + k \bar n$으로 나온다. 여기서 $d$ = $-\bar n \cdot \bar r_1$이다.
______________________________

평면에 대한 영상은 빛의 반사를 직선으로 추적할 때에 유용하게 사용된다. 평면을 표현하는 단위 법선 벡터 $\hat n$은 식 (9)에서 제곱 특성을 가져서 $-\hat n$을 써도 문제없다.

[그림 6] 두 볼록 집합을 초평면으로 자른 모습(출처: wikipedia.org)

초평면 개념이 신비롭게 적용되는 예는 초평면 분리 정리(hyperplane separation theorem)이다[2]. [그림 6]에 소개한 모양을 가진 두 집합을 초평면으로 항상 분리할 수 있다는 놀라운 성질이 초평면 분리 정리에 있다. 이 정리를 증명하려면 $n$차원 좌표 $\mathbb{R}^n$에서 점들을 모아서 만드는 여러 집합을 상세히 분간해야 한다.

[그림 7] 개집합 혹은 열린 집합

[그림 7]은 전형적인 개집합 혹은 열린 집합(open set)의 모습을 보여준다. 점선(dotted line)으로 표시한 경계(boundary)는 개집합 $A$에 포함되지 않고, 파란색으로 표시한 내부의 점들은 $A$에 속한다. 눈으로 보면 개집합 개념이 명확하지만, 수학적으로 정의하려면 난감하다. 경계는 제외하고 내부는 들어있는 개집합은 어떻게 나타내야 하나? 이런 어려움은 [그림 7]에서 노란색으로 보인 근방(neighbor)을 정의해서 해결한다. $n$차원 좌표 $\mathbb{R}^n$의 부분 집합(subset) $A$에서 뽑은 임의의 원소를 $\bar x$ = $(x_1, x_2, \cdots, x_n)$으로 둔다. 임의점 $\bar x$를 중심으로 하는 초구(hypersphere)를 $\bar x$의 근방으로 정의한 후, 초구의 반지름 $r$을 $r < \epsilon$만큼 줄일 때에 이 영역이 집합 $A$에 속하면 $A$를 개집합이라 한다. 여기서 $\epsilon$은 적당히 작은 양수이다. 즉, 개집합의 정의에 점의 근방을 뜻하는 작은 초구를 잣대로 사용한다. 이 초구를 줄여서 원래 집합에 속하게 만들 수 있어야 개집합이 된다. 개집합을 도입하면 집합 내부에 자유롭게 근방을 만들 수 있다. 개집합의 경계만 모은 집합은 경계 집합(boundary set)이 된다. 경계 집합에 만든 초구는 아무리 반지름을 줄여도 부분적으로만 이 집합에 속한다. 개집합에 반대되는 폐집합 혹은 닫힌 집합(closed set)은 개집합의 여집합(complement)으로 정의한다. 예를 들어, [그림 7]에 나온 개집합 $A$의 여집합은 $A^C$이므로, $A^C$는 폐집합이다. 다른 관점으로 개집합과 그 경계 집합의 합집합(unio)은 폐집합을 구성한다. 왜냐하면 이 집합의 여집합은 새로운 개집합이기 때문이다. 개집합이나 폐집합의 원소 크기가 유한한 경우는 유계 집합(bounded set)으로 표현한다. 폐집합과 유계 집합이 동시에 성립하는 집합은 옹골찬 혹은 콤팩트 집합(compact set)으로 명한다. 옹골찬 집합이란 이름에도 풍기듯이, 이 집합은 자기 영역이 구멍없이 꽉 차있고 경계점이나 끝점까지 모두 이 집합에 속한다. 끝점도 옹골찬 집합에 속하는 성질로 인해, 무한대로 발산하는 집합은 끝이 계속 커져서 옹골찬 집합이 될 수 없다.
제한 조건이 많지만 수학적으로 편리한 옹골찬 집합으로 만든 서로소(disjoint)인 집합을 만든다. 이 집합의 원소를 각각 뽑아서 잰 거리는 최대값과 최소값의 존재한다는 유용한 성질을 증명한다.

[서로소인 두 옹골찬 집합의 원소간 거리]
서로소인 두 옹골찬 집합의 원소간 거리는 최대값과 최소값이 있으며, 이 값을 만드는 원소는 두 집합의 경계 집합에 각각 존재한다.

[증명]
옹골찬 집합 $A, B$에서 뽑은 원소를 각각 $\bar x$ = $(x_1, x_2, \cdots, x_n)$, $\bar y$ = $(y_1, y_2, \cdots, y_n)$으로 정한다. 이 두 원소간 거리는 $R$ = $|\bar y - \bar x|$ = $\sqrt{(y_1 - x_1)^2 + \cdots + (y_n - x_n)^2}$이다. 옹골찬 집합에 있는 원소는 좌표별로 최대값과 최소값이 있고, $|y_i - x_i|$도 최대값과 최소값을 가진다. 먼저 각 좌표 $|y_i - x_i|$가 만드는 최대값을 $M_i$라 둔다. 그러면 다음 차이가 항상 0보다 크거나 같다. 따라서 모든 원소에 대해 계산한 거리는 최대값이 있다.

                  (13)

여기서 $M_i \ge |y_i - x_i|$이다. 식 (13)에서 등호가 성립하는 경우는 각 좌표의 끝점이다. 이는 최대값이 각 좌표의 종단에 있고, 구간의 끝에 있는 좌표들을 모두 모아 만든 $\bar x, \bar y$는 두 집합의 경계 집합에 있다는 뜻이다. 마찬가지로 최소값과 그 원소에 대해 같은 방식을 적용해도 이 결과가 성립한다.
______________________________

[그림 8] 서로소인 볼록 집합에 접하는 초평면 $L_A, L_B$(출처: wikipedia.org)

옹골찬 집합만큼 강력한 조건인 볼록 집합(convex set)에 대해 [그림 6]에 소개한 초평면 분리 정리가 성립한다. 볼록 집합은 내부의 두 점을 연결한 선분이 항상 이 집합에 속하는 특성이 있다. 그래서 볼록 집합은 구멍이 있는 [그림 7]과 다르게 [그림 8]처럼 파란색 볼록 다각형(convex polygon)의 내부가 점들로 조밀하게 채워진다.

[초평면 분리 정리]
서로소인 두 옹골찬 볼록 집합(compact convex set) $A, B$는 초평면의 단위 법선 벡터 $\hat n$인 분리축 방향으로 서로 분리된다. 이때 $A, B$에서 각각 선택한 원소 $\bar x, \bar y$에 대해 $\bar x \cdot \hat n < c$, $\bar y \cdot \hat n > c$ 혹은 $(\bar y - \bar x)\cdot \hat n > 0$을 만족한다. 여기서 $c$는 적당한 실수이다.

[증명]
서로소인 두 옹골찬 집합의 원소들이 만드는 최소 거리와 경계점이 반드시 존재하므로, [그림 8]처럼 최소 거리를 만드는 볼록 집합 $A, B$의 원소를 각각 $\bar a_0, \bar b_0$이라 정의한다. 그러면 $\bar b_0 - \bar a_0$ 방향으로 $\hat n$이 있다고 생각해서 초평면 $L_A, L_B$를 그린다. 볼록성(convexity)을 가진 $A, B$는 경계점 $\bar a_0, \bar b_0$에 초평면을 항상 만들 수 있다. 여기서 $L_A, L_B$ 사이의 거리는 식 (8)처럼 양수인 $D$로 정한다. 그러면 식 (6)의 일반화인 초평면의 방정식에 의해 $(\bar a - \bar a_0)\cdot \hat n$ = $0$, $(\bar b - \bar b_0)\cdot \hat n$ = $0$, $\bar b_0 - \bar a_0$ = $D \hat n$이 성립한다. 여기서 $\bar a, \bar b$는 $L_A, L_B$ 위의 점이다. 따라서 모든 $\bar x, \bar y$는 $\bar a, \bar b$에서 $\hat n$방향으로 평행 이동한 $\bar x$ = $\bar a - k_A \hat n$, $\bar y$ = $\bar b + k_B \hat n$과 같다. 여기서 $k_A \ge 0$, $k_B \ge 0$이다. 최종적으로 이 결과를 빼서 다음 부등식을 얻는다.

                  (14)
______________________________

초평면 분리 정리는 어려워 보이지만, [그림 6, 8]처럼 기하학적으로 보면 매우 쉽다. 만나지 않는 볼록한 도형들은 가운데에 공간이 항상 있어서 접평면을 넣을 수 있고, 두 도형의 모든 점은 두 접평면의 거리 이상 떨어져있다.

[그림 9] SVM을 적용해서 자료 분류(출처: wikipedia.org)

초평면 분리 정리가 적극적으로 채용되는 알고리즘인 지원 벡터 기계 혹은 서포트 벡터 머신(support vector machine, SVM)이 기계 학습(machine learning) 분야에 많이 사용된다. 지원 벡터는 [그림 9]와 같이 노란색 영역을 이동하는 초평면과 만나는 접점이다. [그림 9]에서 파란점 2개와 초록점 1개가 바로 분류를 도와주는 지원 벡터가 된다. SVM의 시작은 도형의 빈 공간에 만드는 초평면이다. 빨간선으로 표시한 초평면 $\bar w \cdot \bar x - b$ = $0$은 어느 자료점(data points)과도 만나지 않아서 좋은 출발점이 된다. 평면 방정식의 우변값 $r$을 키우거나 줄이면서 초평면을 이동시킨다. 이 초평면은 법선 벡터 $\bar w$에 고정되므로, $\bar w$를 따라 이 방향으로만 움직인다. 예를 들어서 [그림 9]처럼 $r$ = $1$과 $-1$에서 파란색초록색 자료점 혹은 지원 벡터를 만난다고 가정한다. 그러면 식 (8)에 따라 검정색 파선(破線, dashed line)으로 그린 초평면과 빨간색 초평면 위의 점 $\bar x$간의 거리 $D(r)$이 정해진다.

                  (15)

여기서 $r$ = $\pm 1$이며 두 파선간 거리는 $2 \mathbin{/} |\bar w|$이다. 또한 식 (8)을 이용해 빨간색 초평면과 원점 사이 거리는 $D$ = $|b| \mathbin{/} |\bar w|$로 계산한다. 따라서 $\bar w$와 $b$를 조정해 두 파선간 거리를 넓힐수록, 자료가 많이 떨어져서 분류가 잘 된다. SVM에서는 [그림 9]에 나온 노란색 영역을 여유(margin)로 정의한다. 여유를 기준으로 $r \ge 1$과 $r \le -1$인 자료점의 표지(label)를 $1$과 $-1$로 각각 붙인다. 각 분류를 나타내는 부호(sign) 상수 $y_i$도 정의한다.

                  (16)

여기서 $i$ = $1, 2, \cdots, M$; $M$은 자료점의 개수이다. 이 개념을 전체적으로 합쳐서 SVM을 최적화(optimization) 관점으로 공식화한다.

                              (17)

여기서 $\bar x_i$는 두 덩이의 볼록 집합을 이루며, 훈련(training)에 쓰이는 $\bar x_i$는 이미 분류되어서 표지 혹은 $y_i$가 $1$ 혹은 $-1$로 정해져 있다. 자료 분류하기가 벡터 크기 $|\bar w|$의 최소화인 이유는 식 (15)에 따라 분모가 작아질수록 여유가 커지기 때문이다. 분류 훈련이 끝나면 주어진 $\bar w, b$에 새로운 $\bar x_i$를 대입해서 나오는 부호로 표지를 붙인다. 이런 SVM 알고리즘은 여유를 원칙대로 계산하는 절차에서 유추해 경성 여유(hard-margin) SVM 혹은 경성 여유 분류자(hard-margin classifier)로 부른다. 초평면 분리 정리에 의해, 어떤 차원의 $\bar x$를 정의하든지 볼록 집합에 속하는 자료점의 경성 여유 SVM은 항상 답이 나온다.

[참고문헌]
[1] M. Corral, Tangent Plane to a Surface, Vector Calculus, Schoolcraft College, Jan. 2021.
[2] A. A. Ahmadi, "Separating hyperplane theorems, the Farkas lemma, and strong duality of linear programming," Convex and Conic Optimization, Princeton University, USA, 2024. (방문일 2024-05-05)

[다음 읽을거리]