d라이브러리









[특집] 취향저격수가 되는 첫걸음 ‘벡터’

평소 사용하는 검색과 영화, 동영상, 쇼핑 서비스에 AI가 숨어 있고, 알고리듬으로 작동한다니 놀랍지? 그 알고리듬의 핵심은 수학이야. 그 중에서도 가장 기초가 되는 것은 ‘벡터’라는 수학 개념이지. 무슨 얘기냐고? 지금부터 알려줄게!

 

 

온라인 쇼핑몰의 추천 AI는 사용자의 나이와 성별, 그리고 과거 구매 또는 시청한 정보 등을 바탕으로 좋아할 만한 새로운 상품을 추천합니다.


수학동아와 어린이과학동아, 과학동아 잡지를 예로 들어보겠습니다. 온라인 쇼핑몰에서는 각 잡지 구독자의 정보를 분석하죠. 수학동아 독자는 초등 고학년과 중학생, 수학, 코딩, 퍼즐, 만화에 관심이 있는 사람이라는 결과가 나올 겁니다. 어린이과학동아는 초등 저학년과 과학, 로봇, 만화, 탐사 등의 키워드, 과학동아는 중학생, 고등학생, 과학, 진로, 최신기술, SF 등의 키워드를 얻을 수 있습니다.

 

 

추천 AI 시스템은 아직 잡지를 구독하지 않는 사용자의 정보를 앞서 얻은 14개의 키워드와 비교해서 수학동아와 어린이과학동아, 과학동아 중 적합한 잡지를 추천합니다. 이 과정은 모두 벡터 계산으로 이뤄집니다. 
벡터로 나타낸 정보 하나는 벡터 공간에서 하나의 점에 해당합니다. 예를들어 14개의 키워드는 각각 0과 1로 이뤄진 14개의 벡터로 구분해서 나타낼 수 있습니다. 14개로 나타내는 이유는 각 키워드를 구분짓는 변수가 14개이기 때문입니다. 벡터로 표현되면 그제서야 컴퓨터는 14개의 키워드를 인식합니다. 

 

 

추천 AI는 점 사이의 거리와 각도를 계산해 정보의 유사성을 판단합니다. 하지만 0과 1로 나타낸 벡터는 바로 계산할 수 없습니다. 키워드를 구분해서 표현한 것일 뿐 정보의 상관관계를 반영한 것은 아니거든요. 


수학동아 구독자 관련 키워드에 해당하는 벡터끼리는 위치가 가깝고 다른 키워드와는 위치가 멀게 0과 1의 벡터로 나타낸 키워드를 0.1, 1.1 등의 유리수를 조합하는 형태로 바꿔주는 겁니다. 이렇게 나타내면 14차원이 아닌 10차원이나 5차원 등 더 낮은 차원으로 나타낼 수도 있죠. 이런 방법을 ‘분산 표현’이라고 합니다.

 

 

정보를 분산 표현 방식으로 나타내면 비로소 유사성을 파악할 수 있습니다. 잡지 구독자 키워드 14개의 위치 관계를 알 수 있어 각 잡지 구독자의 특징을 나타내는 키워드를 구분해서 묶을 수 있기 때문입니다. 


그런 뒤 잡지를 구독하지 않는 고객 A의 정보를 벡터로 나타내서 각 키워드와의 거리와 각도 등을 계산하면 어떤 잡지를 추천할지 알 수 있습니다.

 

한눈에 익히는 벡터와 그 연산

 

1. 벡터란? 


벡터는 벡터 공간의 점으로, 크기와 방향을 가진 양을 나타냅니다. 변수의 개수에 따라 벡터 공간의 차원은 달라집니다. 즉 2차원은 변수가 x와 y인 공간이며, 3차원은 변수가 x, y, z인 공간이죠.
여기서는 2차원 벡터 공간을 예로 들어 설명할게요. 벡터는 벡터 공간의 점이고, 점은 순서쌍으로 표기할 수 있어요. 따라서 점 A(-1, 4), B(2, 2), C(-3, -1)을 벡터로 나타낼 수 있습니다. 벡터는 방향을 나타내기 때문에 원점에서 점까지 화살표를 그어 나타내요.

 

 

2. 벡터의 덧셈과 뺄셈, 실수 배 


벡터의 덧셈, 뺄셈은 변수 각각을 더하거나 빼서 구하며, 실수 배는 벡터를 이루는 모든 변수에 실수를 곱해 계산합니다. 
 

 

3. 두 벡터의 거리 


두 점 사이의 거리 구하는 공식으로 두 벡터의 거리도 구할 수 있습니다. 

벡터 사이의 거리는 두 정보가 얼마나 유사한지 계산하는 데 쓰이죠.

 

4. 벡터로 나타낸 데이터 연산 

 

 

숫자가 아닌 정보는 연산을 못하지만 정보를 벡터로 나타내면 가능합니다. 예를 들어 좌표평면과 같이 <;왕>;과 <;여왕>;, <;여성>;,  <;남성>;이 있다면 <;왕>;과 <;여왕>;, <;남성>;과 <;여성>; 사이의 거리는 같습니다. 따라서 ‘왕’을 나타내는 벡터에 ‘남성’ 벡터를 더한 뒤 ‘여성’ 벡터를 빼면 ‘여왕’이라는 결과를 내놓습니다. 

 

 

이런 식으로 기계학습 알고리듬은 벡터로 학습한 정보를 연산한 결과를 사용자에게 제시한답니다. 

 

 

2021년 01월 수학동아 정보

  • 홍아름 기자 기자
  • 최영준 기자 기자

🎓️ 진로 추천

  • 컴퓨터공학
  • 수학
  • 통계학
이 기사를 읽은 분이 본
다른 인기기사는?