모두의 AI
머신러닝AI논문
로딩 중…

배우기

🏅내 업적

Ch.01

벡터와 벡터 공간: 크기와 방향을 한 번에

챕터별 수학 도식화

챕터를 선택하면 아래 도식이 해당 챕터 내용으로 바뀌어요. 중급 수학 흐름을 한눈에 보세요.

벡터 = 방향 + 크기

xyuvu+v

같은 방향 · 길이 k배

k·u
기준 uk·u
벡터는 관련된 숫자를 순서 있게 묶은 표현이면서, 기하적으로는 크기와 방향을 한 번에 담는 화살표입니다. 머신러닝에서는 한 데이터 샘플이 특성 벡터 x\mathbf xx가 되고, 딥러닝에서는 임베딩·가중치가 모두 벡터로 표현됩니다. 이 장에서 Rn\mathbb R^nRn의 공통 규칙을 익히고, 다음 장 내적으로 자연스럽게 이어지도록 기초를 다집니다.

벡터와 벡터 공간: 크기와 방향을 한 번에

벡터(Vector)란 무엇일까요? 아주 쉽게 말해 ‘관련된 숫자들을 순서대로 예쁘게 담아놓은 상자’라고 생각하시면 됩니다. 수학적으로는 v=(v1,v2,…,vn)\mathbf v=(v_1,v_2,\ldots,v_n)v=(v1​,v2​,…,vn​)처럼 괄호 안에 숫자들을 나열해서 표현하죠. 기하학에서는 이를 ‘크기와 방향을 가진 화살표’로 상상합니다. 기초 수학에서 함수에 여러 개의 값을 입력해야 할 때, 이 숫자들을 하나의 벡터 상자에 담아 전달하면 계산과 표기가 훨씬 깔끔해집니다. 마치 롤플레잉 게임에서 캐릭터의 능력치를 (체력, 마나, 공격력) = (100, 50, 15)처럼 한 묶음으로 묶어 표현하는 것과 같습니다!
우리가 일상에서 쓰는 내비게이션 앱을 떠올려 볼까요? ‘현재 위치에서 동쪽으로 3km, 북쪽으로 4km 이동하세요.’라고 안내한다면, 여기에는 이동할 방향과 이동할 거리(크기)가 모두 포함되어 있습니다. 이것을 평면 도화지(좌표평면) 위에 화살표로 쓱 그려보면, 그것이 바로 2차원 벡터의 가장 직관적인 모습입니다!
숫자로 적을 때는 (3,4)(3,4)(3,4)라는 두 성분으로 간단히 쓸 수 있습니다. 이때 화살표의 실제 길이(크기)는 우리가 중학교 때 배운 피타고라스의 정리를 사용해 32+42=5\sqrt{3^2+4^2}=532+42​=5로 쉽게 구할 수 있답니다.
조금만 더 수학적인 언어를 빌리자면, nnn개의 실수를 담을 수 있는 상자들의 모임을 실수 벡터 공간 Rn\mathbb R^nRn이라고 부릅니다. 여기서 꼭 알아야 할 핵심 규칙이 있습니다.
* 벡터의 덧셈: 같은 위치(성분)에 있는 숫자끼리 더합니다. (예: (1,2)+(3,4)=(4,6)(1,2)+(3,4)=(4,6)(1,2)+(3,4)=(4,6))
* 스칼라배(상수곱): 벡터 밖에서 어떤 숫자(스칼라)를 곱하면, 상자 안의 모든 숫자에 공평하게 똑같이 곱해집니다. (예: 2(1,3)=(2,6)2(1,3)=(2,6)2(1,3)=(2,6))
* 영벡터 0\mathbf 00: 상자 안의 모든 숫자가 000인 텅 빈 상태입니다. (예: (0,0,0)(0,0,0)(0,0,0))
* 벡터의 놈(Norm, 크기): 기호로는 ∥v∥\|\mathbf v\|∥v∥로 쓰며, 화살표의 길이를 뜻합니다. 가장 흔히 쓰는 ‘유클리드 놈’의 핵심 수식은 ∥v∥=v12+v22+⋯+vn2\|\mathbf v\|=\sqrt{v_1^2+v_2^2+\cdots+v_n^2}∥v∥=v12​+v22​+⋯+vn2​​입니다. 각 숫자를 제곱해서 더한 뒤 루트를 씌우는 것이죠. 컴퓨터는 연산을 가볍게 하기 위해 종종 루트를 벗긴 제곱 형태인 ∥v∥2\|\mathbf v\|^2∥v∥2를 사용하기도 합니다.
인공지능 분야에서 벡터는 어떻게 쓰일까요? AI에게 데이터를 학습시킬 때, 데이터 하나하나의 특징을 담은 그릇이 바로 벡터입니다. 예를 들어 어떤 사람의 데이터가 (나이, 키, 몸무게)라면, 입력 데이터는 x=(25,175,70)\mathbf x=(25,175,70)x=(25,175,70)이라는 3차원 벡터가 됩니다. AI가 정답을 맞히기 위해 조절하는 가중치(Weight) 역시 w\mathbf ww라는 벡터로 표현되죠. 최신 딥러닝 모델들은 내부에 이런 벡터들의 덧셈과 곱셈을 수백만 번 반복하는 거대한 수학 공장과 같습니다. 즉, 벡터를 이해하는 것은 AI의 데이터 처리 방식을 이해하는 첫 단추입니다. 나중에 중급 과정으로 넘어가면, 이 벡터들을 바탕으로 데이터 공간의 굴곡을 계산하는 헤시안(Hessian) 같은 고급 개념도 자연스럽게 배우게 됩니다.
핵심 요약 노트
* 벡터의 두 얼굴: 기하학적으로는 ‘크기와 방향을 가진 화살표’, 대수학적으로는 ‘숫자들의 순서 있는 나열’입니다.
* Rn\mathbb R^nRn의 의미: nnn개의 실수 성분으로 이루어진 nnn차원 벡터들이 살아가는 수학적 공간입니다.
* 연산의 기본: 덧셈과 스칼라배는 끼리끼리, 공평하게 성분별로 이루어집니다.
이러한 벡터의 기본 규칙이라는 튼튼한 기초 공사 위에, 딥러닝의 핵심인 내적, 행렬, 그리고 미분이라는 건물이 세워집니다. 지금 이 개념들이 완벽하게 머릿속에 그려지신다면 아주 잘하고 계신 겁니다! 다음 장인 [Ch.02 내적]에서는 두 화살표(벡터)가 ‘얼마나 같은 방향을 바라보고 있는지(닮았는지)’를 숫자로 측정하는 흥미로운 도구에 대해 알아보겠습니다.
기초 수학 시간에 하나씩 따로 놀던 숫자(예: x=3x=3x=3)를 다루는 데 익숙해졌다면, 이제는 여러 숫자를 하나의 묶음(벡터)으로 한 번에 다루는 습관으로 넘어가는 징검다리를 건널 차례입니다. 머신러닝에서 비슷한 데이터를 찾기 위해 거리를 재거나 분류할 때, 그리고 딥러닝에서 인공 신경망이 데이터를 다음 층으로 넘길 때 사용되는 모든 언어가 바로 ‘벡터와 행렬’입니다. 벡터 없이 AI를 공부하는 것은 알파벳을 모르고 영어를 배우려는 것과 같습니다.
우리가 일상에서 대화할 때 문법을 지키듯, 수학에도 문법이 있습니다. ‘같은 크기의 벡터 상자끼리만 더할 수 있다’, ‘스칼라(숫자)를 곱하면 상자 안의 모든 숫자에 곱해준다’는 규칙들이 바로 벡터 공간의 문법(구조)입니다. 초보자 때 이 기본적인 문법을 탄탄하게 몸에 익혀두면, 이후에 등장하는 조금 무서운 이름들의 개념들—예를 들어 선형 독립, 기저, 랭크, 고유값—을 마주했을 때 당황하지 않고 원리를 파악할 수 있는 든든한 무기가 됩니다.
특성 벡터(Feature Vector)라는 말을 들어보셨나요? 고객 정보를 담은 엑셀 표를 상상해 보세요.
  • 이름A번 고객
  • 키(cm)170
  • 몸무게(kg)65
  • 나이30
