2장 신경망을 위한 기초 수학
신경망의 필수 함수 (p.58)
1차 함수, 2차 함수 : 독립 변수가 여러개일 수 있다고 설명하고, 오차역전파법에 쓰일 수 있다고 한다.
단위 계단 함수 : 활성화 함수로 쓰인다고 말하고, 연립식을 보여준다. -> 응용수학에서는 선형 응답 함수라고 한다.
여러 책에서 봤던 그 계단 함수, step function이 맞다.
지수함수, 시그모이드 함수 : 자연상수를 포함하는 지수함수를 분모로 갖는 함수가 시그모이드 함수
σ ( x ) σ(x) σ ( x ) = 1 1 + e − x 1\over 1 + e^{-x} 1 + e − x 1 = 1 1 + e x p − x 1\over 1 + exp^{-x} 1 + e x p − x 1
e e e = 2.718281828...
정규 분포 : 확률밀도함수 f ( x ) f(x) f ( x ) 를 따르는 확률분포를 말한다. -> 그리고 가중치 및 편향의 초깃값을 구할 때 정규분포 난수를 사용한다. (엑셀로 구한는 방법 p.65)
f ( x ) f(x) f ( x ) = 1 2 π σ 1\over\sqrt{2π}σ 2 π σ 1 e e e − ( x − μ ) 2 2 σ 2 {^{-({x-μ}) ^2\over2σ^2}} 2 σ 2 − ( x − μ ) 2 , μ = 기댓값(평균값), σ = 표준편차, 모두 상수이다.
그래프는 벨 커브 모양이다. (종,bell 모양이라서)
신경망의 이해를 돕는 수열과 점화식 (p.66)
수열의 의미 를 짚고 넘어간다.
수열의 표기법 등을 말려준다. ex) a n a_n a n , a j l a_j^l a j l = (l l l 층 j j j 번째 유닛의 출력값)
수열과 점화식 : 이웃에 있는 항의 관계를 수열로 표현하는데 이를 점화식이라고 한다. (p.67)
연립 점화식 : 위에 예제로 책에서 두 개의 점화식을 수열의 3항 까지 값을 찾아본다.
1항은 a 1 = b 1 = 1 a_1 = b_1 = 1 a 1 = b 1 = 1 이다.
{ a n + 1 = a n + 2 b n + 2 b n + 1 = 2 a n + 3 b n + 1 \begin{cases} a_{n+1} = a_n + 2b_n + 2 \\ b_{n+1} = 2a_n + 3b_n + 1 \end{cases} { a n + 1 = a n + 2 b n + 2 b n + 1 = 2 a n + 3 b n + 1 일 때,
{ a 2 = a 1 + 2 b 1 + 2 = 1 + 2 × 1 + 2 = 5 b 2 = 2 a n + 3 b n + 1 = 2 × 1 + 3 × 1 + 1 = 6 \begin{cases} a_2 = a_1 + 2b_1 + 2 = 1 + 2 \times 1 + 2 = 5 \\ b_2 = 2a_n + 3b_n + 1 = 2 \times 1 + 3 \times 1 + 1 = 6 \end{cases} { a 2 = a 1 + 2 b 1 + 2 = 1 + 2 × 1 + 2 = 5 b 2 = 2 a n + 3 b n + 1 = 2 × 1 + 3 × 1 + 1 = 6
... 귀찮으니 생략!
위 처럼 여러 수열리 몇 가지 관계식으로 연결된 것을 연립 점화식이라고 한다. -> 신경망세너는 모든 유닛의 입력과 출력이 연립 점화식으로 연결되어 있다고 보면 된다. (p.69)
신경망에서 많이 사용하는 시그마 기호 (p.71)
시그마 기호의 의미를 설명해준다!
∑ k = 1 n a k = a 1 + a 2 + a 3 + . . . + a n − 1 + a n \displaystyle\sum^n_{k=1}a_k = a_1 + a_2 + a_3 +...+ a_{n-1} + a_n k = 1 ∑ n a k = a 1 + a 2 + a 3 + . . . + a n − 1 + a n
시그마 기호의 성질
∑ k = 1 n ( a k + b k ) = ∑ k = 1 n a k + ∑ k = 1 n b k \displaystyle\sum^n_{k=1}(a_k + b_k) = \displaystyle\sum^n_{k=1}a_k+ \displaystyle\sum^n_{k=1}b_k k = 1 ∑ n ( a k + b k ) = k = 1 ∑ n a k + k = 1 ∑ n b k (합의 법칙)
∑ k = 1 n c a = c ∑ k = 1 n a k \displaystyle\sum^n_{k=1}ca = c\displaystyle\sum^n_{k=1}a_k k = 1 ∑ n c a = c k = 1 ∑ n a k (상수배 법칙)
신경망의 이해를 돕는 벡터 (p.74)
벡터의 의미에 대해 말한다.
두 점 A, B가 있을 때, A에서 B로 향하는 선분(line segment)가 있을때 방향을 갖는 선분 AB를 유향선분 (directed segment)라고 한다.
이 유향선분의 성분은 A의 위치, B에 관한 방향, AB의 길이인 크기가 있다.
벡터(vector)는 위 세개 중 방향과 크기만을 추상화한 양이다.
표기는 ( A B → ) (\overrightarrow{AB}) ( A B ) 이다.
벡터의 성분표시 : 화살의 시작점을 원점에, 종점을 좌표로 나타낸 표시법
벡터의 크기 : 벡터를 나타내는 화살표션의 길이
벡터a → \overrightarrow{a} a 의 크기는 ∣ a → ∣ \left\vert \overrightarrow{a} \right\vert ∣ ∣ ∣ ∣ a ∣ ∣ ∣ ∣ 로 표현한다.
벡터의 내적 : 벡터의 곱셈 중 크기(스칼라)만 고려한 곱셈. (크기와 방향이 있다.)
a → \overrightarrow{a} a , b → \overrightarrow{b} b 의 내적은 a ∗ b → \overrightarrow{a*b} a ∗ b 로 표현한다.
∣ a ∣ ∣ b ∣ → c o s θ \overrightarrow{\vert a \vert \vert b \vert} cos\theta ∣ a ∣ ∣ b ∣ c o s θ 로 계산한다. θ \theta θ 는 a → \overrightarrow{a} a , b → \overrightarrow{b} b 가 구성하는 각도
3차원도 마찬가지의 요령으로 계산할 수 있다.
코시-슈바르츠 부등식
위에 식으로 중요한 공식을 도출할 수 있다. 임의의 cos θ \theta θ 는 -1 <= cos θ \theta θ <= 1 이라는 범위를 갖을 때, 이 범위에 벡터의 크기 ∣ a → ∣ \vert \overrightarrow{a}\vert ∣ a ∣ , ∣ b → ∣ \vert\overrightarrow{b}\vert ∣ b ∣ 를 대입하면 다음 식이 성립한다.
− ∣ a → ∣ -\vert \overrightarrow{a}\vert − ∣ a ∣ ∣ b → ∣ \vert\overrightarrow{b}\vert ∣ b ∣ <= ∣ a → ∣ \vert \overrightarrow{a}\vert ∣ a ∣ ∣ b → ∣ \vert\overrightarrow{b}\vert ∣ b ∣ cos θ \theta θ <=∣ a → ∣ \vert \overrightarrow{a}\vert ∣ a ∣ ∣ b → ∣ \vert\overrightarrow{b}\vert ∣ b ∣
이때 ∣ a → ∣ \vert \overrightarrow{a}\vert ∣ a ∣ ∣ b → ∣ \vert\overrightarrow{b}\vert ∣ b ∣ cos θ \theta θ 는 벡터의 내적이므로 앞 식을 코시-슈바르츠 부등식으로 바꿀 수 있다.
− ∣ a → ∣ -\vert \overrightarrow{a}\vert − ∣ a ∣ ∣ b → ∣ \vert\overrightarrow{b}\vert ∣ b ∣ <= a → \overrightarrow{a} a * b → \overrightarrow{b} b <= ∣ a → ∣ \vert \overrightarrow{a}\vert ∣ a ∣ ∣ b → ∣ \vert\overrightarrow{b}\vert ∣ b ∣
즉, 내적은 두 벡터가 어느 정도로 같은 방향을 향하고 있는가를 나타낸다.
내적의 성분표시
밑의 식으로 계산 할 수 있다.
a → \overrightarrow{a} a *b → \overrightarrow{b} b = a 1 b 1 + a 2 b 2 a_1b_1+a_2b_2 a 1 b 1 + a 2 b 2 ( a → = ( a 1 , a 2 ) , b → = ( b 1 , b 2 ) ) (\overrightarrow{a} = (a_1, a_2), \overrightarrow{b} = (b_1, b_2)) ( a = ( a 1 , a 2 ) , b = ( b 1 , b 2 ) )
3차원 이상의 내적 성분 표시도 같은 요령으로 나타낼 수 있다.
벡터의 일반화 : 벡터의 편리한 점은 평면과 입체 공간의 특징을 임의의 차원에 그대로 확장할 수 있다는 것이다. -> 차원의 제한이 없다.
신경망의 이해를 돕는 행렬 (p.84)
행렬 (matrix) : 수와 식을 사각 형태의 배열로 나열한 것
가로줄은 행(row) 세로줄을 열(colum)이라 한다. -> 하나의 행으로 구성된 행렬은 행벡터, 열의 경우 열벡터라고 한다.
행과 열수가 같으면 정사각행렬 (square matrix)라고 한다.
단위행렬(unit matrix) : 성분 a i j ( i = j ) = 1 a_{ij}(i=j) = 1 a i j ( i = j ) = 1 인 행렬
두 행렬 A , B A, B A , B 는 대응하는 각 성분이 같을 때 상등이라고 한다.
행렬의 합과 차, 상수 배, 행렬 곱셉의 예시를 보여준다. (p.86)
아다마르 곱 (Hadamard product) : 같은 행과 열 수를 갖는 행렬 A , B A, B A , B 에서 같은 위치의 성분을 곱한 행렬을 아다마르 곱이라 한다.
전치행렬 (transposed matrix) : 행렬 A A A 의 i i i 행 j j j 열 값을 j j j 행 i i i 열로 바꿔 얻는 행렬을 행렬 A A A 의 전치 행렬이라 한다.
표기법 -> A T , t A , A t A^T, ^tA, A^t A T , t A , A t
신경망을 위한 미분의 기본 (p.89)
도함수 (derivative 혹은 미분) : 어떤 함수 안에 포함된 값 각각이 0에 한 없이 가까워지는 극한값(미분계수)를 구하는 함수를 말한다.
f ′ ( x ) = lim Δ x → 0 f\prime(x) =\displaystyle\lim_{\Delta x \rarr 0} f ′ ( x ) = Δ x → 0 lim f ( x + Δ x ) − f ( x ) Δ x f(x + \Delta x) - f(x) \over \Delta x Δ x f ( x + Δ x ) − f ( x )
이후 도함수 사용 예시를 보여준다.
함수 f ( x ) f(x) f ( x ) 의 도함수 f ′ ( x ) f\prime(x) f ′ ( x ) 를 구하는 것을 '함수 f ( x ) f(x) f ( x ) 를 미분한다.'라고 한다.
함수 f ( x ) f(x) f ( x ) 를 그래프로 그릴 때는 f ′ ( x ) f\prime(x) f ′ ( x ) 는 해당 그래프 접선의 기울기 를 표현한다. -> 즉 연속성이 있는 그래프를 갖는 함수는 미분 가능하다.
신경망에서 사용하는 함수의 미분 공식이 다른 공식을 이용한다. (p.90)
f ( x ) f(x) f ( x ) 를 극한 개념말고 분수로 표현하는 방법도 있다. -> f ′ ( x ) = d y / d x f\prime(x) = dy/dx f ′ ( x ) = d y / d x 이다.
미분의 선형성 : ( f ( x ) + g ( x ) ) ′ = f ′ ( x ) + f ′ ( x ) , ( c f ′ ( x ) ) ′ = c f ′ ( x ) (f(x)+g(x))\prime = f\prime(x)+f\prime(x), (cf\prime(x))\prime = cf\prime(x) ( f ( x ) + g ( x ) ) ′ = f ′ ( x ) + f ′ ( x ) , ( c f ′ ( x ) ) ′ = c f ′ ( x ) (c는 상수)
함수 합의 미분은 각 함수를 미분한 합과 같다.
상수를 곱한 함수의 미분은 미분한 함수에 상수를 곱한 것과 같다.
미분의 선형성으로 계산하는 예시 (p.91)
지수함수 미분 공식
( e − x ) ′ = − e − x (e^{-x})\prime = -e^{-x} ( e − x ) ′ = − e − x 증명 (p. 92)
분수 형태의 함수 를 미분할 때 도움 되는 분수함수의 미분 공식 이 있다.
1 f ( x ) 1 \over f(x) f ( x ) 1 ′ \prime ′ (분수 전체 미분) = − - − f ′ ( x ) ( f ( x ) ) 2 f\prime(x) \over (f(x))^2 ( f ( x ) ) 2 f ′ ( x ) (p.92)
지수함수의 미분 공식과 분수함수의 미분 공식을 사용해서 시그모이드 함수 σ ( x ) σ(x) σ ( x ) = 1 1 + e − x 1\over 1 + e^{-x} 1 + e − x 1 의 미분을 구할 수 있다. -> σ ′ ( x ) \sigma\prime(x) σ ′ ( x ) = σ ( x ) ( − σ ( x ) = \sigma(x)(-\sigma(x) = σ ( x ) ( − σ ( x )
최솟값의 필요조건 : 함수 최솟값의 필요조건은 함수f ( x ) f(x) f ( x ) 가 x = a x = a x = a 일 때 최솟값이라면 f ′ ( a ) = 0 f\prime(a) = 0 f ′ ( a ) = 0 -> 접선의 기울기가 0이라도 항상 최솟값은 아니다. 필요조건이다. (극솟값, 극댓값, 최솟값 등이 있다.)
신경망을 위한 편미분의 기본 (p.96)
편미분을 위해 독립변수가 다수인 다변수 함수 를 사용
표기법 -> f ( x , y ) f(x, y) f ( x , y ) , f ( x 1 , x 2 , ⋯ , x n ) f(x_1, x_2, \cdots , x_n) f ( x 1 , x 2 , ⋯ , x n ) 등
편미분 (partial derivative) : 변수가 여러 개 있는 다변수함수에서 어떤 변수를 미분할지 명시해서 미분하는 것
변수 x , y x, y x , y 가 있는 함수 z = f ( x , y ) z = f(x, y) z = f ( x , y ) 가 있을 때, 변수 x x x 를 미분하고 y y y 를 상수 취급하는 것을 'x x x 에 관한 편미분'이라 한다.
δ z δ y \displaystyle\delta z \over \displaystyle\delta y δ y δ z = = = δ f ( x , y ) δ x \displaystyle\delta f(x, y) \over \displaystyle\delta x δ x δ f ( x , y ) = lim Δ x → 0 =\displaystyle\lim_{\Delta x \rarr 0} = Δ x → 0 lim f ( x + Δ x , y ) − f ( x , y ) Δ x \displaystyle f(x + \Delta x, y) - f(x, y) \over \displaystyle\Delta x Δ x f ( x + Δ x , y ) − f ( x , y )
'y에 대한 편미분'도 같은 요령으로 만들면 된다.
편미분 예시를 보여준다. (p.97)
다변수 함수의 최솟값의 필요조건 -> δ f δ x \displaystyle\delta f \over \displaystyle\delta x δ x δ f = 0 = 0 = 0 , δ f δ y \displaystyle\delta f \over \displaystyle\delta y δ y δ f = 0 = 0 = 0 -> 변수가 더 많아져도 이 식을 일반화해서 n n n 변수의 경우로 확장하면 된다.
라그랑수 승수법 : 최솟값을 구할 때 변수에 제약 조건을 둘 때 사용하는 개념 (p.99)
연쇄법칙 (p.100)
합성함수 (composite function) : 함수가 중첩된 함수 -> f ( g ( x ) ) f(g(x)) f ( g ( x ) )
예시로 활성화 함수의 유닛 출력을 구하는 예시를 보여준다. (p.100)
연쇄법칙 (chain rule) : 합성함수의 미분 공식이다.
일변수 함수 y = f ( x ) y=f(x) y = f ( x ) 의 변수 u u u 가 일변수 함수 u = g ( x ) u = g(x) u = g ( x ) 일 때, 합성함수 ( f ( g ( x ) ) (f(g(x)) ( f ( g ( x ) ) 의 도함수는 다음처럼 구할 수 있다.
d y d x \displaystyle dy \over \displaystyle dx d x d y = d y d u \displaystyle dy \over \displaystyle du d u d y d u d x \displaystyle du \over \displaystyle dx d x d u
합성함수의 미분은 분수처럼 약분 할 수 있다.
변수도 계속해서 늘릴 수 있다. -> 다변수 함수의 연쇄 법칙 (p.102)
다변수 함수의 근사식 (p.105)
극한 개념을 없앤 미분의 근사식 -> x 값을 변경한다면 함수값 y는 얼마나 변하는가.
f ′ ( x ) ≈ f\prime(x) \approx f ′ ( x ) ≈ f ( x + Δ x ) − f ( x ) Δ x f(x + \Delta x) - f(x) \over \Delta x Δ x f ( x + Δ x ) − f ( x )
이를 변형하면 일변수 함수의 근사식 (선형근사)을 얻을 수 있다.
f ( x + Δ x ) ≈ f ( x ) + f ′ ( x ) Δ x f(x+\Delta x) \approx f(x) + f\prime(x) \Delta x f ( x + Δ x ) ≈ f ( x ) + f ′ ( x ) Δ x
다변수 함수의 근사식 -> x, y 값을 변경했을 때 함수 z = f(x, y)의 값은 얼마나 변하는가. (p.1060)
f ( x + Δ x , y + Δ y ) ≈ f ( x , y ) + f(x+\Delta x, y+\Delta y) \approx f(x, y) + f ( x + Δ x , y + Δ y ) ≈ f ( x , y ) + δ f ( x , y ) Δ x \delta f(x,y) \over \Delta x Δ x δ f ( x , y ) Δ x \Delta x Δ x + + + δ f ( x , y ) Δ y \delta f(x,y) \over \Delta y Δ y δ f ( x , y ) Δ y \Delta y Δ y
경사하강법의 의미와 식 (p.109) (복습)
함수 z = f ( x , y ) z = f(x,y) z = f ( x , y ) 가 있을 때 함수 z z z 를 최소화하는 x , y x, y x , y 를 어떻게 구하는가?
이는 x , y x,y x , y 가 다음 관계를 만족시킨다는 사실을 이용한다.
δ f ( x , y ) δ x \displaystyle\delta f(x,y) \over \displaystyle\delta x δ x δ f ( x , y ) = 0 =0 = 0 , δ f ( x , y ) δ y \displaystyle\delta f(x,y) \over \displaystyle\delta y δ y δ f ( x , y ) = 0 =0 = 0
이는 함수의 최솟값인 점에서 와인 잔의 바닥처럼 접하는 평면이 수평이 될 것으로 기대하기 때문이다.
근데 위 식을 풀려면 방정식을 푸는게 아니라 그래프 상의 점을 조금씩 움직여 함수의 최솟값인 점을 찾아야 한다. -> 이게 경사하강법 이다.
경사하강법의 개념
그래프를 경사면으로 가정
경사면의 어떤 점 P에 탁구공을 두고 살며시 손을 놓아본다. 탁구공은 가장 가파른 비탈을 선택해 구르기 시작한다.
조금 진행되면 공을 공을 멈춘 후 멈춘 위치에서 다시 놓아 봅니다. 탁구공은 다시 해당 지점에서 가장 가파른 비탈을 선택해 구르기 시작한다.
이 작업을 여러 번 반복한다면 탁구공은 최단 경로를 따라 경사면의 끝, 즉 함수의 최솟값인 점에 도착할 것이다.
수치 해석에서는 경사하강법을 최급강하법(Method of steepest descent)라고도 한다.
근사식과 내적의 관계
함수 f ( x , y ) f(x,y) f ( x , y ) 값의 변화에 관란 근사식은 Δ z = f ( x + Δ x , y + Δ y ) − f ( x , y ) \Delta z = f(x + \Delta x, y + \Delta y) - f(x,y) Δ z = f ( x + Δ x , y + Δ y ) − f ( x , y ) 이다.
위 근사식을 갖고 다음 관계식이 성립한다.
Δ z = \Delta z = Δ z = δ ( x , y ) δ x \delta(x,y) \over \delta x δ x δ ( x , y ) Δ x \Delta x Δ x + + + δ ( x , y ) δ y \delta(x,y) \over \delta y δ y δ ( x , y ) Δ y \Delta y Δ y (p.111)에 그림 참고
델 연산자
(신경망 구축 시) 몇만 개 변수로 구성한 함수의 최솟값을 찾아야 한다. -> 경사하강법 수식으로 표현하기 힘들고, 더 간결한 표현법이 필요하다.
일변수 함수의 미적분 개념을 기반으로 다변수 함쉬의 미적분 개념을 일반화하는 '벡터 해석' 분야가 있다.
∇ f \nabla f ∇ f = = = (δ f δ x 1 \delta f \over \delta x_1 δ x 1 δ f ,δ f δ x 2 , \delta f \over \delta x_2, δ x 2 , δ f ⋯ \cdots ⋯ ,δ f δ x n \delta f \over \delta x_n δ x n δ f )
엑셀로 경사하강법 살펴보기 (p.119)
최적화 문제 및 회귀분석 (p.123) (복습)
데이터를 분석하고 수학 모델을 만들 때, 모델은 보통 파라미터로 규정한다. -> 이 파라미터를 결정하는 것이 수학에서 최적화 문제라고 한다.
회귀분석 (regression analysis) : 여러 변수로 구성된 자료에서 특정 변수 하나와 나머지 변수의 관계를 설명하는 방법.
단순회귀분석 : 변수 2개로 구성한 자료를 분석
상관도의 점들 사이에 직선을 긋고, 이 직선의 방정식에서 두 변수의 관계를 알아보는 분석 방법이다. -> 직선을 회귀직선이라고 한다.
요약
수학... 많이 필요하네.... 수식 입력하는데 굉장히 오래걸렸다!
그리스 알파벳 참고용
Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω
α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω
왼쪽부터 : 알파, 베타, 감마, 델타, 엡실론, 제타, 에타, 쎄타, 요타, 카파, 람다, 뮤, 누, 크, 오미크론, 파이, 로, 시그마, 타우, 입실론, 피(파이), 카이, 프시(싸이), 오메가
수학 수식 입력 참고 블로그 : https://velog.io/@d2h10s/LaTex-Markdown-수식-작성법#수식-내에서의-띄어쓰기