2장 신경망을 위한 기초 수학

신경망의 필수 함수 (p.58)

  • 1차 함수, 2차 함수 : 독립 변수가 여러개일 수 있다고 설명하고, 오차역전파법에 쓰일 수 있다고 한다.

  • 단위 계단 함수 : 활성화 함수로 쓰인다고 말하고, 연립식을 보여준다. -> 응용수학에서는 선형 응답 함수라고 한다.

    • 여러 책에서 봤던 그 계단 함수, step function이 맞다.
  • 지수함수, 시그모이드 함수 : 자연상수를 포함하는 지수함수를 분모로 갖는 함수가 시그모이드 함수
    σ(x)σ(x) = 11+ex1\over 1 + e^{-x} = 11+expx1\over 1 + exp^{-x}
    ee = 2.718281828...

  • 정규 분포 : 확률밀도함수 f(x)f(x)를 따르는 확률분포를 말한다. -> 그리고 가중치 및 편향의 초깃값을 구할 때 정규분포 난수를 사용한다. (엑셀로 구한는 방법 p.65)
    f(x)f(x) = 12πσ1\over\sqrt{2π}σee(xμ)22σ2{^{-({x-μ}) ^2\over2σ^2}}, μ = 기댓값(평균값), σ = 표준편차, 모두 상수이다.
    그래프는 벨 커브 모양이다. (종,bell 모양이라서)

신경망의 이해를 돕는 수열과 점화식 (p.66)

  • 수열의 의미를 짚고 넘어간다.

  • 수열의 표기법 등을 말려준다. ex) ana_n, ajla_j^l = (lljj번째 유닛의 출력값)

  • 수열과 점화식 : 이웃에 있는 항의 관계를 수열로 표현하는데 이를 점화식이라고 한다. (p.67)

  • 연립 점화식 : 위에 예제로 책에서 두 개의 점화식을 수열의 3항 까지 값을 찾아본다.

1항은 a1=b1=1a_1 = b_1 = 1 이다.