이름키(cm)몸무게(kg)나이
A번 고객1706530
여기서 A번 고객의 정보 한 줄을 떼어내어 x=(170,65,30)\mathbf x=(170,65,30)x=(170,65,30)이라는 하나의 묶음으로 만들면, 그것이 바로 특성 벡터입니다! 데이터를 다듬는 전처리 과정이나, 비슷한 성향의 고객끼리 그룹을 묶는 알고리즘(예: k-최근접 이웃(kNN)이나 클러스터링)에서 고객 사이의 ‘유사성’을 파악할 때 바로 이 벡터들 사이의 거리(벡터 차이의 놈)를 계산하여 활용합니다.
딥러닝(Deep Learning)에서 벡터는 신경망을 흐르는 혈액과도 같습니다. 우리 뇌의 신경세포(뉴런)를 모방한 인공 뉴런은, 들어온 ‘입력 벡터’와 중요도를 나타내는 ‘가중치 벡터’를 서로 짝지어 곱하고 더하는 연산(이를 내적이라고 합니다)을 수행합니다. 챗GPT 같은 언어 모델이 단어를 이해할 때도, ‘사과’나 ‘바나나’ 같은 단어를 컴퓨터가 계산할 수 있는 긴 숫자의 나열, 즉 임베딩(Embedding) 벡터로 변환하여 처리합니다. 결론적으로 벡터는 AI가 우리의 복잡한 세상을 숫자라는 언어로 읽어내는 가장 최소 단위의 묶음입니다.
아래 표에는 문제 풀이에 필요한 수식과 기호 의미를 요약했고, 바로 이어지는 항목별 자세한 설명에서 왜 그렇게 정의되는지까지 짚습니다. 풀이 예시에는 출제되는 10가지 유형마다 한 번씩 단계를 적어 두었습니다.
  • 수식v=(v1,…,vn)\mathbf v=(v_1,\ldots,v_n)v=(v1​,…,vn​)
  • 기호 의미v\mathbf vv = 벡터. viv_ivi​ = iii번째 성분(좌표).
  • 수식Rn\mathbb R^nRn
  • 기호 의미nnn차원 실수 벡터 공간. 성분이 nnn개인 모든 실수 벡터.
  • 수식∥v∥2=∑ivi2\|\mathbf v\|^2 = \sum_i v_i^2∥v∥2=∑i​vi2​
  • 기호 의미놈의 제곱(유클리드). 문제에서는 정수만 쓰도록 출제됩니다.
  • 수식u⋅v=∑iuivi\mathbf u\cdot\mathbf v=\sum_i u_i v_iu⋅v=∑i​ui​vi​
  • 기호 의미내적(점곱). 다음 장에서 자세히 다룹니다.
  • 수식u+v\mathbf u+\mathbf vu+v
  • 기호 의미성분별 덧셈: (u1+v1,…,un+vn)(u_1+v_1,\ldots,u_n+v_n)(u1​+v1​,…,un​+vn​).
  • 수식kvk\mathbf vkv
  • 기호 의미스칼라배: 각 성분에 kkk를 곱합니다.
  • 수식dim⁡(Rn)\dim(\mathbb R^n)dim(Rn)
  • 기호 의미차원 = nnn.
  • 수식uxvy−uyvxu_x v_y - u_y v_xux​vy​−uy​vx​ (2D)
  • 기호 의미두 벡터가 만드는 평행사변형의(부호 있는) 넓이에 대응; 000이면 평행.
