Goorm : AI 기술 자연어 처리 전문가 양성 과정 3기 강의
( 비슷한 강의 :인공지능을 위한 선형대수 )
를 바탕으로 공부한 내용을 요약한 포스팅입니다.
<키워드>
부분공간(Subspace)
기저(Basis)와 차원(Dimension)
계수(Rank)
부분공간(Subspace)
Span과 유사한 개념
- subset(부분집합)의 곱셈이 닫혀있다 = 유한의 집합이 있을 때 두 개의 요소를 뽑아 곱한 결과가 항상 집합에 있는 경우를 곱셈이 닫혀있다고 표현
- subspace : 3차원 공간의 전체집합 R3이 있을 때 이 전체 집합의 부분집합이며 선형 조합이 닫혀있음
- subspace의 조건
- 벡터들의 부분집합이 있을 때 이 집합이 선형 결합이 닫혀있다 (두 개의 벡터를 뽑아서 선형 결합을 만들었을 때 집합에 들어가 있는 경우)
- 어떤 선형 결합을 해도(= 어떤 가중치를 사용해도) 다 포함되어있어야 하기 때문에 span과 유사함
- 재료 벡터를 가지고 연쇄적으로 입력의 출력이 또 입력으로 사용될 수 있음
- subspace는 재료 벡터의 span으로 항상 표현 가능
기저(Basis)
subspace에 요소 중 하나 basis
basis란
- 어떤 subspace에서 fully Span 하는 벡터들
- 선형 독립
subspace가 주어져있을 때(=선형 결합 닫혀있음) 그 공간 울 모두 커버할 수 있는 벡터를 기저 벡터라고 함
기저 벡터는 유니크할까?
기저 벡터는 유니크하지 않음
앞에서는 기저 벡터가 주어지고 span 하는 방법을 알아봤다면
지금은 span을 보고 기저 벡터를 알아볼 것
그림에서 v1과 v2도 기저 벡터가 되어 x를 만들 수 있지만 다른 벡터들로도 subspace를 커버 가능하기 때문
기저 벡터가 달라지면 subspace과 주어진 점은 똑같지만 가중치 값이 달라져서 또 다른 계수로 표현 가능
차원(Dimension)
dimension이란 subspace가 주어져있을 때 그 기저 벡터의 개수
기저 벡터가 바뀌더라도 개수는 같음
만약 3차원 벡터가 있으면 3차원 전체 공간도 subspace임
3차원 공간에서 가장 간단한 기저 벡터는 [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
축별로 길이가 1이고 수직인 기저 벡터
기저 벡터가 바뀌면 같은 점을 나타내는 경우더라도 가중치(계수 값)가 달라짐
[1,2,3]을 표현하려면 1* [1, 0, 0] 2*[0, 1, 0] 3* [0, 0, 1]
이런 형태로 선형 결합으로 모두 표현 가능
Column spase
매트릭스가 주어졌을 때 컬이 많은 경우 재료 벡터로 사용되어서 선형 결합 계수로 생각했었는데
Column spase : column들이 span 하는 subspace
어떤 행렬이 주어졌을 때 Column space 칼럼들의 span이 subspace를 만족
선형 의존인 column이 있는 경우
세 번째 column이 첫 두 개 column의 합으로 이루어진 행렬이 있을 때
-> 첫 번째 열과 두 번째 열을 를 span 한 것과 세 번째 span을 한 결과가 같음
따라서 세 개의 column space도 두 개의 칼럼 스페이스로 표현 가능
계수(Rank)
행렬의 랭크란?
랭크의 정의 :
dimension (basis의 개수) x Column space (column들이 span 하는 subspace)
예) 어떠한 행렬(column 개수는 feature의 개수)의 4개의 column 스팬이 1개의 column span과 같을 때
- 행렬은 크지만 랭크가 작음
- 선형 의존인 column을 많이 가짐
- column이 많아 보여도 하나의 column에서 알 수 있는 정보들이기 때문에 선형 모델들에서 선형 의존인 feature들이 도움을 주지 않음
- 한 feature의 값에 영향을 많이 받게 되어 오버 피팅이 일어나기 쉬움
- 선형 의존 column이 있는 경우에도 방지하는 기법이 있음