Deep learning8 8. Logistic Regression - 정리 파라미터 w와 b에 대한 비용함수 Cost function \( \mathcal{J}(w,b) \) 는, $$ \mathcal{J}(w,b) = \frac{1}{m} \sum_{i=1}^{m} \mathcal{L}(a^{(i)}, y^{(i)}) $$ 전편에서 \( \frac{dL}{dw} \) 를 계산하는 법을 알았으니, 양변에 \( \frac{d}{dw} \)를 씌우면 된다 $$ \frac{d}{dw} \mathcal{J} = \frac{1}{m} \sum_{i=1}^{m} \frac{d}{dw} \mathcal{L}(a^{(i)}, y^{(i)}) $$ i=1부터 m까지 계산한다; $$ J=0; \ \ dw=0;\ \ db=0 $$ $$ z^{i} = wx^{i}+b $$ $$ a^{i} .. Deep learning 2022. 1. 3. 7. backpropagation 개념 1. 로스함수를 a로 미분한 값, \(\frac{dL}{da}\) 구하기 간단한 예제로 backward propagation이 작동하는 원리에 대해서 정리해보자 주어진 이미지 데이터 x에 대해 고양이인지 아닌지 1, 0으로 판단하는 모델에 대해서 얘기해보자 즉 이 데이터는 인풋 x와 레이블 y 페어로 (x, y) 이루어져있다고 하자 예측모델의 결과값은 \( 0 \le \hat{y} \le 1\)이고, 편의상 \( \hat{y} = a \)라고 하자 먼저 두개의 파라미터 w, b를 써서 회귀모델의 방정식을 z = wx + b로 놓고 아웃풋을 확률값으로 맞추기 위해 logistic function을 적용한다 $$ \sigma (z) = \sigma (wx+b) $$ 이때 logistic function은 \.. Deep learning 2021. 12. 24. 6. L-p Norm, 노름 Norm 은 벡터의 길이, 크기를 판단하는 데 쓰인다 \( L_p \) norm을 기본형으로, \(L1, L2, L_{\infty}\)까지 정리해보자 우선 \( L_p \)부터 보면 $$ L_p = ( \sum_i^n |x_i|^p)^{1/p} $$ p는 Norm의 차수, p=1일 때 L1 norm, p=2일 때 L2 norm n은 벡터의 차원 수 먼저 가장 자주 쓰이고 쉽게 이해할 수 있는 L2 norm부터 보면 $$ L_2 = \sqrt{x_1^2+x_2^2+\cdots+x_n^2} $$ 그냥 얘는 우리가 아는 n차원에서 벡터의 길이를 계산하는 공식이다 그러니까 \( \mathbb{R}^3 \)차원 유클리드 공간에서 \( v = (v_1, v_2, v_3)\) 일 때, \( ||v|| = \sqrt{.. Deep learning 2021. 12. 21. 5. Chain Rule 딥러닝을 공부하기 위해서는 최소한의 미적분학이 필요하다 그 중, 합성함수를 미분할 때 쓰는 체인룰에 대해 정리해보자 합성함수 \( f(g(x)) \) 에 대한 미분은, 바깥 함수를 미분한 것에 안쪽 함수를 미분하여 곱하면 된다 연산결과는 \( f'(g(x)) * g'(x) \) 가 나오는데, 아래와 같이 보면 chain rule 의미를 이해하기 더 쉽다 $$ \frac{df}{dx} = \frac{df}{dg} \cdot \frac{dg}{dx} $$ 3개 합성함수의 경우에도 마찬가지 \( f(g(h(x))) \)를 미분하면, \( f'g(h(x))) * g'(h(x)) * h'(x) \)가 되고 아래처럼 표기할 수 있다 $$ \frac{df}{dx} = \frac{df}{dg} \cdot \frac{d.. Deep learning 2021. 12. 19. 4. 경사하강법, Gradient Descent 기하학적 의미부터 이해하자 그림이 이쁘지 않지만,, 해당 함수는 모델의 비용함수 \( \mathcal{J}(w,b) \)를 나타낸다고 하자 파라미터 w와 b를 Random initialization한다고 할 때, 초기화된 (w, b)는 A~E중 어느 곳에서나 시작할 수 있다 목표는 비용함수를 최소로 하는 파라미터페어 (w, b)를 구하는 것이고, 이 과정에서 경사하강법, Gradient Descent를 적용할 수 있다 초기화된 파라미터 (w, b)가 B라고 하자 B(w, b)점에서의 비용함수 \( \mathcal{J}(w,b) \) 를 미분한다 기울기는 양수가 나올 것인데, 기울기의 반대 방향으로 움직여 비용함수가 converge하는 E점으로 파라미터를 이동시키는 개념이다 Gradient Descent는.. Deep learning 2021. 12. 18. 3. Cost Function - 전편에서 예측값과 실제값의 차이를 계산하는 손실함수 Loss function에 대해서 공부했다 이 Loss function은 사실, 한 개의 데이터에 대해 예측값과 실제값 차를 계산하는 함수다 Cost Function은, 전체 데이터셋에 대해서 이 로스값을 계산한다고 이해할 수 있다 $$ (x^{(1)}, y^{(1)}), ..., (x^{(m)}, y^{(m)}) $$ 여기 m개의 \((x,y)\)샘플이 있고, 모든 샘플에 대해 \( \hat{y}^{(i)} \approx y^{(i)}\)를 계산하는 식을 써보면 아래와 같다 $$ \mathcal{J} (w,b) = \frac{1}{m} \sum^m_{i=1} \mathcal{L} ( \hat{y}^{(i)}, y^{(i)} ) $$ 파라미터 w와 .. Deep learning 2021. 12. 17. 2. Loss Function 이번엔 Loss(Error) Function에 대해서 공부해보겠다 우리말로는 손실함수라 불린다 우리 알고리즘 결과값 \( \hat{y} \)이 실제값 y와 얼마나 차이가 나는지를 계산하는데 쓰인다 즉 이 값이 작을수록 모델이 더 실제값에 가깝게 예측한다는 뜻으로 해석할 수 있다 로스함수니까 아래와 같이 표기해보자 (y hat 표기의 번거로움으로 a로 쓰기도 한다) $$ \mathcal{L} ( \hat{y}, y) = \mathcal{L} ( a, y)$$ 손실함수를 계산하는 목적은 정말 예측값과 실제값의 차이를 구하기 위해서이므로, 스퀘어루트 \( \sqrt{ (\hat{y} - y})^2 \) 따위를 계산해서 써도 괜찮아 보이지만 딥러닝에서는 이 손실함수를 계산할 때 조금 특별한 식을 쓴다 $$ \m.. Deep learning 2021. 12. 17. 1. deep learning intro: 용어 정리 Study 1. 시그모이드 함수 딥러닝을 공부하다 보면 시그모이드 함수가 굉장히 많이 등장하는데, 꽤 오랫동안 \(\sigma(x) = \frac{1}{1+e^{-x}}\)만이 시그모이드 함수라고 알고있었다 그런데 시그모이드 함수가 어떤 특정 함수 한개를 가리키는 말이 아니더라 S자형 곡선을 가진 함수를 시그모이드 함수라 한다 다른 Sigmoid 함수의 예로는 tanh (하이퍼볼릭 탄젠트) 등이 있다 \(tanh(x) = \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}\) Study 2. Logistic 함수 시그모이드 함수의 한 종류로, 흔히 알고있는 \(f(x) = \frac{1}{1+e^{-x}}\)이 함수가 Logistic 함수이다 Study 3. Regression \(\ha.. Deep learning 2021. 12. 17. 이전 1 다음