linearity

mjdevv·2024년 2월 2일
0

the concept of linear..ity(?) sketch..

선형성의 equation 표현은 아래와 같다.

Ax+B=yAx+B=y

  1. equation이니까 y와 x의 동치 관계를 표현한 수식이고
  2. x는 domain set, y는 range set으로
  3. 각 집합은 각 집합의 interest가 되는 대상들을 포함하고
  4. 둘의 관계가 x에 unary operator가 적용 되지 않은 형태로 표현된 것

그렇다면 x에 unary operator가 포함되지 않았다는 건 어떤 의미일까? y와 x의 관계가 상수 A와 B만으로 완전하게 표현됨을 뜻한다. 즉, 두 집합의 관계를 알고 싶으면 상수 A와 B의 정보만 보면 된다는 것.

상수 A,B는 물리학에서는 계수와 같은 정보가 되고, 계수는 보통 unit을 변환하는 변환계수 등의 의미를 가지게 된다.

덧붙여 unary operator가 들어가면 이 unary operator에 대한 풀이를 어떻게 해야 하는지에 대한 부가적인 정보가 더 필요하다. 즉, 해를 찾기 더 어려워진다.

단순히 생각해보면 뭔가 해야될 게 늘어나면 어려워지고, 없앨 수록 쉬워진다. 방정식도 마찬가지. operator에 해당하는 심볼을 날릴 수록 쉬워진다. 안 해도 되니까.


여튼 선형방정식은 Y=AX+B 꼴로 표현 가능한데, X나 Y는 데이터 셋에 해당하는 집합이 될 수 있고, 데이터는 현실에 대한 어떤 정보를 표현할 수 있기 때문에, 어떤 두 현실의 정보 간의 관계를 A와 B라는 상수만 바라보면서 정성적으로, 그리고 정량적으로 이해할 수 있게 된다.

물론 자연계의 현상을 선형적으로 완벽하게 스냅샷처럼 찍어내는 것은 불가능에 가깝다. 하지만 일단 해는 구할 수 있다는 점, 그래서 근사치를 구하는 모델이자 방법론으로써 선대는 훌륭한 가치를 지닌다.

많은 경우에서 비선형 구조를 가진 시스템은 일단 선형적 구조를 가진 선대 형태로 구조를 바꿔 근사해를 구할 수 있게 된다.


행렬과 선형변환

행렬은 linear transformation과 동치이다.

선형대수학의 기본정리는 아래와 같다.

  1. scalar multiplication, vector addition 등의 연산이 잘 정의된 두 벡터공간이 있고
  2. 그 두 벡터공간 사이에 각 집합 내의 대수적 구조가 보존되는 mapping(one-to-one이 아니어도 됨)이 존재하여 그 mapping을 T라고 했을 때
  3. mapping T와 동치인 mxn 행렬이 존재한다.

위의 해석대로 선형대수의 행렬을 해석해보면 아래와 같이 이해해볼 수 있다.

  1. 두 벡터공간 사이의 관계를
  2. 상수만으로 표현하는데
  3. 그 상수가 행렬이 된다.

그래서 왜 행렬으로 표현할까? 사실 별 이유는 없다. 아니, 제일 중요한 이유가 있다. 계산이 쉽기 때문이다. 행렬에 따라 붙는 게 행렬의 연산인데, 선형변환 T로만 표현한다고 생각해보자. 그냥 함수만 있고 어떻게 계산하는지에 대한 연산(알고리즘)에 대한 내용이 없다.

여기에 연산에 대한 내용을 추가한 게 행렬인 것. 두 집합 사이에 선형적인 연결 T가 있다는 건 알겠는데, 그걸 쉽게 풀리는 형태로 만들기 위해 나온 게 행렬이고, 그 둘이 똑같다는 걸 수학적으로 증명한 것이 선형대수학의 기본정리이다.

선형대수학의 기본정리 덕분에 우리는 선형변환의 문제를 기계적인 행렬 계산 문제로 바꿔서 풀 수 있는 것이다.