수식기호 의미
v=(v1,…,vn)\mathbf v=(v_1,\ldots,v_n)v=(v1​,…,vn​)v\mathbf vv = 벡터. viv_ivi​ = iii번째 성분(좌표).
Rn\mathbb R^nRnnnn차원 실수 벡터 공간. 성분이 nnn개인 모든 실수 벡터.
∥v∥2=∑ivi2\|\mathbf v\|^2 = \sum_i v_i^2∥v∥2=∑i​vi2​놈의 제곱(유클리드). 문제에서는 정수만 쓰도록 출제됩니다.
u⋅v=∑iuivi\mathbf u\cdot\mathbf v=\sum_i u_i v_iu⋅v=∑i​ui​vi​내적(점곱). 다음 장에서 자세히 다룹니다.
u+v\mathbf u+\mathbf vu+v성분별 덧셈: (u1+v1,…,un+vn)(u_1+v_1,\ldots,u_n+v_n)(u1​+v1​,…,un​+vn​).
kvk\mathbf vkv스칼라배: 각 성분에 kkk를 곱합니다.
dim⁡(Rn)\dim(\mathbb R^n)dim(Rn)차원 = nnn.
uxvy−uyvxu_x v_y - u_y v_xux​vy​−uy​vx​ (2D)두 벡터가 만드는 평행사변형의(부호 있는) 넓이에 대응; 000이면 평행.
항목별 자세한 설명
① 벡터 v=(v1,…,vn)\mathbf v=(v_1,\ldots,v_n)v=(v1​,…,vn​) 괄호 안 숫자는 첫째부터 nnn번째까지 순서가 고정된 나열입니다. viv_ivi​는 “iii번째 자리의 수”이고, 순서를 바꾸면 다른 벡터로 봅니다. 평면에서는 흔히 v=(vx,vy)\mathbf v=(v_x,v_y)v=(vx​,vy​)처럼 x,yx,yx,y 좌표로 적습니다.
② Rn\mathbb R^nRn “성분이 실수이고 개수가 정확히 nnn개인 벡터” 전부가 모인 집합입니다. 두 벡터를 더하거나 실수배해도 여전히 nnn개 성분이므로 같은 공간 안에 남습니다(덧셈·스칼라배에 닫혀 있음).
③ ∥v∥2=∑ivi2\|\mathbf v\|^2=\sum_i v_i^2∥v∥2=∑i​vi2​ 각 성분을 제곱해 모두 더한 값입니다. 길이 ∥v∥=∑ivi2\|\mathbf v\|=\sqrt{\sum_i v_i^2}∥v∥=∑i​vi2​​의 제곱이라, 좌표축에 평행한 거리의 제곱과 같은 꼴로 자주 등장합니다. 본 코스 문제는 계산이 정수로 떨어지도록 제곱만 묻는 경우가 많습니다.
④ u⋅v=∑iuivi\mathbf u\cdot\mathbf v=\sum_i u_i v_iu⋅v=∑i​ui​vi​ 같은 인덱스끼리 곱한 뒤 전부 더합니다. 2차원이면 uxvx+uyvyu_xv_x+u_yv_yux​vx​+uy​vy​. 결과는 항상 하나의 수(스칼라)입니다. 값이 000이면 두 벡터가 직교(수직)인 대표적인 경우가 많고, 다음 장에서 각·투영과 연결합니다.
⑤ u+v\mathbf u+\mathbf vu+v 같은 차원(Rn\mathbb R^nRn의 같은 nnn)일 때만 정의됩니다. 정의는 (u1+v1,…,un+vn)(u_1+v_1,\ldots,u_n+v_n)(u1​+v1​,…,un​+vn​)이며, 뺄셈은 u−v=u+(−1)v\mathbf u-\mathbf v=\mathbf u+(-1)\mathbf vu−v=u+(−1)v로 생각하면 됩니다.
⑥ kvk\mathbf vkv 실수 kkk를 각 성분에 곱합니다. k<0k<0k<0이면 방향이 반대, ∣k∣>1|k|>1∣k∣>1이면 같은 직선 위에서 길이가 ∣k∣|k|∣k∣배로 늘어난 벡터입니다. k=0k=0k=0이면 영벡터 0\mathbf 00입니다.
⑦ dim⁡(Rn)=n\dim(\mathbb R^n)=ndim(Rn)=n 이 공간을 “딱 지탱하는” 서로 독립인 방향의 개수가 nnn이라는 뜻입니다. 표준기저 e1,…,en\mathbf e_1,\ldots,\mathbf e_ne1​,…,en​(한 자리만 1인 단위벡터)이 nnn개 있어 차원은 nnn입니다.
⑧ uxvy−uyvxu_x v_y-u_y v_xux​vy​−uy​vx​ (2D) 두 벡터를 원점에서 나란히 그었을 때 만드는 평행사변형의 넓이(반시계 방향을 양으로 하는 부호)와 연결됩니다. 한 벡터가 다른 벡터의 실수배이면 겹치는 직선 위에만 있으므로 넓이가 000 → 식도 000이 됩니다.

