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

배우기

🏅내 업적

Ch.06

선형 독립과 랭크: 진짜 차원은 몇 개일까?

챕터별 수학 도식화

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

선형 독립과 랭크: 진짜 차원은 몇 개일까?

독립이면 두 방향이 안 겹침. 랭크는 그래서 남는 차원 개수(이 그림 예시는 1 또는 2)예요.

12
rank
12
주황 화살표가 점선(첫 방향) 위에 있으면 같은 방향만 쓰는 종속에 가깝고, 이 예시에서는 랭크 1이에요.
선 밖으로 벗어나면 두 방향이 달라져 일차독립이 되고, 이 예시에서는 랭크 2예요.
규모가 제법 큰 스타트업에 100명의 직원이 있다고 상상해 봅시다. 회사 명부(데이터셋)를 보면 100명이라는 숫자가 든든해 보입니다. 그런데 업무 실태를 자세히 들여다보니, 20명은 스스로 새로운 아이디어를 내고 일을 추진하지만, 나머지 80명은 그저 앞선 20명의 기안서를 복사해서 이름만 바꿔 결재를 올리고 있었습니다. 이 회사가 실제로 만들어내는 '진짜 업무의 차원'은 100일까요, 20일까요?
이전 장에서 우리는 행렬이 공간을 주무르는 수학적 장치라는 것을 배웠습니다. 이번 장에서는 그 공간을 구성하는 수많은 데이터 화살표들 속에서 '가짜'와 '진짜'를 가려내는 감식안을 기릅니다. 어떤 화살표가 자신만의 대체 불가능한 새로운 방향(일차독립)을 개척하고 있는지, 아니면 그저 다른 화살표들의 경로를 베껴서 무임승차(일차종속)하고 있는지를 수식으로 판별해 봅니다. 그리고 중복되는 그림자들을 모두 걷어낸 후 남은 진짜 알짜배기 뼈대의 개수, 즉 랭크(Rank)를 세는 방법을 알아봅니다. 겉으로 보이는 데이터의 덩치에 속지 않고, 그 이면에 숨겨진 '진짜 차원'을 꿰뚫어 보는 안목을 갖춰봅시다.

선형 독립과 랭크: 진짜 차원은 몇 개일까?

