딥러닝

밑바닥부터 시작하는 딥러닝 - 신경망(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의 열 수가 됨