

각 데이터 점들을 plot하여 나타내보자.
아래처럼 놓여진 데이터들의 관계를 설명하는 선형 분류 문제를 풀고자, 다양한 직선들을 estimation하는 과정을 거친다.
이 때, 모든 데이터 분포를 일반화하여 잘 설명할 수 있는 하나의 직선을 찾는 것이 machine learning의 동작 원리다.



예를 들어, 외계인의 언어가 다음과 같이 단어의 등장 횟수를 표로 정리할 수 있고 그 때의 기분이 두 분류로 나뉜다고 해보자.

만약 아래와 같이 직선을 예측했다면 완벽하게 training되었다고 볼 수 없다.



Model을 training하기 위해 필요한 개념을 아래에 정리하였다.


만약, 시간 단위를 아래 table과 같이 쪼개서 시간에 따른 거리 정보를 기록했다고 해보자.

정답은 No다.
10-15초 간격의 거리 변화와 15-20초 간격의 거리 변화가 다르기 때문이다.


정답은 No다.
아래의 정보만 가지고서는 12.5초일 때의 정확한 speed를 결정지을 수 없다.

Slope란 두 지점의 평균 속도를 의미한다.

만약, 시간의 범위가 조금 더 촘촘하여 12초와 13초에서의 움직임 거리를 알 수 있다면 어떨까?

아래와 같은 방식으로 12.5초의 순간 Slope를 estimation한다.

아래와 같이 12.5초일 때의 속도를 구하는 과정을 살펴보자.

두 점 사이의 거리를 좁혀보면 slope(기울기)가 조금 더 변화된 것을 알 수 있다.



결론적으로 12.5초에서의 순간 속력을 구하기 위해서는

"The Slope of the tangent at the particular point"

아래와 같이 19초와 20초 distance가 변하지 않는 table이 주어졌다고 해보자.



정답은 Slope가 horizontal한 모든 지점이다.


놀랍게도 slope가 0이었던 지점 중에 maximum point가 존재한다.


변수와 변수로 바꾸어 적용하면 로 표현할 수 있게 된다.

미분에 대한 수식을 표현하는 방법이 아래와 같이 두 가지가 있다.
Lagrange's notation :
Leibniz's notation :

Constant 함수의 derivative는 0이다.


함수의 derivative는 얼마일까?


를 더한 만큼의 변화량이 추가되어 좌표로 표현되었기 때문에

이번에는 2차 함수의 derivative을 살펴보자.

가 1인 slope를 구하면


를 1/2로 범위를 줄이면


를 1/4로 범위를 더욱 줄이면


계속해서 를 줄여가며 derivative를 계산하면 점점 2에 수렴하게 되는 것을 알 수 있다.


을 만족한다면 derivative 최종 수식은 로만 정리된다.

이제 고차원 다항 함수의 derivative를 구해보자.

가 1인 slope를 구하면


를 1/2로 범위를 줄이면


의 범위를 한없이 줄이면


을 만족한다면 derivative 최종 수식은 로만 정리된다.


가 1인 slope를 구하면


를 1/2로 범위를 줄이면


의 범위를 한없이 줄이면

을 만족한다면 derivative 최종 수식은 로만 정리된다.


그러므로 다음과 같이 derivative 수식을 일반화할 수 있다.

Inverse란 했던 일을 다시 되돌리는 것을 말한다.

함수에 값을 집어 넣어보자.
각각의 값을 좌표로 확인해보면, 와 의 값이 서로 바뀌어 있는 관계의 함수라는 것을 알 수 있다.

각 함수의 미분 또한 대칭 관계다.

함수의 derivative는 로, 함수의 derivative는 로 정리된다.

(1, 1)의 점을 대입해보자.
에 을 대입하면
에 를 대입하여

(2, 4)의 점을 대입해보자.
에 을 대입하면
에 를 대입하여

이번에는 , 함수를 미분해보자.
의 값에 따른 slope of 과 의 값을 비교해보면 놀랍게도 같다.
의 미분이 라는 것을 알 수 있다.

마찬가지로, slope of 과 는 모든 지점에서 같은 값을 가진다.
의 미분이 라는 것을 알 수 있다.