1. 일차독립(Linear Independence): 대체 불가능한 '빛의 삼원색(RGB)'
물감이나 빛을 섞을 때 빨강(Red), 초록(Green), 파랑(Blue)은 서로를 아무리 섞어도 다른 색을 만들어낼 수 없는 근본적인 색상입니다. 이처럼 여러 개의 데이터(벡터)가 있을 때, 어떤 벡터도 나머지 벡터들의 조합으로 만들어낼 수 없는 고유한 상태를 일차독립이라고 합니다. 수식으로는 c1v1+c2v2+⋯+ckvk=0c_1\mathbf{v}_1 + c_2\mathbf{v}_2 + \dots + c_k\mathbf{v}_k = \mathbf{0}c1​v1​+c2​v2​+⋯+ck​vk​=0을 만족하려면 오직 모든 가중치가 ci=0c_i = 0ci​=0일 때만 가능하다는 의미입니다. 데이터 공간에서 일차독립인 벡터가 추가된다는 것은, 완전히 새로운 차원의 문이 하나 더 열렸다는 뜻입니다.
2. 일차종속(Linear Dependence): 메아리와 그림자, 숨어있는 '무임승차자'
반대로, 이미 빨강과 초록 불빛이 있는데 '노랑(빨강+초록)' 불빛을 하나 더 가져왔다고 해봅시다. 전구의 개수는 3개로 늘었지만, 표현할 수 있는 색의 범위(차원)는 늘어나지 않습니다. 수학적으로 v3=2v1+3v2\mathbf{v}_3 = 2\mathbf{v}_1 + 3\mathbf{v}_2v3​=2v1​+3v2​ 처럼, 한 벡터가 이미 존재하는 다른 벡터들의 선형결합(덧셈과 곱셈)으로 완벽하게 설명되는 상태를 일차종속이라고 합니다. 겉보기엔 데이터가 방대해 보여도, 실제로는 기존 데이터의 '메아리'나 '그림자'에 불과하여 새로운 정보를 주지 못합니다.
3. 랭크(Rank): 거품을 걷어낸 '정보의 진짜 순도'
행렬 AAA의 랭크(rank\mathrm{rank}rank)는 100개의 데이터가 있든 1000개의 데이터가 있든, 그 안에서 서로 겹치는 '종속' 데이터를 전부 지워버리고 남은 일차독립인 벡터의 최대 개수를 뜻합니다. 예를 들어, 허공에 100개의 화살표를 던졌는데 그 화살표들이 우연히도 모두 하나의 평면(2차원) 위에만 납작하게 떨어졌다면, 화살표의 개수는 100개라도 이 데이터의 랭크는 고작 2가 됩니다. 즉, 랭크는 데이터가 뻗어나갈 수 있는 '진짜 유효한 차원의 수'이자 행렬의 '정보 순도'입니다.
4. 기저(Basis): 3D 게임 공간을 짓는 '최소한의 철골 구조'
어떤 공간(부분공간)의 모든 좌표를 빠짐없이, 그리고 중복 없이 표현하기 위해 필요한 최소한의 일차독립 벡터 모음을 기저라고 부릅니다. 건물을 지을 때 수많은 벽돌이 들어가지만, 건물의 형태를 결정하는 핵심 철골 뼈대는 정해져 있는 것과 같습니다. 이 기저를 이루는 철골 벡터의 개수가 바로 그 공간의 차원(Dimension)이 됩니다.
5. Ch.05와의 연결: 행렬식(det⁡\detdet)이란, 그리고 랭크와
행렬식 det⁡(A)\det(A)det(A)는 n×nn\times nn×n 정사각 행렬이 선형 변환으로 단위 부피(2차원에서는 단위 정사각형 넓이)를 몇 배로 늘리거나 줄이는지를 나타내는 하나의 숫자입니다. det⁡(A)=0\det(A)=0det(A)=0이면 공간이 한 방향 이상 찌그러져 부피가 사라지고, det⁡(A)≠0\det(A)\neq 0det(A)=0이면 역행렬로 변환을 한 번에 되돌릴 수 있습니다(Ch.05).
n×nn \times nn×n에서 랭크가 nnn과 같다면(rank(A)=n\mathrm{rank}(A) = nrank(A)=n), 모든 열이 일차독립인 풀 랭크(Full Rank) 상태입니다. 겹치는 정보가 없으니 공간이 위처럼 완전히 눌리지 않아 det⁡(A)≠0\det(A) \neq 0det(A)=0이고 역행렬이 존재합니다. 반면 랭크가 부족하면 공간이 납작해져 det⁡(A)=0\det(A)=0det(A)=0이 되고, 되감기(역행렬)는 불가능합니다.
한 줄: RGB처럼 대체 불가한 방향이 독립, 노란 조합처럼 겹치면 종속, 랭크는 거품 걷어낸 진짜 차원입니다.
범인에 대한 단서를 수집하는 탐정의 상황을 상상해 봅시다. 5명의 목격자를 확보했는데, 알고 보니 이 5명이 모두 '같은 건물, 같은 창문'에서 범행을 지켜본 사람들이었습니다(일차종속). 탐정은 단서가 5개나 있다고 기뻐하겠지만, 실제로는 1개의 단서(랭크=1)를 5번 반복해서 듣는 것과 같습니다. 차라리 서로 다른 각도의 길거리, 옥상, CCTV에서 본 3명의 목격자(일차독립, 랭크=3)가 훨씬 가치 있는 정보를 제공합니다.
머신러닝에서도 똑같은 일이 벌어집니다. 집값을 예측할 때 '집의 면적(제곱미터)'과 '집의 면적(평)'이라는 두 가지 데이터를 넣으면, 컴퓨터는 이 둘이 완전히 같은 방향을 가리키는 일차종속이라는 것을 스스로 깨닫지 못합니다. 이처럼 겹치는 변수가 많은 현상을 다중공선성(Multicollinearity)이라고 하며, 모델은 어떤 변수가 정답에 진짜 기여하는지 헷갈려하다가 계산을 포기하거나 엉터리 가중치를 매기게 됩니다.
따라서 랭크(Rank)는 우리에게 "이 데이터 뭉치 안에 진짜 영양가 있는 정보는 몇 개나 있는가?"를 묻는 아주 날카로운 질문입니다. 데이터의 거품(종속)을 걷어내고 뼈대(독립)만 남기는 것은 계산 속도를 극적으로 높이고 인공지능이 헛갈리지 않게 돕는 가장 중요한 밑작업입니다.
1. 선형 회귀의 붕괴 막기 (릿지 회귀의 마법)
최적의 예측선을 긋는 선형 회귀에서는 수식적으로 (XTX)−1(X^T X)^{-1}(XTX)−1라는 역행렬을 반드시 구해야 합니다. 그런데 데이터 XXX 안에 앞서 말한 '평'과 '제곱미터'처럼 일차종속인 열이 섞여 있으면, 행렬의 랭크가 떨어지면서 공간이 찌그러져 역행렬을 계산할 수 없는 에러(Singular Matrix)가 발생합니다. 이때 릿지(Ridge) 회귀는 수식 대각선에 아주 작은 임의의 숫자들을 더해줍니다. 이는 마치 납작하게 찌그러진 샌드위치 빵 사이에 인공적으로 얇은 이쑤시개를 꽂아 넣어 억지로 숨구멍(독립성)과 부피를 만들어 역행렬을 구출해 내는 수학적 응급처치입니다.
2. 딥러닝의 정보 병목 (Information Bottleneck)과 고속도로
딥러닝의 신경망은 데이터를 여러 층의 선형 행렬을 통해 통과시킵니다. 이를 100차선짜리 초고속 도로에 비유해 봅시다. 만약 수많은 정보의 자동차들이 이 도로를 달리다가, 갑자기 랭크가 10밖에 안 되는 층(Layer)을 만나면 어떻게 될까요? 100차선 도로가 갑자기 10차선 좁은 국도로 좁아지는 것과 같습니다. 엄청난 교통체증이 발생하고, 나머지 90차선 분량의 고화질 이미지나 정교한 텍스트 정보는 영구적으로 파괴되어 사라집니다(정보 병목). 따라서 AI 설계자들은 각 층이 데이터를 온전히 실어 나를 수 있도록 랭크의 크기를 모니터링하고 차원을 신중하게 설계해야 합니다.
아래 표에는 기호와 요령을, 풀이 예시는 연습 문제의 대표 유형(정의 고르기·참·거짓·수로 랭크·차원·성질·짧은 상황)을 문제 / 풀이 형식으로 짧게 적어 두었습니다.
  • 기호일차독립
  • 의미∑civi=0⇒ci=0\sum c_i\mathbf{v}_i=\mathbf{0}\Rightarrow c_i=0∑ci​vi​=0⇒ci​=0
  • 기호일차종속
  • 의미적어도 하나가 나머지의 선형결합
  • 기호rank(A)\mathrm{rank}(A)rank(A)
  • 의미열공간 차원(=행간소화 피벗 수)
  • 기호기저
  • 의미독립이면서 생성하는 최소 집합
  • 기호rank(AB)\mathrm{rank}(AB)rank(AB)
  • 의미≤min⁡{rankA,rankB}\le\min\{\mathrm{rank}A,\mathrm{rank}B\}≤min{rankA,rankB}
  • 기호det⁡(A)\det(A)det(A)
  • 의미단위 부피·넓이가 변환으로 몇 배가 되는지(Ch.05); det⁡(A)=0\det(A)=0det(A)=0이면 역행렬 없음
