- 행렬의 개념과 연산, 그리고 벡터공간에서 가지는 의미를 설명
연립방정식
풀기와선형회귀분석
에 응용하는 방법을 소개- 벡터의 확장된 개념인 행렬은 행(row)벡터를 원소로 가지는 2차원 배열로 벡터와 다르게 계산되는 연산들에 주의
- 행렬연산은 딥러닝에서 가장 핵심적인 연산이라고 볼 수 있을만큼 중요하고 자주 사용되기 때문에,
행렬 연산의 메커니즘
, 그리고 이 때 가지는기하학적 의미
와ML에서 어떻게 사용
되는지를 충분히 이해
i
번째행벡터
에 있는j
번째원소
전치행렬 (tranpose matrix)
→T기호
를 붙여서 표기
- 열을 행으로, 행을 열로 교환!
- 행렬의우측 상단
과 교환
행렬은 간단하게 데이터들의 모임이구나라는 개념으로!
인덱스 위치
에 따른 곱을 볼 수 있음
- 순서를 바꾸면 다른 결과가 나옴 (순서 중요)
- 행 개수와 열 개수가 같아야 함
- numpy에서
@
연산 사용
np.inner
는i번째 행벡터
와j번째 행벡터
사이의내적
을 성분으로 가지는 행렬을 계산
- 곱과는 다르게, x의 행개수와 y의 행개수가 같아야 함!
linear transform (선형변환)
: 기계학습 시 많이 사용
역행렬
: 연산을 거꾸로 되돌리는 행렬,행과 열 숫자가 같아
야하고 행렬식이0이 아니여야
만 함
- 행과 열의 숫자가 같아야 하고, 행렬식이 0이 아니어야 하는데 이 조건을 만족시키기 어려움
유사역행렬
: 행과 열의숫자가 달라도
계산 가능 (+)기호 사용
- 행의 개수 열의 개수에 따라 계산
- 기능이 다르므로 주의해야하는데 유사역행렬을 이용할 때, 행이 열보다 많으면 유사역행렬은 원래 행렬보다 더 먼저 곱해줘야
항등행렬
이 나옴
무어펜로즈 역행렬
- 어떤 실수행렬에 대해서 다음과 같이 4가지 조건을 만족하는 행렬 를 무어-펜로즈(Moore-Penrose) 역행렬이라고 함
- 코드예시
변수의 개수
= 식의 개수 해를 구할 수 있는데,
만약변수의 개수 > 식의 개수
식을 만족하면,변수의 개수가 많아지므로 해가 무한히 많다
(부정)
a = 개수, x1~xm = 해(solution)
- 해가 무한하므로,
무어펜로즈 역행렬
을 이용해해를 하나만
구함
변수의 개수 < 식의 개수
→ 선형회귀분석 (유사역행렬 이용)
- 사이킷런 (sklearn)