DS가 되기 위한 여정 👩‍💻

AI/Linear Algebra, Math

[elice 머신러닝] 행렬의 특성 구하기(rank, 기저벡터, column space, null space)

Tashapark 2025. 5. 3. 18:37
728x90

* 아래 문제가 이해가 안 되서 gpt에게 묻기 시작했는데 여전히 오리무중이다.

- 이해가 될 듯 왜 각각으로 나누는지 잘 모르겠음.

- alice 강의는.. 이미 이해하고 있는 것을 바탕으로 이건 이거다만 하고 넘어가서.. 이 파트는 설명이 너무 부족하다고 느낌. 

- 유투브에서 찾아서 강의를 좀 봐야겠다..



✅ 지금까지 핵심 요약

이걸 가우스 소거법으로 행 줄이기(row reduction)를 했고, 목표는 다음을 구하는 거였지:

  1. 랭크 (Rank)
  2. 기저 벡터들 (Basis vectors of column space)
  3. 컬럼 스페이스 차원 (Dimension of column space = rank)
  4. 널 스페이스 차원 (Dimension of null space)

✅ Step 1: 첫 번째 열 기준 소거

첫 번째 피벗 = 1 (1행 1열)

→ 두 번째 행 = 두 번째 행 − 3×첫 번째 행

→ 세 번째 행 = 세 번째 행 − 2×첫 번째 행

지금까지: 

 

✅ Step 2: 두 번째 열 기준 소거

두 번째 피벗 = 3 (2행 2열)

→ 세 번째 행은 이미 0이므로 더 이상 변환 필요 없음

 

 

✅ 최종 행 사다리꼴 형태:

  • 0이 아닌 행 2개랭크 = 2
  • 컬럼 스페이스의 차원 = 랭크 = 2
  • 전체 열이 3개였으므로, 널 스페이스 차원 = 3 - 랭크 2 = 1

✅ 결과

  • 랭크 = 2 (0이 아닌 행이 2개)
  • 컬럼 스페이스의 차원 = 2
  • 널 스페이스 차원 = 열 개수 3 - 랭크 2 = 1

🎯 컬럼스페이스의 기저는?

소거 과정에서 살아남은 열은 1열과 2열이야. 따라서

 

 

 

✅ 피벗(Pivot)이란?

피벗이란, 가우스 소거법이나 행 사다리꼴(RREF)로 만들었을 때 각 행에서 처음으로 나오는 0이 아닌 수야.

예를 들어 아래 행렬을 보자:

 

  • 1행에서 첫 번째 0이 아닌 수는 1 → 이건 피벗
  • 2행에서 첫 번째 0이 아닌 수는 3 → 이것도 피벗
  • 3행은 전부 0 → 피벗 없음
  • **세 번째 열(3열)**은 피벗이 없음 → 다른 열들의 선형 결합이라는 뜻
  • 즉, 1열과 2열이 선형 독립이고,
    3열은 그 두 개의 조합으로 만들어진다는 뜻이야.

 

✅ 피벗 열(Pivot Column)이란?

피벗이 위치한 **열(column)**을 말해. 위 예제에서는:

  • 첫 번째 열: 피벗 1 → 피벗 열
  • 두 번째 열: 피벗 3 → 피벗 열
  • 세 번째 열: 피벗 없음 → 피벗 열 아님

 

🔎 왜 중요해?

  • 피벗이 있는 열은 선형 독립
  • 피벗이 없는 열은 다른 열의 선형 결합 (= 의존적)

즉, 피벗 열은 기저 벡터가 되는 열이고,
피벗의 개수 = 랭크 (기저의 개수 = 차원)

 

 

🎯 차이 요약

분야피벗의 의미

선형대수 행의 첫 0이 아닌 항 → 선형 독립성 판단
피벗 테이블 데이터를 요약·회전하여 재구성

 

 

🎯 1. 핵심 요약 먼저

개념뜻의미하는 것
랭크(rank) 선형 독립인 열(또는 행)의 수 컬럼 스페이스의 차원
기저 벡터(basis vectors) 벡터공간을 생성하는 최소 독립 집합 예: 컬럼 스페이스의 기저
컬럼 스페이스(column space) 행렬 A의 모든 열벡터로 생성 가능한 공간 출력 가능한 모든 y 벡터
널 스페이스(null space) Ax = 0을 만족하는 모든 x들의 공간 해가 존재하는 x들의 모임
널리티(nullity) 널 스페이스의 차원 해 공간의 차원 = 자유 변수 수
 

✅ 2. 왜 랭크랑 컬럼 스페이스를 따로 말하나?

  • 랭크는 숫자야. “열 중 선형 독립인 게 몇 개야?”
  • 컬럼 스페이스는 공간이야. “그 선형 독립 열들로 만든 모든 조합 공간”

예시:

A=(123014000)A = \begin{pmatrix} 1 & 2 & 3 \\ 0 & 1 & 4 \\ 0 & 0 & 0 \end{pmatrix}

  • 피벗 열은 1열, 2열 → 이게 기저 벡터
  • 이 벡터들이 만드는 공간이 컬럼 스페이스
  • 그 공간의 차원(= 벡터 개수)이 랭크

즉:

랭크는 컬럼 스페이스의 크기(차원)
기저 벡터는 컬럼 스페이스의 뼈대
컬럼 스페이스는 그 벡터들이 뻗는 전체 공간


✅ 3. 널 스페이스는 왜 나옴?

널 스페이스는 Ax = 0을 만족하는 해들의 집합이야.

  • 예: 어떤 입력 x를 넣었더니 출력이 0벡터가 되는 경우
  • 즉, 입력 x는 의미 없이 사라지는 방향에 있는 거야
  • 이건 해가 존재하는 방향을 의미해 → 굉장히 중요함!

✅ 4. 널리티(nullity)는 그 해의 차원

  • 예를 들어, A가 3×33 \times 3 행렬이고,
  • 랭크가 2라면 → 독립된 출력방향은 2개
  • 그럼 입력 x는 자유롭게 정할 수 있는 방향이 1개 남음

그래서:

랭크+널리티=열의 개수\text{랭크} + \text{널리티} = \text{열의 개수}

→ 이걸 랭크-널리티 정리라고 해!


🎯 정말 쉽게 비유하면

공간실제 의미비유
컬럼 스페이스 출력 y 공간 "말한 걸 전달할 수 있는 영역"
널 스페이스 소리 없이 사라지는 입력 x 공간 "말했는데 아무도 못 들은 영역"
랭크 말이 전달되는 독립 경로 수 "듣는 사람 수"
널리티 소리 없이 사라지는 방향 수 "말해봤자 소용없는 방향"
 

❓그래서 왜 중요할까?

  • 컬럼 스페이스: 우리가 어떤 출력을 낼 수 있느냐의 한계
  • 널 스페이스: 어떤 입력을 해도 아무 결과가 없는가? (→ 시스템이 불안정, 중복)
  • 랭크: 전체 시스템에서 얼마나 독립적으로 의미 있는 정보가 있는가?
728x90
반응형