기호의미
일차독립∑civi=0⇒ci=0\sum c_i\mathbf{v}_i=\mathbf{0}\Rightarrow c_i=0∑ci​vi​=0⇒ci​=0
일차종속적어도 하나가 나머지의 선형결합
rank(A)\mathrm{rank}(A)rank(A)열공간 차원(=행간소화 피벗 수)
기저독립이면서 생성하는 최소 집합
rank(AB)\mathrm{rank}(AB)rank(AB)≤min⁡{rankA,rankB}\le\min\{\mathrm{rank}A,\mathrm{rank}B\}≤min{rankA,rankB}
det⁡(A)\det(A)det(A)단위 부피·넓이가 변환으로 몇 배가 되는지(Ch.05); det⁡(A)=0\det(A)=0det(A)=0이면 역행렬 없음
① 먼저 종속 관계가 보이면 식으로 적습니다.
② 안 보이면 행간소화합니다.
③ 정사각이면 Ch.05와 연결해 det⁡\detdet도 점검합니다.

풀이 예시

예시 1 — 정의·개념 고르기
문제: rank(A)\mathrm{rank}(A)rank(A)의 정의로 옳은 것은?
풀이: 열공간의 차원에 해당하는 보기를 고릅니다.

예시 2 — 참·거짓
문제: R2\mathbb{R}^2R2에서 서로 다른 두 벡터는 항상 일차독립인가?
풀이: 항상은 거짓입니다. 같은 직선 위(공선)이면 종속입니다.

예시 3 — 수로 랭크
문제: (1224)\begin{pmatrix}1&2\\2&4\end{pmatrix}(12​24​)의 랭크는?
풀이: 두 열이 비례하므로 1. 애매하면 행간소화 후 피벗 개수를 셉니다.

예시 4 — 차원·널리티
문제: Ax=0A\mathbf{x}=\mathbf{0}Ax=0의 해공간 차원이 kkk이고 열이 nnn개일 때 rank(A)\mathrm{rank}(A)rank(A)는?
풀이: rank(A)=n−k\mathrm{rank}(A)=n-krank(A)=n−k.

예시 5 — 랭크 성질
문제: 가역 행렬 P,QP,QP,Q에 대해 rank(PAQ)\mathrm{rank}(PAQ)rank(PAQ)는?
풀이: rank(PAQ)=rank(A)\mathrm{rank}(PAQ)=\mathrm{rank}(A)rank(PAQ)=rank(A).

예시 6 — 짧은 상황
문제: a3=2a1−a2\mathbf{a}_3=2\mathbf{a}_1-\mathbf{a}_2a3​=2a1​−a2​이면 세 열의 랭크는?
풀이: 세 열이 종속이므로 rank≤2\mathrm{rank}\le 2rank≤2입니다.

연습 문제

문제 은행 60문항 중 무작위 10문이 출제됩니다.

rank(AT)\mathrm{rank}(A^{\mathsf T})rank(AT)와 rank(A)\mathrm{rank}(A)rank(A)는?
1 / 10