데이터 사이언스에서 미분은 왜 필요할까? (+ 기초 미분 )

cualquier·2022년 4월 3일
0

공부노트

목록 보기
1/11

키워드

- 미분, 편미분, Power rule, Chain rule

Declaration

- 제가 이해한 미분의 기초적인 내용만을 담고 있습니다.
  부족한 내용은 댓글로 알려주시면 감사하겠습니다. 

기초 미분에 대해 내가 알고 있는 내용을 정리해 본다.

솔직히 내 인생에 '미분'이란 단어가 다시 찾아올 줄은 몰랐다. 😂
(딱 나까지 고등학교 문과 수리 교육과정에 미적분이 포함되지 않았다)

하지만 너무 쫄지는 말자.
아는 분이 말씀해주신 것처럼

  • 수학은 내가 보다 나은 분석을 할 수 있도록 '나를 도와주는 존재'이다.

데이터 사이언스에서 미분은 왜 필요할까?

미분은 쉽게 말하면 함수를 작게 쪼개어 나누는 것이다. 도함수라고도 부르며 쉽게 기울기 라고 생각해도 된다.

  • 만약 f(a) = 3a 라면, 기울기 = 3이므로 f(a)의 도함수는 3인 것이다.
  • 좀 더 개념적으로는, x값을 아주 미세~~하게 변화시킬 때 결과값의 변화량(기울기)를 알고자 하는 것이 미분의 목표다.

데이터 사이언스에서 미분은 반드시 알아야할 중요한 개념이라고 한다. 왜 그럴까? 이것부터 짚고 넘어가보자.

우리는 이미 발생한 현상에 대한 단순한 해석을 넘어, 미래를 예측하기 위해 머신러닝, 딥러닝 등 다양한 기술을 활용한다. 이때 가장 중요한 것은 당연하게도, 가능한 정확하게 미래를 예측해내는 일이다.

  • 이런 예측을 위해 만들어 놓은 틀이 모델이며 이 모델의 예측도를 높여 나가는 일련의 작업을 최적화라고 한다. (파라미터를 조정하며 진행)
  • 미분은 이 '최적화'에 있어 필수적인 개념이다.

좀 더 얘기해보면,

  • y = a + bx의 예측 모델을 만들 때, 핵심은 예측값과 관측값 사이의 오차(error)를 최소화하는 파라미터 a, b의 값을 찾는 것이다.
    • 왜냐하면 우리는 이미 수집된 (x, y)의 값들을 알고 있기 때문이다. (지도학습) 가장 좋은 파라미터 값을 찾아 새로운 x가 주어졌을 때 y를 가능한 정확히 예측해내는 것이 우리의 목표이다.
  • 이때 오차 함수(error function)의 개념이 나오는데, 오차를 표현하는 함수라고 보면 된다. (Loss function이라고도 한다)
  • 이때 이 오차함수의 변화율(=기울기)가 0이 되는 부분을 찾아낼 때 미분이 사용된다. (그래야 더 정확한 예측이 가능하니까. 쉽게 생각해 오차가 값에 따라 변화무쌍하게 달라진다면 참 곤란하다.)

실제 활용되는 알고리즘 중 경사하강법이라는 것이 있는데,

  • 이건 임의의 값을 쭉 넣어보면서 기울기가 낮아지는 방향으로 진행해 나가며 최적의 파라미터 a,b를 찾는다. (다음 시간에 다시 다룰 기회가 있으니 이 정도만 이해해도 된다고 한다)

결론

  • 더 정확한 예측을 하는 것이 우리의 목표인데, 이때 오차함수의 기울기가 0에 가까울수록 더 정확한 예측이 가능하다. 이때 미분이 활용된다.

기초 미분

아래 내용을 학습할 때 들은 코멘트 중 하나를 먼저 공유한다.

  • python code를 넣으면 컴퓨터가 알아서 미분은 해주지만, 그래도 어떤 원리로 돌아가는지를 알고 있어야 하기 때문에 아래와 같이 직접 미분 실습을 해본 것이다.

상수는 미분하면 늘 0이다.

  • x를 아무리 줄이거나 늘려도 항상 같은 숫자기이 때문이다. (즉, 변화량이 0이다)

Power Rule

  • f(x) = ax^n 을 미분하면 a*n*x^(n-1)이 된다.

지수함수의 경우 도함수 역시 지수함수이다

  • 참고로 e^-x를 미분하면 -e^-x 이다. 난 이게 헷갈렸었다.

자연 로그의 미분은 n분의 1 해주면 된다

  • 나중에 선형회귀분석이나 신경망 분석의 sigmoid 함수를 미분할 때 자주 사용하니 잘 기억해두고 있어야 한다고 한다.

이 증명까지는 모른다ㅎ

편미분(Partial Derivative)

  • 많은 분석의 경우 여러 개의 파마리터 값을 통해 오차함수가 결정된다. (쉽게 말해 변수가 많다고 이해해도 될 것 같다) 이때 많은 파라미터에 대해 동시에 미분하기는 어려우니, 우선 1개만 남겨두고 나머지는 상수 취급을 하고 미분을 하자~는게 바로 편미분이다. 편미분의 영어 이름을 보면 이해가 쉬울 것이다.
  • x^2 + 2xy + y^2에서 x를 기준으로 미분하면, y를 상수취급하니 2x + 2y가 된다.
  • 상황 예시) 자동차 충돌테스트
    • 차의 무게, 차의 가속도 두 변수가 있다고 했을 때,
      1. 차의 무게는 그대로라고 했을 때 가속도에 변화를 주는 경우 충격은 어떻게 변화할까?
      1. 가속도는 그대로일 때, 차의 무게에 변화를 주는 경우 충격은 어떻게 변화할까?

Chain Rule
합성함수(= 함수 안에 함수가 있을 때) 사용하는 공식이다.

  • 예를 보면 이해가 바로 될 것이다.
    - f(x) = (2x^3 + 7)^6 을 미분하면,
    • 이때 전체를 미분한 것과 안의 값을 미분한 것을 곱한 것이 위 식이다.
    • 6(2x^3 + 7)^5 * 6x^2
      • 전체를 미분한 것이 이해가 안간다면,(2x^3 + 7)를 t로 바꿔보자. t^6을 미분하면 5t^5이고, t에 다시 원래 값을 넣으면 위와 같이 된다.

덧셈 미분
하나씩 미분해서 더하면 된다.

곱셈 미분
[(앞의 것 미분)*(뒤의 것 그대로)] + [(앞의 것 그대로)*(뒤에 것 미분)]

  • 예시) x^2tanx를 미분하면, 2xtanx + x^2sec^2x

기초 미분에 대해 잘 모르겠다면, [이 영상](https://www.youtube.com/watch?v=GX7xxAFfPK4)을 보는 걸 추천한다.
profile
Data Science 공부를 기록합니다.

0개의 댓글