지난 글에서 벡터 이야기가 나왔으니 기왕에 좀 더 살펴보고 건너가자. 이 벡터라는 친구들은 크기와 방향이라는 2가지의 꽤나 재미있는 속성을 가지고 있다. 이 때문에 학교에서 벡터를 도입할 때는 늘 화살표가 등장한다. 화살표의 길이로 벡터의 크기를 나타낼 수 있고, 그 화살표는 늘 어딘가를 가리키고 있기 때문에 벡터의 방향을 나타내기 적합하다. 만약 화살표의 두께로 크기를 나타냈다면 그것도 재미있었을 것 같다. 단 표현이 어려웠겠지..엄청 두꺼운 화살표와 얇은 화살표를 보고 몇 배의 크기인지 바로 직관적으로 알기는 어려울 테니까.
벡터의 시작점을 좌표평면의 원점으로 정한 것을 위치벡터라고 한다.
처음 벡터를 배울 때 위치적인 개념이 없다는 사실에 좀 충격을 받았다. 전혀 다른 곳에 있는 두 벡터가 크기와 방향이 같기만 하다면 '동일하다'라는 사실이 받아들여지지 않았다. 벡터가 같다는 말이 마치 삼각형의 합동과 같은 개념인가? (뒤늦게 알았지만 맞는 말.)
수학자들은 나와 같은 일반인들의 이런 혼란을 이해라도 하고 있는 듯하다. 수학자들은 벡터를 나타내는 화살표의 꼬리를 좌표평면의 원점에 모두 묶어놓고 '위치 벡터'라는 개념을 마련해놓았다. 그러자 다른 위치에 있던 두 벡터가 같은 위치로 옮겨와서 포개어지는 순간 '같은 벡터'에 대한 나의 혼란은 어느 정도 잠잠해졌다. 시골에 가보면 소를 몰고 나가서 풀을 뜯게 하는 경우가 있다. 이때 소가 멀리 못 가도록 하기 위해 땅에 박아놓은 말뚝에 소를 묶어놓는다. 그러면 소는 그 말뚝을 중심으로 뱅뱅 돌며 주변의 풀을 한가로이 뜯는다. 마치 벡터는 원점에 꼬리가 묶인 소처럼 뱅글뱅글 돈다. 마치 시계나 나침반 같은 모양이랄까?
땅에 말뚝을 박고 소를 거기 묶어놓는다. 그럼 소는 그 주변을 벗어지 않는다. 마치 위치벡터가 원점에 시작점을 항상 두고 있는 것처럼..(약간 억지스럽지만)
벡터를 기하의 세계로 : 거리와 각
1학년 담임을 맡게 되면 1학기 초에 약간 들뜬 모습으로 서로에 대한 탐색이 시작된다. 그렇게 1~2주 정도 지나면 어느새 삼삼오오 또래 집단이 생겨나고 교실은 금세 활기찬 분위기가 만들어진다.(지금은 코로나 19로 이런 모습이 없지만..) 그런데 1~2주로 필요 없고 1~2시간 만에 매우 가까워진 학생 몇 명이 있었다. 이유가 궁금해서 물어봤더니
“선생님! 저희 아미에요. A.R.M.Y. 아미!”
“BTS?”
“네! BTS 이야기하다 보면 시간 가는 줄 모르겠어요!”
BTS에게 좋은 음악과 더불어 감사할 이유가 하나 더 생겨났다. 그렇게 비슷한 관심사를 가진 친구들은 마음의 거리가 확 줄어드나 보다. 이런 게 학생들에게서만 보이는 특성은 아니다. 사회 동호인 활동에서 보면 비슷한 취미를 가진 사람들은 금방 친해진다. 가까운 관계에는 눈에 보이든 보이지 않든 뭔가 비슷한 부분이 존재한다는 것을 우리는 경험적으로 알고 있다.
데이터가 비슷하다는 건 어떻게 알 수 있을까? 일단 아래의 문제를 한 번 살펴보자.
Q. 데이터를 분석해보니 다음과 같은 분포를 보이고 있습니다. 저스틴은 이 데이터를 몇 개의 묶음으로 묶으면 적절한가요?
만약 다음과 같이 3개의 묶음을 떠올렸다면 충분하다. 이미 기하적으로 거리와 각도의 개념이 머릿속에 있기 때문이다.
이렇게 묶은 이유는 뭘까? 단순하다. 점들이 가까이 있기 때문이다. 벡터는 원점에서 출발하기 때문에 하나의 벡터에는 크기라는 개념이 있고, 두 벡터 사이에는 '거리'와 '각'라는 기하적 개념이 있다. 만약 두 벡터 사이의 거리가 가까우면 두 벡터에는 비슷한 특성이 존재한다. 벡터뿐만 아니라 우리가 살아가는 세상도 그렇다. 예를 들어 우리 집은 학교에서 멀리 떨어져 있는데 마침 옆 집 친구가 같은 학교를 다닌다. 그 친구는 ‘학교 통학’이라는 속성을 보면 나와 매우 유사하다. 방향도 비슷하고 거리도 비슷하다. 따라서 걸어서 학교를 다닌다고 가정할 때 오가는 길도 비슷하고 시간도 비슷하게 걸릴 것이다.
특정 데이터 하나가 있다고 하자. 이 데이터와 비슷한 데이터를 찾고 싶은데, 참고할 데이터는 꽤 많다. 그렇다면 비슷한 데이터를 어떻게 찾아낼까? 실제로 2015년에 고3 담임을 할 때 진학 면담을 하던 중 한 학생이 다음과 같이 물었다.
“선생님! 저랑 비슷한 성적의 언니들은 어느 대학에 지원했었어요?”
"어? 언니들 취향에 따라 좀 다르긴 하지만 대략 비슷한 지원군이 있지."
"좀 알아볼 수 없어요? 데이터 가지고 계시잖아요."
순간 좀 당황스럽다. 졸업생 중 A라는 학생도 비슷한 성적이고 B라는 학생도 비슷한데..? 이런 데이터를 머릿속으로 떠올리는 것과 컴퓨터를 활용해서 찾아내게 만드는 프로그램을 구현하는 것은 또 다른 문제다. 일단 학생을 돌려보내고 '어떻게 비슷한 졸업생을 찾아낼까?'에 대해서 나름 고민과 연구를 시작했다.
당시 이과 담임이었기 때문에 내신 성적 중에서 국어 평균, 수학 평균, 영어 평균, 과학 평균을 데이터로 활용하기로 했다. 우선 졸업생들의 국, 수, 영, 과 내신 성적을 산출했다. 그리고 이를 4차원 공간에 쫘악 뿌려놓는다. 그리고 상담을 하려는 재학생 중 한 명의 성적의 좌표를 찾는다. 예를 들면 지원이(가명)의 성적이
(국, 수, 영, 과) = (3, 3.05, 2.2, 2.96) (내신 등급 : 1이 최고, 9가 최저)
라고 해보자. 그리고 이를 4차원 공간에 던져놓는다. 이미 뿌려놓은 졸업생들의 점들이 빼곡한데, 졸업생들의 점과 재학생 사이의 거리를 모두 측정하여 가까운 순으로 6개의 점을 찾아낸다. 실제로 가장 가까운 졸업생의 점수를 찾아보니
(국, 수, 영, 과) = (3, 3.54, 2.4, 2.87)
인 벡터를 찾아냈다. 이 졸업생은 다른 과목보다 영어에서 강점을 보이는 특징을 가진 졸업생이었다. 만약 졸업생의 데이터가 많으면 많을수록 더욱 유사한 데이터를 찾아낼 수 있다. 그 졸업생이 어떤 학교를 지원했는지, 그리고 그 결과는 어떻게 되었는지 등을 살펴보며 면담에 활용했다. 그렇게 가장 유사한 6명의 졸업생의 자료를 조회해서 진학상담에 아주 유용하게 활용했고 지금도 활용하고 있다.
Access와 MS-SQL로 구현했던 이화 상담프로그램 Epec의 화면. 재학생과 가장 비슷한 6명의 졸업생 자료를 찾아 보여준다.
둘 사이의 거리가 비슷하다고 해서 모든 특성이 비슷하다고는 할 수 없다. 아래 그림에서 보면 벡터 v₁과 벡터 v₂는 분명 벡터 w₁과 벡터 w₂보다 거리는 가깝지만 방향은 훨씬 다르다.
각의 중요성. 거리가 유사함의 전부는 아니다
이 때문에 벡터 사이에는 거리와 함께 각(angle)이라는 개념도 필요하다. 벡터 사이의 각은
로 cos을 활용해서 정의를 한다. 만약 두 벡터 사이의 각이 0에 가깝다는 것은 방향이 비슷하다는 것을 의미한다. 즉 적당히 크기가 비슷해진다면 거의 같은 벡터로 볼 수 있다는 의미이기도 하다. 선형대수학을 공부해보면 벡터 공간을 표현하는 대표자 역할로 basis(기저)를 찾고, 기왕 찾을 거라면 서로 직각이고 크기도 1이면 더욱 좋다. (이러한 orthonormal basis라고 하는데 여기까지는 가지 말자.)
수학은 대상을 늘 일반적인 수학의 세계로 끌고 온다.
수학은 늘 성질에 대해서 연구한다. 추상적이고 이 세상에 존재하지 않는 세계와 같다. 그런데도 계속 그 세계의 특성을 연구하고 도출할 수 있는 수많은 정리들을 살펴본다. 왜 그런 일들을 할까?
수학은 늘 일반적인 성질들을 살펴보고 최대한 형식화하며, 그 성질들 사이의 관계를 연구한다. 막상 수학의 밖에서 보면 맨날 세상과 동떨어진 이야기들을 하고 있다. 실제로 물질적으로 풍요롭지 않았던 그 옛날 맨날 삼각형 그리면서 기하학을 연구하고 있는 사람들을 생각해보자. 삼각형을 잘 그린다고 누군가 상금을 주는 일은 존재하지 않는다.
그런데 홍수가 범람하고 땅의 경계가 흐려지자 삼각형은 빛을 발하기 시작했다. 정확하게 땅의 크기를 측량하고 넓이를 정확하게 계산해낸다. 그리고 땅의 넓이에 따른 세금도 계산한다. 이 기하학의 한 분야인 삼각법을 활용해 피라미드의 높이를 직접 측정하지 않고 계산으로 알아내기도 하며 나중에 삼각법을 통해 길도 보이지 않는 망망대해를 GPS도 없이 찾아가는 항해술에 활용되기도 했다.
데이터를 표현하기 적절한 형태였던 벡터에 크기, 거리, 각도 등의 기하적인 의미가 부여되면서 벡터는 더 이상 숫자의 묶음에 그치지 않고 공간적인 개념을 가지게 되었다. 이를 활용해 데이터를 서로 비교하고 분석하는 도구가 생겼다. 벡터의 크기에서 시작하여 두 벡터 사이의 거리와 각을 통해 두 벡터가 얼마나 유사한지를 알 수 있는 큰 무기가 하나 생긴 셈이다. 이러한 벡터의 기하적 성질을 이용해서 때로는 비슷한 데이터를 찾기도 하고, 데이터들을 비슷한 그룹으로 묶을 수 있는 중심점을 찾기도 한다. 우리가 중학교, 고등학교에서 배웠던 기하학이 데이터의 유사성을 찾는데 가장 중요한 key가 된다니..!