{an+1=an+2bn+2bn+1=2an+3bn+1\begin{cases} a_{n+1} = a_n + 2b_n + 2 \\ b_{n+1} = 2a_n + 3b_n + 1 \end{cases} 일 때,

{a2=a1+2b1+2=1+2×1+2=5b2=2an+3bn+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}

... 귀찮으니 생략!

위 처럼 여러 수열리 몇 가지 관계식으로 연결된 것을 연립 점화식이라고 한다. -> 신경망세너는 모든 유닛의 입력과 출력이 연립 점화식으로 연결되어 있다고 보면 된다. (p.69)

신경망에서 많이 사용하는 시그마 기호 (p.71)

  • 시그마 기호의 의미를 설명해준다!
    k=1nak=a1+a2+a3+...+an1+an\displaystyle\sum^n_{k=1}a_k = a_1 + a_2 + a_3 +...+ a_{n-1} + a_n

시그마 기호의 성질

  • k=1n(ak+bk)=k=1nak+k=1nbk\displaystyle\sum^n_{k=1}(a_k + b_k) = \displaystyle\sum^n_{k=1}a_k+ \displaystyle\sum^n_{k=1}b_k (합의 법칙)

  • k=1nca=ck=1nak\displaystyle\sum^n_{k=1}ca = c\displaystyle\sum^n_{k=1}a_k (상수배 법칙)

신경망의 이해를 돕는 벡터 (p.74)

벡터의 의미에 대해 말한다.

  • 두 점 A, B가 있을 때, A에서 B로 향하는 선분(line segment)가 있을때 방향을 갖는 선분 AB를 유향선분(directed segment)라고 한다.

  • 이 유향선분의 성분은 A의 위치, B에 관한 방향, AB의 길이인 크기가 있다.

  • 벡터(vector)는 위 세개 중 방향과 크기만을 추상화한 양이다.

    • 표기는 (AB)(\overrightarrow{AB})이다.
  • 벡터의 성분표시 : 화살의 시작점을 원점에, 종점을 좌표로 나타낸 표시법

    • 3차원도 마찬가지로 표현하면 된다.
  • 벡터의 크기 : 벡터를 나타내는 화살표션의 길이

    • 벡터a\overrightarrow{a}의 크기는 a\left\vert \overrightarrow{a} \right\vert 로 표현한다.
  • 벡터의 내적 : 벡터의 곱셈 중 크기(스칼라)만 고려한 곱셈. (크기와 방향이 있다.)

    • a\overrightarrow{a}, b\overrightarrow{b}의 내적은 ab\overrightarrow{a*b}로 표현한다.
    • abcosθ\overrightarrow{\vert a \vert \vert b \vert} cos\theta 로 계산한다. θ\thetaa\overrightarrow{a}, b\overrightarrow{b}가 구성하는 각도
    • 3차원도 마찬가지의 요령으로 계산할 수 있다.

코시-슈바르츠 부등식
위에 식으로 중요한 공식을 도출할 수 있다. 임의의 cosθ\theta는 -1 <= cosθ\theta <= 1 이라는 범위를 갖을 때, 이 범위에 벡터의 크기 a\vert \overrightarrow{a}\vert, b\vert\overrightarrow{b}\vert를 대입하면 다음 식이 성립한다.

  • a-\vert \overrightarrow{a}\vert b\vert\overrightarrow{b}\vert <= a\vert \overrightarrow{a}\vert b\vert\overrightarrow{b}\vert cosθ\theta <=a\vert \overrightarrow{a}\vert b\vert\overrightarrow{b}\vert

이때 a\vert \overrightarrow{a}\vert b\vert\overrightarrow{b}\vert cosθ\theta 는 벡터의 내적이므로 앞 식을 코시-슈바르츠 부등식으로 바꿀 수 있다.

  • a-\vert \overrightarrow{a}\vert b\vert\overrightarrow{b}\vert <= a\overrightarrow{a} * b\overrightarrow{b} <= a\vert \overrightarrow{a}\vert b\vert\overrightarrow{b}\vert

즉, 내적은 두 벡터가 어느 정도로 같은 방향을 향하고 있는가를 나타낸다.

내적의 성분표시

밑의 식으로 계산 할 수 있다.

  • a\overrightarrow{a}*b\overrightarrow{b} = a1b1+a2b2a_1b_1+a_2b_2 (a=(a1,a2),b=(b1,b2))(\overrightarrow{a} = (a_1, a_2), \overrightarrow{b} = (b_1, b_2))

3차원 이상의 내적 성분 표시도 같은 요령으로 나타낼 수 있다.

벡터의 일반화 : 벡터의 편리한 점은 평면과 입체 공간의 특징을 임의의 차원에 그대로 확장할 수 있다는 것이다. -> 차원의 제한이 없다.

신경망의 이해를 돕는 행렬 (p.84)

  • 행렬(matrix) : 수와 식을 사각 형태의 배열로 나열한 것

    • 가로줄은 행(row) 세로줄을 열(colum)이라 한다. -> 하나의 행으로 구성된 행렬은 행벡터, 열의 경우 열벡터라고 한다.
    • 행과 열수가 같으면 정사각행렬(square matrix)라고 한다.
    • 단위행렬(unit matrix) : 성분 aij(i=j)=1a_{ij}(i=j) = 1 인 행렬
    • 두 행렬 A,BA, B는 대응하는 각 성분이 같을 때 상등이라고 한다.
    • 행렬의 합과 차, 상수 배, 행렬 곱셉의 예시를 보여준다. (p.86)
  • 아다마르 곱(Hadamard product) : 같은 행과 열 수를 갖는 행렬 A,BA, B에서 같은 위치의 성분을 곱한 행렬을 아다마르 곱이라 한다.

    • 표기법 -> AA o BB
  • 전치행렬(transposed matrix) : 행렬 AAiijj열 값을 jjii열로 바꿔 얻는 행렬을 행렬 AA의 전치 행렬이라 한다.

    • 표기법 -> AT,tA,AtA^T, ^tA, A^t

신경망을 위한 미분의 기본 (p.89)

  • 도함수(derivative 혹은 미분) : 어떤 함수 안에 포함된 값 각각이 0에 한 없이 가까워지는 극한값(미분계수)를 구하는 함수를 말한다.

    • f(x)=limΔx0f\prime(x) =\displaystyle\lim_{\Delta x \rarr 0} f(x+Δx)f(x)Δxf(x + \Delta x) - f(x) \over \Delta x
    • 이후 도함수 사용 예시를 보여준다.
    • 함수 f(x)f(x)의 도함수 f(x)f\prime(x)를 구하는 것을 '함수 f(x)f(x)를 미분한다.'라고 한다.
    • 함수 f(x)f(x)를 그래프로 그릴 때는 f(x)f\prime(x)는 해당 그래프 접선의 기울기를 표현한다. -> 즉 연속성이 있는 그래프를 갖는 함수는 미분 가능하다.
    • 신경망에서 사용하는 함수의 미분 공식이 다른 공식을 이용한다. (p.90)
  • f(x)f(x)를 극한 개념말고 분수로 표현하는 방법도 있다. -> f(x)=dy/dxf\prime(x) = dy/dx 이다.

  • 미분의 선형성 : (f(x)+g(x))=f(x)+f(x),(cf(x))=cf(x)(f(x)+g(x))\prime = f\prime(x)+f\prime(x), (cf\prime(x))\prime = cf\prime(x) (c는 상수)

    • 함수 합의 미분은 각 함수를 미분한 합과 같다.
    • 상수를 곱한 함수의 미분은 미분한 함수에 상수를 곱한 것과 같다.
    • 미분의 선형성으로 계산하는 예시 (p.91)
  • 지수함수 미분 공식

    • (ex)=ex(e^{-x})\prime = -e^{-x} 증명 (p. 92)
  • 분수 형태의 함수를 미분할 때 도움 되는 분수함수의 미분 공식이 있다.

    • 1f(x)1 \over f(x)\prime(분수 전체 미분) = -f(x)(f(x))2f\prime(x) \over (f(x))^2 (p.92)
    • 지수함수의 미분 공식과 분수함수의 미분 공식을 사용해서 시그모이드 함수 σ(x)σ(x) = 11+ex1\over 1 + e^{-x} 의 미분을 구할 수 있다. -> σ(x)\sigma\prime(x) =σ(x)(σ(x)= \sigma(x)(-\sigma(x)
  • 최솟값의 필요조건 : 함수 최솟값의 필요조건은 함수f(x)f(x)x=ax = a일 때 최솟값이라면 f(a)=0f\prime(a) = 0 -> 접선의 기울기가 0이라도 항상 최솟값은 아니다. 필요조건이다. (극솟값, 극댓값, 최솟값 등이 있다.)

신경망을 위한 편미분의 기본 (p.96)

  • 편미분을 위해 독립변수가 다수인 다변수 함수를 사용

    • 표기법 -> f(x,y)f(x, y), f(x1,x2,,xn)f(x_1, x_2, \cdots , x_n)
  • 편미분(partial derivative) : 변수가 여러 개 있는 다변수함수에서 어떤 변수를 미분할지 명시해서 미분하는 것

    • 변수 x,yx, y가 있는 함수 z=f(x,y)z = f(x, y)가 있을 때, 변수 xx를 미분하고 yy를 상수 취급하는 것을 'xx에 관한 편미분'이라 한다.
    • δzδy\displaystyle\delta z \over \displaystyle\delta y == δf(x,y)δx\displaystyle\delta f(x, y) \over \displaystyle\delta x =limΔx0=\displaystyle\lim_{\Delta x \rarr 0} f(x+Δx,y)f(x,y)Δx\displaystyle f(x + \Delta x, y) - f(x, y) \over \displaystyle\Delta x
    • 'y에 대한 편미분'도 같은 요령으로 만들면 된다.
    • 편미분 예시를 보여준다. (p.97)
  • 다변수 함수의 최솟값의 필요조건 -> δfδx\displaystyle\delta f \over \displaystyle\delta x =0= 0, δfδy\displaystyle\delta f \over \displaystyle\delta y =0= 0 -> 변수가 더 많아져도 이 식을 일반화해서 nn 변수의 경우로 확장하면 된다.

  • 라그랑수 승수법 : 최솟값을 구할 때 변수에 제약 조건을 둘 때 사용하는 개념 (p.99)

연쇄법칙 (p.100)

  • 합성함수(composite function) : 함수가 중첩된 함수 -> f(g(x))f(g(x))
  • 예시로 활성화 함수의 유닛 출력을 구하는 예시를 보여준다. (p.100)
  • 연쇄법칙(chain rule) : 합성함수의 미분 공식이다.
    • 일변수 함수 y=f(x)y=f(x)의 변수 uu가 일변수 함수 u=g(x)u = g(x)일 때, 합성함수 (f(g(x))(f(g(x))의 도함수는 다음처럼 구할 수 있다.
    • dydx\displaystyle dy \over \displaystyle dx = dydu\displaystyle dy \over \displaystyle dududx\displaystyle du \over \displaystyle dx
    • 합성함수의 미분은 분수처럼 약분 할 수 있다.
    • 변수도 계속해서 늘릴 수 있다. -> 다변수 함수의 연쇄 법칙 (p.102)

다변수 함수의 근사식 (p.105)

  • 극한 개념을 없앤 미분의 근사식 -> x 값을 변경한다면 함수값 y는 얼마나 변하는가.
    • f(x)f\prime(x) \approx f(x+Δx)f(x)Δxf(x + \Delta x) - f(x) \over \Delta x
  • 이를 변형하면 일변수 함수의 근사식 (선형근사)을 얻을 수 있다.
    • f(x+Δx)f(x)+f(x)Δxf(x+\Delta x) \approx f(x) + f\prime(x) \Delta 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,y)Δx\delta f(x,y) \over \Delta x Δx\Delta x ++ δf(x,y)Δy\delta f(x,y) \over \Delta y Δy\Delta y
  • 근사식의 벡터 표현 (p.107)

경사하강법의 의미와 식 (p.109) (복습)

함수 z=f(x,y)z = f(x,y)가 있을 때 함수 zz를 최소화하는 x,yx, y를 어떻게 구하는가?

  • 이는 x,yx,y가 다음 관계를 만족시킨다는 사실을 이용한다.

  • δf(x,y)δx\displaystyle\delta f(x,y) \over \displaystyle\delta x =0=0, δf(x,y)δy\displaystyle\delta f(x,y) \over \displaystyle\delta y =0=0

  • 이는 함수의 최솟값인 점에서 와인 잔의 바닥처럼 접하는 평면이 수평이 될 것으로 기대하기 때문이다.

  • 근데 위 식을 풀려면 방정식을 푸는게 아니라 그래프 상의 점을 조금씩 움직여 함수의 최솟값인 점을 찾아야 한다. -> 이게 경사하강법이다.

  • 경사하강법의 개념

    1. 그래프를 경사면으로 가정
    2. 경사면의 어떤 점 P에 탁구공을 두고 살며시 손을 놓아본다. 탁구공은 가장 가파른 비탈을 선택해 구르기 시작한다.
    3. 조금 진행되면 공을 공을 멈춘 후 멈춘 위치에서 다시 놓아 봅니다. 탁구공은 다시 해당 지점에서 가장 가파른 비탈을 선택해 구르기 시작한다.
    4. 이 작업을 여러 번 반복한다면 탁구공은 최단 경로를 따라 경사면의 끝, 즉 함수의 최솟값인 점에 도착할 것이다.
  • 수치 해석에서는 경사하강법을 최급강하법(Method of steepest descent)라고도 한다.

  • 근사식과 내적의 관계

    • 함수 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=\Delta z = δ(x,y)δx\delta(x,y) \over \delta xΔx\Delta x++ δ(x,y)δy\delta(x,y) \over \delta yΔy\Delta y (p.111)에 그림 참고
  • 델 연산자

    • (신경망 구축 시) 몇만 개 변수로 구성한 함수의 최솟값을 찾아야 한다. -> 경사하강법 수식으로 표현하기 힘들고, 더 간결한 표현법이 필요하다.
    • 일변수 함수의 미적분 개념을 기반으로 다변수 함쉬의 미적분 개념을 일반화하는 '벡터 해석' 분야가 있다.
    • f\nabla f == (δfδx1\delta f \over \delta x_1,δfδx2,\delta f \over \delta x_2,\cdots,δfδxn\delta f \over \delta x_n)

엑셀로 경사하강법 살펴보기 (p.119)

  • 구현 후 올릴 예정

최적화 문제 및 회귀분석 (p.123) (복습)

데이터를 분석하고 수학 모델을 만들 때, 모델은 보통 파라미터로 규정한다. -> 이 파라미터를 결정하는 것이 수학에서 최적화 문제라고 한다.

  • 회귀분석(regression analysis) : 여러 변수로 구성된 자료에서 특정 변수 하나와 나머지 변수의 관계를 설명하는 방법.
    • 단순회귀분석 : 변수 2개로 구성한 자료를 분석
    • 상관도의 점들 사이에 직선을 긋고, 이 직선의 방정식에서 두 변수의 관계를 알아보는 분석 방법이다. -> 직선을 회귀직선이라고 한다.

요약

수학... 많이 필요하네.... 수식 입력하는데 굉장히 오래걸렸다!

그리스 알파벳 참고용
Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω

α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω

왼쪽부터 : 알파, 베타, 감마, 델타, 엡실론, 제타, 에타, 쎄타, 요타, 카파, 람다, 뮤, 누, 크, 오미크론, 파이, 로, 시그마, 타우, 입실론, 피(파이), 카이, 프시(싸이), 오메가

수학 수식 입력 참고 블로그 : https://velog.io/@d2h10s/LaTex-Markdown-수식-작성법#수식-내에서의-띄어쓰기

profile
Learning bunch, mostly computer and language

0개의 댓글