본문 바로가기

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

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

0901

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

선형시스템

'선형시스템'과 선형시스템의 '구성요소'에 대한 학습
# 간단하게 정리

3x + y + z = 4
x + 2y - z = 1
x + y + z = 2

  • 선형방정식(Linear Equations) : 3x + y + z = 4, x + 2y - z = 1, x + y + z = 2
    ~ - 비선형방정식(non-linear equations) : 2차 이상 방정식 ~
  • 미지수(Unknown) or 변수(Variable) : x, y, z
  • 선형시스템(Linear System): 3개의 선형방정식과 3개의 미지수로 구성된 3X3 linear system
Ax = b로 표현하는 방법과 NumPy를 활용한 실습
# 간단하게 정리

3x + y + z = 4
x + 2y - z = 1
x + y + z = 2

  • 계수를 모아 A 행 벡터 형식으로 표현 : A = np.array([[3, 1, 1], [1, 2, -1], [1, 1, 1]])
  • 상수를 모아 b로 표현 : b = np.array([4, 1, 2])
  • 미지수를 모아 X로 표현
  • A X = b
    [3 1 1] [x] [4]
    [1 2 -1] [y] [1]
    [1 1 1] [z] [2]
  • 미지수 X의 값을 얻기 위해 양변에 A의 역수를 곱함
    A_inv = np.linalg.inv(A)
    x = A_inv @ b or x = np.matmul(A_inv, b)

가우스 소거법

선형시스템의 해에 대한 학습
#간단하게 정리
  • 해가 하나인 경우(unique solution) : 3x = 6 #consitent
  • 해가 없는 경우(no solution) : 0x = 6 #특이 #inconsitent
  • 해가 여러 개인 경우(infinitely many solution) : 0x = 0 #특이 #inconsitent