본문 바로가기

도함수8

3. 입력 특성이 2개인 선형회귀 구현(이론, 실습) 저번 시간에는 입력 특성이 1개인 단순 선형 회귀를 구현하였다. 이번에는 입력 특성이 2개 혹은 그 이상에도 적용 가능한 선형회귀 구현을 하고자 한다. 사실 매우 쉽다. 조금만 변형해주면 된다. 예를 들어 아래와 같은 입력값과 목표값이 있다. 위 식은 다음과 같은 선형 관계를 가진다. 즉, 위의 선형 관계는 Y = WX + B로 표현할 수 있고 식은 아래와 같다. forward, 오차함수, 도함수(∂L/∂W, ∂L/∂B) 구하는 방법은 변한 것이 없다. 아래 코드를 보면서 변경점만 몇 가지 확인해 보자. (이전 시간 코드 https://toyourlight.tistory.com/12 와 비교하면 더 좋다) import numpy as np import matplotlib.pyplot as plt from.. 2022. 1. 3.
1. 선형회귀 구현하기(이론) (시작하기 앞서 기본적인 수학 이론을 공부해야 한다. 아래 링크를 정주행하는 것을 추천한다. https://toyourlight.tistory.com/category/%ED%8C%8C%EC%9D%B4%EC%8D%AC%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EB%94%A5%EB%9F%AC%EB%8B%9D%EA%B3%BC%20%EC%88%98%ED%95%99 ) → 일단 7. 2차원 행렬을 입력받는 합성함수의 도함수(실습) 까지 보면 된다. 1. 선형회귀 정의 가장 단순한 선형회귀를 표현해 볼 것이다. 예를 들어 X = [1, 2, 3], Y = [3, 5, 7] 의 입력(X)와 출력(Y)가 있을 때 이 둘의 관계를 Y = wx + b로 가정하고 w, b를 구.. 2022. 1. 3.
7. 2차원 행렬을 입력받는 합성함수의 도함수(실습) 저번시간에 입력이 2차원인 합성함수의 도함수를 구하였다. 1. 다시 복습을 해보자. 입력 X, W는 아래와 같다. g(X, W)함수를 아래와 같이 정의한다. σ(X) 함수를 아래와 같이 정의한다. h(X) 함수를 아래와 같이 정의한다. 합성함수 f(X, W) = h(σ(g(X, W)))를 정의한다. 합성함수의 정의와 연산의 결과는 아래와 같다. 이 때 도함수 ∂f/∂X 는 아래와 같이 성립한다고 유도하였다. ∂f/∂W 는 아래와 같다. 이번 실습은 ∂f/∂X 으로 진행한다. 2. 합성함수의 도함수 계산이 맞는지 직접 계산하여 확인해보기 위의 식을 numpy를 이용하여 적은 것이다. f(X, W)는 forward 함수, ∂f/∂X는 backward 함수로 정의하였다. import numpy as np # .. 2021. 12. 31.
6. 2차원 행렬을 입력받는 합성함수의 도함수(이론) 1. 2차원 행렬을 입력받는 합성함수의 정의 입력이 2차원인 경우에는 도함수를 어떻게 구할 수 있을까? 일단 합성함수부터 정의하자. 입력 X, W는 아래와 같다. g(X, W)함수를 아래와 같이 정의한다. σ(X) 함수를 아래와 같이 정의한다. h(X) 함수를 아래와 같이 정의한다. 합성함수 f(X, W) = h(σ(g(X, W)))를 정의한다. 합성함수의 정의와 연산의 결과는 아래와 같다. 딥러닝에서 상당히 유사하게 사용하는 forward 연산이다. g -> σ -> h 정방향 순서대로 연산하여 출력한다. 2. 도함수 구하기 도함수는 체인룰을 사용하여 forward 연산과 반대로 h -> σ -> g 순서대로 구한다. 그래서 backward 연산이다. 우리는 X의 변화에 따른 최종출력 f의 변화가 궁금.. 2021. 12. 31.