티스토리 뷰

2020/10/15 - [Study/인공지능] - 손실함수, 엔트로피 (인공지능 기초 #7)

 

 

수치미분, 

 

데이터는 학습을 할 때 미분을 통해서 학습을 한다. (sigmoid 함수를 생각을해서 활성화 함수로 잡는 것 )

 

크로스 엔트로피, 평균제곱오차 : 뉴럴네트워크의 성능을 측정 , 사실 정확도가 성능 측정입니다.

 

학습을 할 때에는 정확도를 생각하지않고 크로스엔트로피나 평균제곱오차로 지표를 삼는다. ( 정확도는 계단식으로 1/100, 2/100 이런식이기때문에 학습은 연속적인 형태가 나타나는 크로스 엔트로피나 평군제곱오차로 측정합니다. )

 

미분계수의 정의

h가 0이라는것은 순간적인 시간동안의 변화량을 측정하는 이야기입니다.

 

h가 0은아니고 거의 0에 수렴하는 값에 다가가는 값이라는 이야기인데, 이를 컴퓨터에게 이해시키기에는 힘듭니다.

 

그래서 컴퓨터에게 h를 10^-4 라는 매우 작은 값을 넣어줍니다.

하지만, 분명 미분계수와 h에 10^-4를 넣은 식의 결과는 다를것이다. 그래도 차이가 적다고 생각하고 진행한다고 합니다.

10^-4보다 너무 작은 수로 잡으면, 자료형의 표현 범위에 들어가지 않기때문에 10^-4로 잡는다고합니다.

 

위 등식이 성립합니다. 

 

극한값은 동일합니다. 하지만 h에 10^-4를 넣었을때 좌측의 식보다 우측의 식이 실제 미분계수와 더 가깝게 결과가 나오기때문에 앞으로는 우측의 식에 h =10^-4를 대입하여 사용합니다. 

 

 

위에서 살펴본 미분은 일변수 미분입니다.

 

아래에서는 다변수 방향 미분을 살펴보겠습니다.

 

x+hj 움직인 후 - f(x) 움직이기 전 , 움직일때 순간 변화량

정의는 비슷합니다. 평균변화율을 먼저 생각하고, 극한으로 미분계수를 정리를 하는데, 방향이 추가됩니다.

 

f : 어떤 함수를 x: 어떤 점에서 J 어떤 방향으로 

 

 

각 축에 대한 방향 미분을 편미분이라고 합니다.

 

(변수가 2개면 x,y 두개의 편미분, 변수가 3개면 x,y,z 세개의 편미분)

 

축에 해당하는 변수를 제외하고 나머지는 모두 상수로 취급하고 미분한다.

 

여기서 gradient 개념이 나오게되는데, 각 축으로의 방향 미분을 벡터형태로 묶어 놓은 형태를 gradient라고 합니다.

 

 

 

ex) (2x,2y) 또는 (2x,2y,2z) 즉 각 방향으로의 미분값의 집합

 

 

여기서 gradient만 알면 모든방향의 미분계수를 알 수 있습니다.

 

그레이언트와 방향을 내적한다.

ex) 그레디언트(2x,2y) 일때,  (-2,1) 방향으로의 미분계수 : (-2,1) o (4,2) = -8+2 = -6

 

접평면의 방정식

고등학교때에는 편미분을 하면 변수가 1개이기 때문에 접선의 방정식을 생각하였습니다.

 

여기서는 두개의 변수를 가지고 접평면의 방정식을 생각해보겠습니다.

 

미분계수 자리에 그레디언트가 자리하게되고, (x)-(x0)의 위치에는 (x,y)-(x0,y0)가 자리한다. 마지막 f(x0)가 오는 자리에는 f(x0,y0)가 자리하게됩니다.

 

 

 

여기서 중요한건 그레디언트와 뒤 두 변수를 내적하게되는데, 기존에 미분계수 * x와 같은 의미이다. ( 두개의 변수가 있기 때문에 ) 

 

 

그레디언트는 편미분한걸 벡터형태로 묶어놓은 것 뿐, 본질적으로 1변수 미분만 해도 되기때문에 쉽게 구할 수 있습니다.

 

최대 , 최소 함수와 점은 고정을하고 방향만 변한다고 생각했을 때, 

 

유일한 변수는 그라디언트와 방향

-------------------------------------------------------

함수 f와 점 x는 고정되어 있고 방향의 크기는 1

방향미분계수의 최대, 최소

방향 미분이 가장 커지는 방향은 gradient 방향이고 값은 gradient의 크기

방향 미분이 가장 작아지는 방향은 gradient 반대 방향이고 값은 마이너스 gradient의 크기

방향 미분이 0이 되는 방향은 gradient와 수직인 방향 (cos값이 0)

 

 

---------------------------- 위 식이 딥러닝과 머신러닝에서 많이 쓰이고, 기본이 된다. --------------------------------

 

m.blog.naver.com/ao9364/221631338288

 

등위선(Level curve) 이용하여 최대/최소 문제 쉽게(?) 풀기

들어가기...​간단한 이차함수 최대/최소 문제를 풀어볼까요?​를 만족하는 실수 x, y에 대해서의 최솟값을...

blog.naver.com

함수 f의 등위면과 gradient는 항상 수직이다. 즉 gradient 방향이 가장 빠르게 0에 다가갈 수 있고 -gradient 방향이 가장 빠르게 0에서 벗어날 수 있다. 

 

 

mplot3d 라이브러리를 사용하면 python에서 3차원 그림 그리기 가능 

 

plt.contour < 곡면 그려줌

댓글
최근에 올라온 글
최근에 달린 댓글
250x250