일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- Github
- Pattern
- centos
- 자바
- data
- mysql
- DeepLearning
- git
- Security
- Python
- javascript
- SSH
- Deep
- framework
- mariaDB
- java
- Spring
- Numpy
- Analysis
- learning
- Server
- interface
- ai
- Web
- 인공지능
- LIST
- error
- 함수
- db
- Linux
- Today
- Total
PostIT
[AI/Deep Learing] 인공지능을 위한 Deep Learning 준비(다차원 배열의 계산) - 3 본문
[AI/Deep Learing] 인공지능을 위한 Deep Learning 준비(다차원 배열의 계산) - 3
shun10114 2017. 5. 31. 21:03# [AI/Deep Learing] 인공지능을 위한 Deep Learning 준비(다차원 배열의 계산) - 3
이번에는 신경망에서 필요한 다차원 배열에 대해서 알아보겠습니다.
## 다차원 배열
숫자가 한 줄로 늘어선 것이나 직사각형으로 늘어 놓은 것, 3차원으로 늘어놓은 것, N차원으로 나열하는 것을 통틀어 다차원 배열이라고 합니다.
### 1. 다차원 배열을 구현해보겠습니다.
import numpy as np
a = np.array([1,2,3,4])
print(a)
[1 2 3 4]
# 배열의 차원 수 확인하기.
np.ndim(a)
1
# shape는 튜플을 반환
a.shape
(4,)
a.shape[0]
4
b = np.array([[1,2],[3,4],[5,6]])
print(b)
[[1 2]
[3 4]
[5 6]]
np.ndim(b)
2
b.shape
(3, 2)
a = np.array([[1,2],[3,4]])
a.shape
(2, 2)
b = np.array([[5,6],[7,8]])
b.shape
(2, 2)
2차원 배열은 특히 행렬이라고 부르고 가로 방향을 행(row), 세로 방향을 열(column)이라고 합니다.
### 2. 행렬의 내적(행렬 곱)을 구현해보겠습니다.
# 행렬의 내적(행렬 곱) 구하기
np.dot(a,b)
array([[19, 22],
[43, 50]])
a = np.array([[1,2,3],[4,5,6]])
a.shape
(2, 3)
b = np.array([[1,2],[3,4], [5,6]])
b.shape
(3, 2)
# 행렬 a의 1번째 차원의 원소 수(열 수)와 행렬 b의 0번째 차원의 원소 수(행 수)가 같아야 계산이 됩니다.
np.dot(a,b)
array([[22, 28],
[49, 64]])
a = np.array([[1,2],[3,4],[5,6]])
a.shape
(3, 2)
b = np.array([7,8])
b.shape
(2,)
np.dot(a,b)
array([23, 53, 83])
### 3. 신경망의 내적
편향과 활성화 함수를 생략하고 가중치만 갖는 신경망을 구현해보겠습니다.
# 신경망의 내적
x = np.array([1,2])
x.shape
(2,)
w = np.array([[1,3,5],[2,4,6]])
print(w)
[[1 3 5]
[2 4 6]]
w.shape
(2, 3)
y = np.dot(x,w)
print(y)
[ 5 11 17]
# 다음에는 3층 신경망을 구현해보도록 하겠습니다.
## 참고
밑바닥부터 시작하는 딥러닝
'Deep Learning' 카테고리의 다른 글
[AI/Deep Learing] Deep Learning 준비하기 - MNIST Load Data - 5-1 (0) | 2017.06.23 |
---|---|
[AI/Deep Learing] Deep Learning 준비하기 - MNIST DataSet - 5 (0) | 2017.06.23 |
[AI/Deep Learing] Deep Learning 준비하기 - 순방향 3층 신경망 구현 - 4 (0) | 2017.06.23 |
[AI/Deep Learing] 인공지능을 위한 Deep Learning 준비(시그모이드 & ReLU 함수 구현하기) - 2 (0) | 2017.05.31 |
[AI/Deep Learing] 인공지능을 위한 Deep Learning 맛 보기 공부(Perceptron과 신경망) - 1 (0) | 2017.05.24 |