풀이 예시

예시 1 — 정의 O/X
문제: 다음 설명이 맞으면 1, 틀리면 0. “벡터의 유클리드 놈 ∥v∥\|\mathbf v\|∥v∥는 음수가 될 수 있다.”
풀이: 놈은 길이이므로 ∥v∥≥0\|\mathbf v\|\ge 0∥v∥≥0 — 음수일 수 없다 → 문장은 틀림 → 0.

예시 2 — 객관식(보기 번호)
문제: R5\mathbb R^5R5의 차원은?
①4
②5
③6
풀이: dim⁡(Rn)=n\dim(\mathbb R^n)=ndim(Rn)=n이므로 차원은 5 → 맞는 보기는
② → 입력은 보기 번호 2.

예시 3 — 놈의 제곱 (R2\mathbb R^2R2)
문제: v=(3,4)\mathbf v=(3,4)v=(3,4)일 때 ∥v∥2\|\mathbf v\|^2∥v∥2는?
풀이: ∥v∥2=vx2+vy2=9+16=25\|\mathbf v\|^2=v_x^2+v_y^2=9+16=25∥v∥2=vx2​+vy2​=9+16=25.
→ 정답 25.

예시 4 — 내적
문제: u=(1,2)\mathbf u=(1,2)u=(1,2), v=(3,−1)\mathbf v=(3,-1)v=(3,−1)일 때 u⋅v\mathbf u\cdot\mathbf vu⋅v는?
풀이: uxvx+uyvy=1⋅3+2⋅(−1)=1u_xv_x+u_yv_y=1\cdot3+2\cdot(-1)=1ux​vx​+uy​vy​=1⋅3+2⋅(−1)=1.
→ 정답 1.

