728x90

Vectorization (C1W2L11)

- 벡터화는 간단하게 코드에서 루프문을 없애주고, 큰 데이터를 학습 시 빠르게 만들어주며 매우 중요함.

 

무엇이 벡터화인가?

- 로지스틱 회귀 z = w^t x + b였으나 w와 b가 하나의 실수가 아니라 여러 개의 실수를 가진 벡터로 사용할 수 있음.

- 벡터로 처리시 루프문 없이 한번에 점곱 연산으로 곱샘 가능.

- CPU, GPU 둘다 병렬 처리 명령어를 가지고 있음.

- numpy는 병렬 처리 계산에 좋은 라이브러리

=> 가능한 루프문을 쓰지 말자

 

 

 

More Vectorization Examples (C1W2L12)

신경망 프로그래밍 가이드라인

- 지난 시간 벡터화를 통해서 루프를 사용하지 않았음. 가능한 루프를 명시적으로 쓰지말자

벡터와 행렬에 대한 함수

- 벡터, 행렬의 모든 원소에다가 지수 연산을 적용시켜보자.

- numpy로 루프문 없이 모든 원소에다가 한번에 할 수 있다.

 

 

 

로지스틱 회귀의 미분 계수를 구하기

- for 문을 제거하기 위해 아래 식의 dw1, dw2를 없에고 dw를 벡터로 만들어 계산하자.

- 이 과정으로 루프문 하나만 제거해도 좋지만 두 루프를 제거하여 더 성능을 높일수가 있었다.

 

 

 

 

 

 

 

300x250

+ Recent posts