Coding/TIL (Today I Learned)

[2021.10.08] 딥러닝 강좌 2주차 프로그래밍 과제 전.

폴밴 2021. 10. 8. 15:14

Coursera의 딥러닝 강좌 2주차를 들었다. 강의는 모두 듣고 programming assignment 하나만 남겨두고 있다.

과제는 2주차에서 배운 딥러닝 계산 과정을 이용해 파이썬으로 구현하는 과정인데,

이전 머신러닝에서 matlab을 통해 과제를 했던 경험을 떠올리면 쉽지 않을 것으로 예상된다.

Linear Regression 내용을 복습해야겠다.


1. Vectorization을 통해 for-loop을 줄여 효율적인 코드를 작성할 수 있다.

2. 파라미터 b, w를 matrix로 나타내면 여러개의 feature를 하나의 변수에 저장할 수 있고, 계산도 용이하다.

3. input X와 이에따른 z = w^T * X + b 를 벡터화하면 여러개의 training examples (m)에 대해 연산이 용이하게 나타낼 수 있으며, python의 broadcasting을 이용할 수 있다.

4. 파이썬에 import numpy를 통해 행렬 연산을 유용하게 하고 딥러닝에 필요한 연산들을 할 수 있다.

5. python broadcasting을 통해 연산을 할 수 있다.

6. np.exp(x)는 exponential funtion을 구해준다.

7. 수학에서는 곱셈 연산자(*)를 생략하기도 하지만, 파이썬에서는 생략할 수 없다. 

8. x.shape는 matrix의 차원(dimension)을 구하고, x.reshape(m, n)은 행렬을 다른 차원(m*n)으로 바꾼다.

9. np.linalg.norm(x, axis = 1, keepdims = True)는 행 또는 열 기준으로 일반화시킨다. axis = 1 이면 row 기준, axis = 0이면 column 기준이다. keepdims = True는 차원을 유지한다.

10. np.sum(x, axis = 1, keepdims = True) 는 row 또는 column 기준으로 합을 구해준다.

11. np.abs(x)는 절댓값을 구해준다.


딥러닝 내용을 복습하고 프로그래밍 과제를 준비하자!