선형변환 T -> 선형대수학의 기본정리 -> 행렬

그래서 행렬로 표현하면 뭐다? 풀리는 형태로 문제를 바꿨고 계산이 쉽다..


벡터공간의 선형성 vs 위에서 대충 끄적인 선형의 개념

자, 이제 위에서 알아본 선형의 개념에 대한 일반적인 스케치벡터 공간의 선형 변환에서 말하는 선형성을 비교해보자. 벡터공간에 대한 정의는 링크로 갈음하겠다. 위에 스케치에서 적어 놓은 건 일반적으로 선형 하면 R2R^2 위에서 직선을 떠올리기 때문에 거기서 부터 출발하려고 선형에 대한 개념을 나름대로 적어 놓았다.

이제 공간에 대한 여러 성질을 구체화 해서 벡터공간을 만들었다고 생각해보자. 또로롱. 벡터 공간이 만들어졌다. 이제 R2R^2 위에서 우리가 일반적으로 생각하는 선형 함수와 벡터 공간 위에서의 선형변환을 비교해보자.

선형변환의 linearity에 대한 정의를 보면, 선대를 미리 학습한 사람들에게 익숙한 superposition에 대한 내용이 나온다.

t(ax+by)=at(x)+bt(y)t(ax+by) = at(x)+bt(y)

위의 꼴로 표현이 가능한데, x는 vector space에 속한 임의의 벡터가 된다. 그리고 선형대수학의 기본정리에 의해 y는 A라는 linear transformation과 동치인 계산이 쉬운 행렬로 갈아 끼울 수 있다.

A(ax+by)=aA(x)+bA(y)A(ax+by) = aA(x)+bA(y) where A is a matrix

이제 우리가 익히 아는 R2R^2 실수 집합 위에서의 선형 함수와 벡터공간 위에서의 선형성을 비교해보자. 아래 수식은 R2R^2 실수 집합 위에서의 선형 함수를 위의 벡터공간에서의 linearity의 정의와 비교한 수식이다[2].

f(x)=ax+bf(x)=ax+b
f(u+v)=a(u+v)+b=au+av+b=f(u)+f(v)bf(u)+f(v)f(u+v)=a(u+v)+b=au+av+b=f(u)+f(v)−b≠f(u)+f(v)

두 정의가 일치하지 않는 이유는 ax+b에서의 상수 b 때문이고, 벡터 공간에서의 선형변환은 상수 b를 허용 안 하는 제약이 추가적으로 들어가게 된다. 왜 일까? 이유는 아래와 같다.

선형변환은 벡터공간의 대수적 구조를 보존하는 변환이다.

변환을 적용하는 domain 벡터 스페이스 V에서는 u+v=wu+v=w라는 연산이 성립한다. 여기서 부터 출발해보자.

  1. u+v=wu+v=w
  2. t(u)=u+bt(u)=u'+b (실수의 선형 함수와 비슷한 꼴이라면)
  3. t(u)+t(v)=u+v+2bt(u)+t(v)= u'+v'+ 2b
  4. u+v+2bu+vu'+v'+ 2b \ne u'+v'

도착지 codomain 벡터 스페이스 W에서 대수적 구조가 보존이 안 된다. 그래서 공간을 translation 하는 상수를 없애버린 것. 이제 잠시 대수적 구조가 보존 되는 아름다운 선형변환을 감상해보자.


선대의 세부적인 내용들은 많이 까먹었는데 업데이트 해봐야지..


REFERENCE

[1] https://namu.wiki/w/%EC%84%A0%ED%98%95%EB%8C%80%EC%88%98%ED%95%99%EC%9D%98%20%EA%B8%B0%EB%B3%B8%EC%A0%95%EB%A6%AC

[2] https://math.stackexchange.com/questions/1912970/intutive-difference-between-linear-map-transformation-vs-linear-function

profile
방구석 언어기술자

0개의 댓글

관련 채용 정보