프로그래머스 데브 코스/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