, 의 미분 수식이 어떻게 정리될 수 있었는지를 살펴 보자.
다음 그림과 같은 원형 좌표계에서는 가 특정 어떤 각도일 때, 와 는 x축 projection, y축 projection 좌표이다.

만큼의 각도를 더 움직였다고 해보자.
이 때, 기존 x 좌표는 줄어들고 y 좌표는 커짐을 알 수 있다.

삼각형 모양을 가져와 보자.
직각 삼각형의 윗 각도를 라고 할 때, 와 는 다음과 같이 정리된다.

이제 원의 반지름이 1이고, 가 매우 작은 범위에 있다고 가정해보자.
자리가 로 근사되어, 위에서의 빗변 가 가 된다.

따라서 정리하면 다음과 같다.

는 식이 이 무한대로 보내졌을 때, 2.718...의 값으로 수렴하는 상수다.

당신이 $1를 가지고 있다고 해보자.
Bank1은 1년에 100%의 이자를 주겠다고 하며
Bank2는 6개월에 50%, Bank3는 4개월에 33.3%의 이자를 주겠다고 한다.
어느 은행에 넣어야 이자를 더 많이 받을 수 있을까?

Bank1에 $1를 넣으면 1년 뒤에는 의 이자를 받는다.

Bank3에 $1를 넣으면 1년 뒤에는 의 이자를 받는다.
"Your money is making your money."

일종의 "복리의 마법"이다.

일반적인 수식으로 정리하면 money + interest다.
money : + interest :
원금 1에 의 이자를 더한 값을 n제곱배 해주기 때문이다.


무수히 많은 은행에다가 원금 $1을 예치했다고 해보자.

정답은 다.
이 숫자는 2.718...에 수렴한다고 하며, 기호로는 라고 쓴다.


의 derivative는 다.



가 1/1000로 매우 작다고 가정하여 slope를 구해보자.

함수는 와 어떤 관계를 가지는지 알아보자.
의 거듭 제곱에 값을 올리면 x가 나온다.

와 함수 그래프를 살펴보자.


함수의 미분을 로부터 유도해보자.

Differentiable 함수와 Non-differentiable 함수를 구별해보자.
아래와 같은 function은 구간 내에 정의된 "interval"한 모든 지점에서 미분 가능하다.

의 그래프를 그려보자.
지점에서는 어떠한 방식으로 미분하여도 같은 tangent(기울기)가 나오지 않는다.

아래와 같은 function에서도 마찬가지다.

아래 함수 처럼 에서 연속되지 않는 function이라면 어떨까?

마지막으로 의 함수는 미분 가능할까?
지점을 보면 slope가 무한대로 정의됨을 알 수 있다.

정리하자면 아래와 3가지 같은 상황에서 미분이 불가능하다.

Derivative의 성질에 대해 알아보자.

과 의 그래프를 살펴보자.



배의 움직인 거리()와 배에 올라탄 사람의 움직인 거리()가 각각 2와 10이라고 하자.

그렇다면 배와 사람의 속도가 주어졌을 때, 지구에서 본 배 위에 올라탄 사람의 (상대)속도는 얼마일까?


수식을 통해 정리해보자면, 각 거리의 합이 전체 거리이듯

따라서 여러 함수를 합한 전체 함수의 derivative는 각 derivative의 합이다.

Derivative의 또 다른 성질 중에 하나는 product 함수일 때 드러난다.
함수가 있을 때, 함수의 미분은 이다.

두 인부가 집을 짓는다고 가정해보자.
가로와 세로를 각각 맡아 시간에 따라 벽돌을 쌓아나간다고 할 때, 각 변이 완성되는 함수는 와 로 시간()에 따라 나타낼 수 있다.
집이 지어지는 전체 면적은 두 함수의 곱으로 표현할 수 있으며, 로 수식이 전개된다.

그렇다면 에 따른 각 변과 전체 면적의 변화율은 어떻게 변할까?
면적 에 대하여 에 따라 달라지는 면적은 총 세 개의 직사각형이다.
이를 시간에 따른 변화()로 나누어 아주 작은 범위의 시간으로 보내면(), 로 표현 가능해진다.

