[인공지능(AI) 기초 다지기] - 행렬이 뭐에요?

Jeonghwan Kim·2022년 12월 12일
0

부스트코스 강의 인공지능(AI) 기초 다지기 중 '행렬이 뭐에요?'를 정리한 내용이다.

행렬(matrix)

  • 벡터를 원소로 가지는 2차원 배열

  • 행렬은 행(row)과 열(column)이라는 인덱스를 가짐

    • 위치를 표시할 때 행,열 순서로 표시함

    • 행렬의 특정 행(열)을 고정하면 행(열)벡터라 부름

    • 전치행렬: 행과 열의 인덱스가 바뀐 행렬

  • 벡터가 공간에서 한 점을 의미한다면 행렬은 여러 점들을 나타냄

    • 행렬의 행벡터 xi는 i번째 데이터를 의미하고, 행렬 xij는 i번째 데이터의 j번째 변수의 값을 의미함
  • 행렬끼리 같은 모양을 가지면 덧셈과 뺄셈, 성분곱, 스칼라곱을 계산할 수 있음

    • 성분곱은 각 인덱스 위치끼리 곱함
  • 행렬 곱셈(matrix multiplicatioN)은 i번째 행벡터와 j번째 열벡터 사이의 내적을 성분으로 가지는 행렬을 계산함, 행렬의 순서가 중요함

    • X의 열 개수와 Y의 행 개수가 같아야 행렬곱이 가능함

  • numpy의 np.inner는 i번째 행벡터와 j번째 행벡터 사이의 내적을 성분으로 가지는 행렬을 계산함 (수학의 내적과 다름)

  • 행렬은 벡터공간에서 사용되는 연산자(operator)로 이해할 수 있음

    • 행렬곱을 통해 벡터를 다른 차원의 공간으로 보낼 수 있고, 행렬곱을 통해 패턴을 추출할 수 있고 데이터를 압축할 수도 있음
  • 역핼렬: 어떤 행렬 A의 연산을 거꾸로 되돌리는 행렬, 행과 열 숫자가 같고 행렬식(determinant)이 0이 아닌 경우에만 계산 가능

    • 항등행렬: 임의의 벡터 또는 행렬을 곱해주었을 때 자기 자신이 나오는 행렬

    • 만일 역행렬을 계산할 수 없다면 유사역행렬(pseudo-inverse) 또는 무어-펜로즈(Moore-Penrose) 역핼렬을 이용함, 행의 개수와 열의 개수에 따라 계산이 달라짐

  • np.linalg.pinv를 이용해 연립방정식의 해를 구할 수 있음 (유사역행렬 이용)

  • np.linalg.pinv를 이용해 데이터를 선형모델(linear model)로 해석하는 선형회귀식을 찾을 수 있음 (유사역행렬 이용) - L2 노름을 최소화해 구함

0개의 댓글