예시 5 — 합의 성분
문제: u=(2,5)\mathbf u=(2,5)u=(2,5), v=(1,−3)\mathbf v=(1,-3)v=(1,−3)일 때 (u+v)x(\mathbf u+\mathbf v)_x(u+v)x​는?
풀이: xxx성분끼리 더함 → 2+1=32+1=32+1=3.
→ 정답 3.

예시 6 — 스칼라배의 성분
문제: u=(2,3)\mathbf u=(2,3)u=(2,3), k=4k=4k=4일 때 (4u)x(4\mathbf u)_x(4u)x​는?
풀이: (ku)x=k⋅ux=4⋅2=8(k\mathbf u)_x=k\cdot u_x=4\cdot2=8(ku)x​=k⋅ux​=4⋅2=8.
→ 정답 8.

예시 7 — Rn\mathbb R^nRn의 차원
문제: R4\mathbb R^4R4의 차원(정수)은?
풀이: dim⁡(R4)=4\dim(\mathbb R^4)=4dim(R4)=4.
→ 정답 4.

예시 8 — 성분 개수
문제: R6\mathbb R^6R6 벡터의 성분 개수(정수)은?
풀이: R6\mathbb R^6R6의 벡터는 실수 성분이 6개 → 6.

예시 9 — uxvy−uyvxu_x v_y - u_y v_xux​vy​−uy​vx​ (2D)
문제: u=(1,2)\mathbf u=(1,2)u=(1,2), v=(3,4)\mathbf v=(3,4)v=(3,4)일 때 uxvy−uyvxu_x v_y - u_y v_xux​vy​−uy​vx​는?
풀이: 1⋅4−2⋅3=4−6=−21\cdot4-2\cdot3=4-6=-21⋅4−2⋅3=4−6=−2.
→ 정답 -2 (음수면 입력란 앞 −-−가 표시됩니다.)

예시 10 — ∥u∥2−∥v∥2\|\mathbf u\|^2-\|\mathbf v\|^2∥u∥2−∥v∥2
문제: u=(2,1)\mathbf u=(2,1)u=(2,1), v=(1,0)\mathbf v=(1,0)v=(1,0)일 때 ∥u∥2−∥v∥2\|\mathbf u\|^2-\|\mathbf v\|^2∥u∥2−∥v∥2는?
풀이: ∥u∥2=4+1=5\|\mathbf u\|^2=4+1=5∥u∥2=4+1=5, ∥v∥2=1+0=1\|\mathbf v\|^2=1+0=1∥v∥2=1+0=1 → 차이 5−1=45-1=45−1=4.
→ 정답 4.

문제

아래 지시를 읽고 답(정수)을 구한 뒤 빈 칸(?)에 입력하세요.
v=(1,4)\mathbf v=(1,4)v=(1,4)일 때 ∥v∥2\|\mathbf v\|^2∥v∥2(정수)은?
1 / 10