Vectorization
Vectorization을 통해 연산 속도를 높일 수 있다.
Representation
세로로 units에 대해서 가로로 training example에 대해서 쌓아서 matrix로 표현하면 된다.
연산
Scalar에 대한 덧셈이나 곱셈은 broadcasting을 통해 수행한다.
Numpy에서는 <pre>*</pre>을 통해 이를 지원한다.
Matrix 간의 곱은 행렬의 곱은 numpy의 <pre>dot</pre> 메소드를 통해 수행할 수 있다.
Pesudo Code
Non-vecotirzed Implementation
for i = 1 to m:
# 1st layer
Z[1][i] = W[1]x[i] + b[1]
a[1][i] = sigmoid(Z[1][i])
# 2nd layer
Z[2][i] = W[2]a[1][i] + b[2]
a[2][i] = sigmoid(Z[2][i])
Vectorized Implementation
# 1st layer
Z[1] = W[1]X + b[1]
A[1] = sigmoid(Z[1])
# 2nd layer
Z[2] = W[2]A[1] + b[2]
A[2] = sigmoid(A[2])
'Computer Science > AL, ML' 카테고리의 다른 글
XOR with Neural Network (0) | 2022.04.20 |
---|---|
Activation Function (0) | 2022.04.10 |
Gradient Descent of Neural Network (0) | 2022.04.09 |
Neural Network (0) | 2022.04.07 |
Logistic Regression (0) | 2022.04.07 |
댓글