프로그래머스 데브 코스/TIL

[6기] 프로그래머스 인공지능 데브코스 2일차 TIL

nicks 2023. 9. 2. 17:54

0902

2주차-Day5) 인공지능 수학

가우스 소거법 Gauss elimination

임의의 m x n '선형시스템의 해를 구하는 가장 대표적인 방법'
# 간단하게 정리
  • 전방 소거법(Forward elimination) : 주어진 선형시스템을 아래로 갈수록 더 단순한 형태의 선형 방정식을 갖도록 변형
  • 후방 대입법(Back-substitution) : 아래에서부터 위로 미지수를 실제값으로 대체
'기본행 연산(EROs, Elementary Row Opweations)'
# 간단하게 정리
  • 치환(Replacement) : rj <- rj - m ri
  • 교환(Interchange) : rj <-> ri
  • 스케일링(Scaling) : rj <- s rj

 

LU 분해

주어진 행렬을 '행렬 분해 상태'로 가지고 있으면 여러모로 계산이 편함
#간단하게 정리
  • L (Lower triangular matrix, 하삼각행렬)
  • U (Upper triangular matrix,상삼각행렬)

  • 전방대치법(Forward-substitution)
  • 후방대치법(Back-substitution)
  • LU 분해의 활용(Ax = b)
    1. 수치적 안정성
    2. b가 자주 업데이트되는 경우

'행렬연산'과 '선형조합'
#간단하게 정리
  • 행렬
  • 요소 : 각 숫자들
  • 행 : 가로
  • 열 : 세로

  • 행 벡터 : 1 x n 행렬
  • 열 벡터 : m x 1 행렬
  • 전치행렬(Transpose Matrix) : 모든 행과 열을 바꾼 행렬

  • 정방행렬(Square Matrix) : 행과 열의 개수가 모두 n인 행렬
    특히 aii를 main diagonal(주대각선)이라고 함

  • 행렬곱
    A의 i번째 행 벡터와 B의 j번째 열 벡터의 내적

  • 분할행렬(Partitioned Matrix) : 행렬을 조각 단위로 분할

  • 선형조합(Linear Combination) : 행렬은 열 벡터의 리스트로 m x n 행렬은 m-벡터가 n 개 있다고 해석

 

 

좌표계 변환

'좌표계'와 '좌표계 변환'
#간단하게 정리
  • 좌표계 : 고정 좌표축이 아닌 기저벡터를 사용하여 규정
  • 좌표계 변환(change if Basis) : 표준좌표계에서의 좌표값 <-> 주어진 벡터를 기저 벡터로 가지는 좌표계에서의 좌표값
  • 정리 : 행렬은 좌표계, 벡터는 좌표값

 

 

선형변환

'선형함수'와 '행렬/선형 변환'
#간단하게 정리
  • 선형함수(Linear Function) : 함수 f가 아래 두 조건 만족하면 선형 함수, 그래프 그렸을 때 평면에서 직선 형태
    f(x+y) = f(x) + f(y)
    f(x) = c f(x) (단, c는 임의의 스칼라)
  • 행렬 변환(Matrix Transformation) : 다음과 같은 선형 함수 성질 모두 만족하기 때문에 선형 변환임
    Ta(x+y) = Ta(x) + Ta(y)
    Ta(cx) = cTa(x) (단, x, y는 R^n이고, c는 임의의 스칼라)

사진 출처: http://www.ktword.co.kr/test/view/view.php?m_temp1=5053