딥러닝
밑바닥부터 시작하는 딥러닝 - 신경망(1)
Leesemo
2021. 10. 12. 22:34
벡터와 행렬
벡터 : 크기와 방향을 가진 양
- 숫자가 일렬로 늘어선 집합
- 1차원 배열로 취급
행렬 : 숫자가 2차원 형태로 늘어선 것
- 벡터와 행렬은 np.array() 메서드로 생성 가능
- 넘파이의 다차원 배열 클래스인 np.ndarray 클래스를 생성
- ndim : 차원 수
- W : 2차원 배열, 2 X 3 행렬
행렬의 원소별 연산
- 피연산자인 다차원 배열들에서 서로 대응하는 원소끼리 연산이 이뤄짐
브로드캐스트
넘파이의 다차원 배열에서는 형상이 다른 배열끼리도 연산 가능
스칼라 값 10이 2 X 2 행렬로 확장된 후에 원소별 연산을 수행
벡터의 내적과 행렬의 곱
- 왼쪽 행렬의 행벡터(가로 방향)와 오른쪽 행렬의 열벡터(세로 방향)의 내적(원소별 곱의 합)으로 계산
- 벡터의 내적과 행렬의 곱 모두에 np.dot()을 사용 가능
- np.dot(x, y)의 인수가 모두 1차원 배열이면 벡터의 내적을 계산하고, 2차원 배열이면 행렬의 곱을 계산
행렬 형상 확인
- 3 X 2 행렬 A와 2 X 4 행렬 B를 곱하여 3 X 4 행렬 C를 만듦
- 행렬 A와 B가 대응하는 차원의 원소 수가 같아야 함
- 결과로 만들어진 행렬 C의 형상은 A의 행 수와 B의 열 수가 됨