Python/Machine learning

[머신러닝] 수치미분(미분, 편미분 개념 학습)

ICanDoHee 2022. 3. 4. 15:22

[학습 자료] [머신러닝 강의 09] 머신러닝 수치미분 (I)

https://www.youtube.com/watch?v=PnQe3-6812k&list=PLS8gIc2q83OjStGjdTF2LZtc0vefCAbnX&index=9&ab_channel=NeoWizard 


미분과 편미분

 

머신러닝에서 사용되는 1차함수의 기울기와 y절편을 계산하고, 최적화하기 위해 반드시 필요한 개념

미분에서는 위 5개의 케이스를 알아두자.

편미분(Partial derivative)

 입력변수가 하나 이상인 다변수 함수에서, 미분하고자 하는 변수 하나를 제외한 나머지 변수들은 상수로 취급하고, 해당 변수를 미분하는 것

 

🤔예시)

 체중 함수를 '체중(야식, 운동)'처럼 야식과 운동에 영향을 받는 2변수 함수라고 가정하자. 편미분을 활용하면 야식, 운동 변수의 변화에 따른 체중 변화량을 구할 수 있을 것이다.

 

야식의 양에 변화를 줄 경우 체중의 변화량은 다음과 같이 표현할 수 있을 것이고,

∂체중
-------
∂야식

 

운동의 양에 변화를 줄 경우 체중의 변화량은 다음과 같이 표현할 수 있을 것이다.

∂체중
-------
∂운동

 

연쇄법칙(Chain-rule)

 연쇄법칙을 알아보기 전, 합성함수에 대한 개념을 정립하여야 한다.

 합성함수란, 간단히 말해 여러 함수로 구성된 함수를 의미한다.

 이를 미분하기 위해서는 어떻게 해야할까? 이 때 사용하는 것이 바로 '연쇄법칙'이다. 연쇄법칙은, 합성함수를 구성하는 각 함수의 미분의 곱으로 계산하는 방법이다.

 

 상단 정리노트를 보자. f(x)를 미분하기 위해서는

∂f / ∂x의 식을 (∂f / ∂t) x (∂t / ∂x)로 나타낸다.(약분 개념 활용)

  

이후 (∂f / ∂t)와 (∂t / ∂x)을 각각 미분하여, 결과값을 곱해주는 것이다.

 

 

머신러닝에서 반드시 필요한 미분과 편미분의 개념에 대해 알아보았다. 다음 글에서는 이를 코드로 적용해보도록 하자.

 

 

 

🐾머신러닝09 완🐾