[Coursera]Neural Networks and Deep Learning by deeplearning.ai 2주차-2

염쟁이·2021년 1월 10일
0

Coursera

목록 보기
4/6

Logistic Regression as a Neural Network

Gradient Descent

  • 복습
    비용함수는 파라미터 W, b가 전체 training set에서 얼마나 잘 작동하는지 측정하는 함수

  • gradient descent
    J(W,b)를 최소화하는 값을 찾을 때, training set에서 파라미터가 얼마나 잘 작동하는지 알 수 있다.

    로지스틱 회귀분석에서 parameter의 적합한 값을 찾으려면 W, b를 최초값으로 초기화해야한다. 일반적으로 0으로 초기화시키기도 하지만, 무직위수로 초기화 시키는 방법도 있다.

    기울기 강하를 할 때 처음 시작점에서 시작해서 가장 기울기가 높은 내리막길 방향으로 내려가게된다. 이를 반복해서 최적점에 도달하게 된다.
    비용함수 J인 경우, 어느 방향으로 이동할지 여부를 알아내야한다.
    위의 설명은 파라미터가 W 한가지일 경우 gradient descent이다.

    LR의 경우는 J(W,b)로, W의 값과 b의 값을 계속 업데이트 해주면서 최적값을 찾아가는 과정인 것이다.

Computation graph

신경망의 결과값을 계산하고, 순전파 또는 역전파를 통해 기울기나 derivative를 계산한다. 즉, 일반적으로 생각하는 순 방향으로 계산하는 것은 computation graph방식인 것이다.

Python and Vectorization

Vectorization

  • vectorization
    코딩에서 for loop를 제거하는 기술이다. 좀 더 빠른 연산을 위해 vectorization을 도입한 것이다. LR에서 기울기 강하의 single iteration을 도입하여 vectorize한다.

Broadcasting in Python

다른 크기의 행렬이 있을 때, 파이썬이 행렬의 크기를 맞춰서 연산을 해준다.
A: (m x n) 행렬
B: (1 x n) 행렬 또는 (m x 1) 행렬
연산 모두 가능

profile
Learning by Doing

0개의 댓글