Derivative의 마지막 성질에 대해 알아보자.
와 같은 composition(합성) 함수를 공통 변수 로 미분하면

함수가 바깥에 한 번 더 씌워져 있어도 비슷하다.

Lagrange 미분 표현식으로 정리하면 아래와 같다.


예를 들어, 자동차가 산을 오르며 느끼는 온도 변화를 생각해보자.
산의 온도 차이는 높이(h)에 따라 변하는 함수고, 산을 오르는 자동차의 움직임 변화는 시간(t)에 따라 달라지는 함수다.
그렇다면 자동차에 타고 있는 사람이 느끼는 시간(t)에 따른 산의 온도 변화(T)율은 어떻게 표현할까?

이러한 함수를 plot한다면 어떻게 그려질까?

우리가 알고 싶은 변화율은 시간(t)에 따른 온도(T) 변화율이므로,

이를 수식으로 표현하면 로 표현할 수 있다.

매우 뜨거운 사우나 벤치에 앉아 있다고 해보자.

왼쪽으로 갔더니 온도가 더 높아졌고, 오른쪽으로 갔더니 온도가 낮아졌다.

정답은 오른쪽일 것이다.

이를 기울기로 표현하면 첫 지점으로부터 차가운 지점으로 향해가는 동안의 slope는 < 0이 된다.

만약 아래와 같이 최저값을 많이 가지고 있는 함수라면 zero slope 후보는 많아진다.


전력선과의 거리가 이고, power line을 설치하는데 드는 비용이 이라면



Power line이 하나 있다면 전봇대의 위치와 같은 곳에 설치해야 할 것이다.

전봇대가 두 개라면 어떨까?

집과 전봇대 사이의 거리는 각각 , 로 정의될 것이며

우리는 최종적으로 를 최소화 하는 데에 목적을 두고

어쩌면 우리는 정답을 알고 있다.

Graphical하게 표현해보면 과 는 각각 두 전봇대 사이의 거리가 한 변인 면적에 해당한다.

집이 너무 왼쪽으로 치우쳐져 있다면 면적이 훨씬 클 것이고,



이를 좀 더 수식적으로 표현해보자.
우리는 함수 를 minimize하는 지점을 찾아야 하므로 slope가 0인 지점을 찾아야 한다.
이는 이 cost function 의 derivative, 가 0이 되는 값을 찾는 것이며 가 정답이다.

전봇대가 3개라면 어떨까?




Graphical하게 표현하면 각 이차함수의 합이 cost function임을 알 수 있고,






data point의 개수가 개일 때로 일반화하면
cost function은 각 distance 제곱의 합이며 solution은 distance의 합을 평균낸 것이라고 할 수 있다.
이는 실제 머신러닝 optimization에서 매우 중요한 개념으로 차지할 예정이다.

세 가지 버전의 Coin 확률 set이 있다고 하자.

정답은 Coin 3 조합이다.

H가 나올 확률을 , T가 나올 확률을 라고 하자.

확률 를 변수로 하여 해당 수식의 최댓값을 찾기 위해 미분해보자.
Product rule과 Chain rule을 적용하여 찾은 확률 후보 는 0, 1, 그리고 0.7 이렇게 세 가지다.
그러나 일 때나 일 때에는 전체 maximize function이 0이 되므로 최대를 만족하지 않는다.


Maximize function 를 그냥 미분하지 말고, 를 씌운 뒤 미분해보자.

우리가 앞으로 하게 될 일은 이러한 maximize 함수 에 -를 붙여 minimize하는 작업이 된다.

왼쪽에 놓인 coin들의 분포가 Data이고, Model은 각 data point가 발현되는 확률을 모델로 한다고 해보자.

그렇다면 어째서 log 함수여야 하는가?
아래와 같이 data 분포가 다양해진다면 cost function은 각 확률 값들을 모두 곱한 값이 된다.
곱셈의 미분은 product rule을 적용해야 해서 매우 복잡하다.

뿐만 아니라 확률값은 항상 0과 1사이의 값을 가지므로 매우 tiny한 값이라는 특징이 있다.
