아래 모든 내용들은 Christopher Bishop의 pattern recognition and machine learning에서 더 자세히 볼 수 있습니다.

3.1 선형 기저 함수 모델

  • 가장 단순한 형태의 선형 회귀 모델은 입력 변수들의 선형 결합을 바탕으로 한 모델

  • 여기서 x=(x1,..,xD)T이고, 이 때의 식을 선형 회귀라고 부른다.
  • 한계점을 극복하기 위해서 다음처럼 입력 변수에 대한 고정 비선형 함수들의 선형 결합을 사용할 수 있다.

    • 여기서 함수 파이가 추가된 형태가 되었는데, 이 함수를 기저함수라고 부른다.

    • w0는 bias라고 부른다. 표기의 편리성을 위해 ϕ0(x)=1 로 정의하면 더 간략한 식으로 기술하기도 한다.

  • 비선형 기저 함수들을 사용했기 때문에 y(x,w)가 입력 벡터 x에 대한 비선형 함수가 되도록 할 수 있다.

    • 그럼에도 선형 모델이라고 불리는 이유는 이 함수들이 w에 대해서 선형 함수이기 때문

  • 1장에서 살펴 보았던 다항 회귀 문제에 대해서 다시 알아 보자.

    • 입력 변수는 단일 변수 x고, 출력 값인 t도 1차원 실수 값이다.
    • 기저 함수를 사용하며 거듭제곱 형태를 가진다.
      • 하지만 이 함수는 약간 문제가 있다.
        • 입력 변수에 대한 전역적인 함수이기 때문에 입력 공간의 한 영역에서 발생한 변화가 다른 영역들에까지 영향을 미친다는 것이다.
      • 이러한 경우 함수 근사를 할 때 문제가 발생하도록 한다.
      • 이를 해결하기 위해 입력 공간을 여러 영역들로 나누고 각 영역에 대해서 서로 다른 다항식을 피팅한다. 그리고 이를 스플라인 함수라고 부른다.
  • 다양한 다른 함수들이 기저 함수로 사용될 수 있다.

    • 가우시안 기저 함수라고 부르며 정규화 계수가 없는데 이는 wj가 존재하기 때문에 생략한 것이다.

  • 시그모이드 형태의 기저 함수다.

    • tanh 함수의 선형 결합으로 표현 가능하다.
  • 이번 장에서는 어떤 기저 함수를 사용하는지와는 무관하다. 따라서 간략히 소개만 하고 넘어간다.

3.1.1 최대 가능도와 최소 제곱

  • 이미 1장에서 최소 제곱법을 사용해서 커브 피팅을 시도했으며 가우시안 노이즈 모델을 가정했을 때 오류 함수를 최소화하는 것이 최대 가능도를 구하는 것에 해당한다는 것도 증명했다.
  • 이를 조금 더 자세히 알아본다. 가우시안 노이즈가 포함된 타겟 t에 대한 함수를 표현해 보자.

  • 여기서 입실론은 0을 평균으로 B를 정밀도로 가지는 가우시안 확률 변수다. 따라서 다음과 같이 적을 수 있다.

  • 위의 식은 주어진 입력 데이터 x에 따른 t에 대한 확률 분포라고 생각하면 된다.

    • 확률 분포는 가우시안 분포일 것이다.
  • 가우시안 조건부 분포의 조건부 평균은 다음과 같다.

  • 입력 데이터 집합 X={x1,...,xN}과 그에 해당하는 t=t1,...,tN을 고려해 보자.
  • 각각의 데이터가 발현될 가능성은 모두 독립적이라고 가정한다.(i.i.d)

    • 따라서 샘플 데이터를 얻는 확률은 다음과 같이 기술할 수 있다.

    • x는 언제나 조건부 변수의 집합에 포함되어 있을 것이므로 x를 뺄 수 있다.

    • 로그 함수를 도입하여 수식을 더 간단히 만든다.

    • 이제 여기에 최대 가능도 방법을 적용하여 w와 B를 구할 수 있다.

      • w를 구하기 위해 ED(w)를 최소화 하자.

      • w에 대해 미분하면 위와 같고 좌변을 0으로 두고 전개하면 다음과 같은 식을 얻을 수 있다

      • 이러한 방법을 normal equation이라고 부른다.

        • 파라미터의 추정 방식이 업데이트 방식이 아닌 일반 방정식으로 풀이되는 방식이다.
      • 여기서 파이는 design matrix라고 부르며 다음과 같이 생겼다.

      • 이를 Moor - Penrose pseudo inverse라고도 한다.


  • w0에 대해 더 알아보도록 하자.
  • 편향 매개변수를 명시화하면 다음과 같이 적을 수 있다.

    • w0에 대한 미분값을 0으로 놓고 w0에 대해 풀면 다음을 구할 수 있다.

    • w0 값의 의미를 알아 보자.

      • 훈련 집합의 타깃 변수들의 평균과 기저 함숫값 평균들의 가중 합 사이의 차이를 보상한다는 것을 알 수 있다.
  • 로그 가능도 함수를 노이즈 정밀도 매개변수 B에 대해 최대화 하게 되면 다음을 얻게 된다.

3.1.3. 순차적 학습

  • 지금까지 살펴본 MLE 기법은 전체 데이터를 한번에 사용해서 처리하는 배치 방식이다.
  • 하지만 큰 데이터 집합에 대해서는 이러한 방식이 계산적으로 실행하기에는 복잡하다.
  • 따라서 큰 데이터 집합에 대해서는 순차적 알고리즘을 사용하는 것이 유용할 수 있다.

    • 이를 online 방식이라고도 부른다.
    • 한 번에 하나의 데이터 포인트를 고려하며 모델의 매개변수들은 그때마다 업데이트된다.
  • 여기서는 확률적 경사 하강법/슨치작 경사 하강법을 적용하여 구현하도록 한다.
  • 여러 데이터 포인트들에 대한 오류 함수의 값이 데이터 포인트 각각의 오류 함수의 값을 합한 것과 같다면 매개변수 벡터 w를 다음과 같이 업데이트할 수 있다.

    • 여기서 타우는 반복수를 의미하며, η는 학습률 파라미터이다.
    • 위와 같은 알고리즘을 최소 제곱 평균 (LMS)라고 부른다.

3.1.4 정규화된 최소 제곱법

  • 정규화는 오버피팅을 방지하기 위해 사용되는 방법이다.
  • 에러 함수는 다음의 형태를 띠게 된다.

  • 여기서 람다는 정칙화 계수로서 ED(w) 와 EW(w) 사이의 가중치를 조절하게 된다.

    • 식을 정리하면 다음과 같다.

    • 해당 형태의 정규화항은 가중치 감쇠(weight decay)라고 불린다.

      • 순차 학습에서 데이터에 의해 지지되지 않는 한 가중치의 값이 0을 향해 감소하기 때문에 이렇게 부르는 것이다.
      • 매개변수 축소 방법의 한 예시다.
    • 에러 함수가 w의 이차 함수의 형태로 유지되므로 최소화하는 값을 닫힌 형태로 찾아낼 수가 있다.

  • 최종적으로 식을 정리하면 다음과 같다.

  • 일반적인 형태의 정규화항을 사용하기도 하는데 이 경우 정규화 오류 함수는 다음 형태를 띤다.

  • q=2인 경우 이차 정규화항에 해당하게 된다.
  • q=1인 경우를 일컬어 라쏘라 한다. 라쏘 정규화를 시행할 경우 람다의 값을 충분히 크게 설정하면

    몇몇 개수가 wj가 0이 된다. 이런 모델을 sparse(희박한) 모델이라고 한다.

  • 아래 그림에 대해 유심히 살펴보도록 하자.

    • 왼쪽은 q=2인 경우이고, 오른쪽은 q=1인 경우를 의미한다.
    • 사용하는 파라미터는 w0, w1 뿐인 아주 간단한 모델이다.
    • 파란 원의 중심이 E(w)를 최소로 만드는 w 벡터 값을 표현한 것이다.
    • 정칙화 요소가 없는 경우 이 값을 모델의 파라미터로 사용한다.
      • 정칙화 요소가 추가되면 노란색 영역에서만 w 값을 취할 수 있다.

3.1.5 다중 출력값

  • 지금까지 출력값 t가 단일 차원의 실수값이었지만 이를 벡터로 확장하여 기술한다.
  • t 벡터의 크기가 K라고 할 때 각 값은 서로 영향을 주지 않는다.

  • Likelihood 함수를 정의해보자.

  • W에 대해 최대화를 할 수 있다.

  • 식 자체로의 변화는 없고, 스칼라 변수가 벡터로 확장되었다는 정도이다.

3.2 Bias-Variance 분해

  • 지금까지는 회귀 선형 모델을 논의할 때 기저 함수들의 형태와 종류가 둘 다 고정되어 있다고 가정하였다.
    • 최소 제곱법을 사용해서 문제를 풀었지만 과적합 문제가 발생할 수 있다.
    • 과적합을 해결하기 위해 기저 함수의 수를 제한하면 모델의 유연성에 제약을 가하게 된다.
  • 정규항을 사용하면 과적합 문제를 조절하는 것이 가능하다.
    • 정규화 계수 λ 값을 적절히 정해야 한다.
  • 과적합 문제는 최대 가능도 방법을 사용할 경우에 발생하며 베이지안 방법론을 사용하면 해결가능하다.
    • 따라서 베이지안 관점에서 모델 복잡도를 살펴보도록 한다.
  • 우선 빈도주의적 관점의 모델 복잡도에 대해 알아보고 이를 편향-분산 트레이드 오프(bias-variance trade-off)라 한다.

  • 1.5.5절에서 회귀 문제의 결정 이론에 대해 논의할 때 오류 함수를 보았다. 따라서 다음과 같은 식을 얻을 수 있다.

    • 결정 이론에서 사용했던 제곱 오류 함수와 모델 매개변수의 최대 가능도 추정치에 해당하는 제곱합 오류 함수는 다르다.

    • 두번째 항은 y(x)와는 직접적인 관련이 없으므로 이 영역은 데이터 노이즈를 의미하게 된다.

    • 첫번째 항은 y(x)로 어떤 것을 선택하느냐에 따라 결정된다.

      • 제곱항이기 때문에 항상 0보다 크거나 같다. 그러므로 h(x)와 동일한 y(x)를 찾아야 한다.
      • 데이터가 충분히 많다면 충분히 근사된 y(x)를 쉽게 찾을 수 있다.
      • 하지만 우리에게는 유한한 숫자 N개의 데이터 포인트들만을 가지고 있다.
  • 이제 몇 가지 가정을 해보자.

    • 분포 p(t,x)를 통해 생성된 N개의 샘플로 구성된 데이터 집합 D를 얻을 수 있다.
    • 또한 여러 개의 데이터 집합을 얻을 수 있으며 모든 샘플은 서로 독립적으로 생성된다고 가정할 수 있다. (i.i.d)
    • 우리는 각 데이터 집합을 사용해 예측함수 y(x;D)를 만들 수 있다.
    • 이를 통해 손실 함수와 결과를 얻을 수 있다.

  • 3.37의 첫 번째 항의 피적분 함수는 위와 같은 형태를 띠게 된다. 데이터 집합 D에 대해 종속적이므로 구한 값을 평균을 내어 사용할 수 있다. 괄호 안에 ED[y(x;D)]를 이용해 식을 전개 할 수 있다.

  • D에 대해 이 식의 기댓값을 구하고 마지막 항을 정리하면 다음과 같이 된다.

  • 첫 번째 term을 bias라고 하고, 두 번째 term은 variance라고 한다.
  • 최종적으로 3.37에 식을 대입하면 기대 오류를 다음과 같이 정의할 수 있다.

  • 각각의 값들은 다음과 같다.

  • 우리의 목표는 Expected loss E[L] 값을 최소화하는 것이다. 그리고 이 값은 위의 3가지 요소로 나누어 고려할 수 있다.
  • 편향과 분산 사이에는 trade-off 관계가 있으며 적절히 조절하여 Expected loss가 작도록 해야 한다.

    • 아주 유연한 모델은 낮은 bias와 높은 variance
    • 엄격한 모델은 높은 bias와 낮은 variance를 가지게 된다.

  • 위의 그림은 bias와 variance의 trade-off 관계를 나타낸다.
    • L=100개의 데이터 집합들이 있으며, 각각의 집합은 N=25인 데이터 포인트로 구성되어 있다.
    • 각각의 학습 결과는 왼쪽 그림의 붉은 색 선이 된다.
    • 오른쪽 그림의 붉은 색 그래프는 왼쪽 샘플 집합 결과의 평균 값이며, 녹샌선은 우리가 예측 해야 할 sin2π 곡선이다.
    • λ 값을 변화시켜 가면서 결과를 확인한다.
  • lnλ값이 큰 경우 높은 bias와 낮은 variance 값을 가진다.
    • 따라서 각각의 샘플 집합들 사이의 분산이 작다.
    • 실제 예측 범위가 제한적이라 결과가 옳지 않을 수 있다.
  • lnλ 값이 작은 경우 낮은 bias와 높은 variance 값을 가진다.
    • 예측 값과는 매우 유사한 것을 알 수 있다.
    • 하지만 분산도가 매우 크다.
    • 샘플 수가 충분하지 못하면 이러한 현상이 발생하기 때문에 샘플 수를 충분히 확보한다.

  • 위와 같은 bias-variance의 trade-off 관계를 수량적으로 확인해 볼 수 있다.

  • 적분된 제곱 bias와 variance에 대한 값은 다음처럼 주어진다.

  • 이 그래프를 보면 결국 분홍색 선을 골라야 하는 것을 알 수 있고 이 때 테스트 에러도 최소가 되는 것을 확인할 수 있다.

Youtube에 있는 David Silver의 Reinforcement Learning 강의를 보고 작성하였습니다.

3. Planning by Dynamic Programming

  • Model Free : environment에 대한 정보를 가지고 있지 않을 경우
  • Model Based : environment에 대한 모델이 있는 경우
    • 이러한 경우에 대해서 Planning, Dynamic Programming을 사용한다.

Introduction

  • What is Dynamic Programming?

    알고리즘 문제 기법에서 사용하는 DP, 동적 계획법과 같은 뜻을 가지고 있다. 복잡한 문제에 사용하는 방법으로써 문제를 여러 subproblem으로 쪼갠 뒤에 이 문제를 해결하고 합쳐가면서 풀어가는 방식이다.

    • 다음과 같이 두 가지 특성을 가지는 문제에 대해서 DP를 사용하는 것이 일반적이다.
      • Optimal substructure
        • Optimal한 해는 subproblems들로 분해될 수 있다는 것이다.
      • Overlapping subproblems
        • Subproblem 들이 많이 사용되어서 이를 저장해두었다가 사용할 수 있다.
    • MDP는 위 두 가지 속성을 가지고 있으므로 DP를 사용할 수 있다.
      • Bellman equation은 재귀적으로 분해가 가능하고, value function은 해를 저장하고 재사용할 수 있도록 한다.
  • Planning by Dynamic Programming

    DP는 MDP의 모든 것을 알고 있다고 가정한다. 즉 Planning 문제를 해결하는 것이다.

    DP는 크게 두 가지 방법으로 나뉘게 된다.

    • Prediction
      • value function을 학습하는 것
      • MDP, policy가 있을 때 그 policy를 따를 경우의 value function이다.
      • policy evaluation 문제
    • Control
      • optimal 한 policy를 찾는 문제
      • MDP만 있고 optimal 한 policy를 찾아야 한다.
      • policy Iteration, value Iteration

Policy Evalutation

주어진 policy를 평가하는 문제, 이 policy를 따라 간다면 return을 얼마 받는가. 즉 value function을 찾는 문제

초기 value 값을 랜덤하게 초기화 한 후 Bellman Equation을 이용해서 다음 상태 s'를 이용해서 각각의 상태 s의 value 값을 반복적으로 업데이트 한다. 이 때 synchronous backup을 사용한다.

Example

위와 같이 계속해서 반복하다보면 정책이 수렴하는 것을 알 수 있다.

Policy Iteration

위와 같이 반복적인 업데이트를 통해서 모든 상태 s에 대해 value 값을 구할 수 있다.(Evaluate) value 값이 최대가 되는 방향으로 greedy하게 행동하면 초기에 만들었던 Random한 Policy를 개선된 Policy로 만들 수 있다.(Improve) 위와 같은 예시에서는 금방 최적의 Policy로 찾아가는 것을 알 수 있다.

따라서 일반적인 경우에는 Policy를 evaluation해서 value들을 구하고, 그 value들을 바탕으로 Policy를 improvement하는 방향으로 발전시키면 된다.

그런데 과연 greedy 하게 정책을 개선시키는 것이 성능을 항상 좋게 만들까?

다음과 같은 이유들로 항상 그렇다고 하며, 수렴을 하는 포인트는 optimal 하다고 한다.

  • Modified Policy Iteration

    하지만 꼭 수렴할 때까지 계속해서 반복해서 진행해야 하는가? 에 대한 의문을 가질 수 있다. 실제로 무한히 반복해서 수렴할 때까지 진행을 하지 않고, k번을 반복해서 그 점을 사용해도 충분히 합리적으로 사용할 수 있다고 한다.

Value Iteration

Value Iteration은 Policy Iteration과는 다르게 Bellman Optimal Equation을 이용하는 것이다.

  • Deterministic Value Iteration
    • subproblem의 solution을 알면 Bellman Optimal Equation을 이용해서 s에서의 solution을 알 수 있다.
    • 이러한 반복을 계속해서 한다.
  • 아래는 위의 Grid world의 Value Iteration을 적용한 것이다.

  • 반복해서 진행하면 세번째 iteration에서 converge 하는 것을 알 수 있다.

Summary of DP Algorithms

Problem Bellman Equation Algorithm
Prediction Bellman Expectation Equation Iterative Policy Evaluation
Control Bellman Expectation Equation
+ Greedy Policy Improvement
Policy Iteration
Control Bellman Optimality Equation Value Iteration

아래 모든 내용들은 Christopher Bishop의 pattern recognition and machine learning에서 더 자세히 볼 수 있습니다.

2.3.0 가우시안 분포

  • 가우시안 분포는 보통 정규분포로 알려져 있으며 단일 변수 x에 대해 가우시안 분포는 다음과 같이 기술된다.

    • 여기서 u는 평균 시그마^2은 분산을 의미하며, 입력 변수가 다차원인 경우에도 기술할 수 있다.
  • 가우시안 분포는 단일 실변수에 대해서 엔트로피를 극대화하기 위해 사용된다.

  • 또한 여러 확률 변수의 합에 대해 고려하는 경우에 사용되며, 이 때 중심 극한 정리라는 개념을 사용한다.

  • 중심 극한 정리

    • 표본 평균들이 이루는 분포는 샘플 크기가 큰 경우 모집단의 원래 분포와 상관없이 가우시안 분포를 따르게 된다.

    • 즉 동일한 확률 분포를 가지는 N개의 독립 확률 변수들의 평균 값은 N의 크기가 충분히 크다면 가우시안 분포를 따른다는 것이다.

    • 표본이 가우시안 분포를 따른다는 것이 아니라 표본의 평균이 가우시안 분포를 따르는 것이다.

    • N이 커질수록 정규 분포의 모양을 만드는 것을 알 수 있다.


  • 가우시안 분포의 기하학적인 형태를 살펴보자

    • x에 대한 가우시안 분포의 함수적 종속성은 지수상에서 나타난다.

    • 이는 이차식의 형태를 띤다.

    • 여기서의 △ 값은 u로부터 x까지의 마할노비스 거리라고 한다. 이 마할노비스 거리에서 공분산이 항등 행렬이 된다면 유클리디안 거리가 된다.

  • 지수 연산으로부터 비대칭적인 요소들이 사라질 것이기 때문에 공분산 행렬이 대칭행렬이 된다.

  • 따라서 다음과 같은 식을 적용할 수 있다.

  • 공분산 행렬에 대한 모든 고유 벡터는 단위 직교한다. (공분산 행렬이 대칭 행렬이므로)

    • 따라서 위에 언급한 ui는 단위 직교 벡터를 의미한다.

  • 이제 고유 벡터를 이용해서 공분산 행렬을 전개할 수 있으며 다음의 형태를 띠게 된다.

  • 역행렬도 쉽게 구할 수 있다.

  • 이제 이 식을 (2.44)에 대입할 수 있다.

  • 여기서 y는 정규직교 벡터 ui들로 정의되는 새로운 좌표계라고 해석할 수 있다.

    • 즉 가우시안 함수의 원점을 u로 옮기고 고유 벡터를 축으로 회전 변환되는 식을 의미한다
  • 이러한 변환을 주축 변환이라고 한다.

    • 모든 고윳값들이 양의 값을 가진다면 이 표면은 타원형을 띤다.
    • 타원형의 중심은 u에 위치하며, 이 타원형의 축은 ui상에 자리하게 된다.
    • 각각의 축 방향에 대한 척도 인자는 람다^1/2로 주어진다.

  • y로 정의되는 새로운 좌표 체계상에서의 가우시안 분포의 형태에 대해서 살펴보도록 한다.

  • x 좌표계에서 y 좌표계로 변환되는 과정에서 야코비안 행렬 J를 가지게 된다.

    • 여기서 Uji는 행렬 U^T의 원소에 해당한다. U의 정규직교성을 바탕으로 야코비안 행렬의 행렬식 제곱이 다음과 같음을 알 수 있다.

    • 공분산 행렬의 행렬식은 고유값의 곱으로 표현할 수 있다.

  • 따라서 yj 좌표계에서 가우시안 분포는 다음의 형태를 가지게 된다

    • 이는 D개의 독집적인 단병량 가우시안 분포들의 곱에 해당한다.
    • 즉 고유 벡터를 이용해서 축을 변환시켜 얻은 식은 결국 차원간 서로 독립적인 정규 분포를 만들어낸다.
    • 역시나 적분 값이 1을 가지는 것을 알 수 있다.
  • 가우시안 분포의 모멘트값을 살펴봄으로써 평균과 공분산 행렬을 어떻게 해석할 수 있는지 알아보자.

  • x 축에 대해 평균값을 살펴보는데 z=x-u로 놓고 식을 전개한다.

    • 이 식은 z에 의해 좌우 대칭인 함수가 만들어진다.

    • z+u가 포함되어 있어서 z 항이 대칭성에 의해 사리게 된다.

    • 다음과 같이 평균이 구해진다.

  • 이제 2차 모멘트 값을 살펴보도록 한다.

    • 여기서 (z+u)(z+u)T를 전개할 수 있으며, 이 수식에서 uzT, zuT는 서로 대칭 관계이므로 제거된다.
    • uuT는 수식에서 상수의 역할이므로 적분 바깥 쪽으로 나오게 된다. 정규화 되어 있으므로 1의 값을 가진다.
    • zzT 항을 집중해서 보면 된다.
    • 여기서 yj= ujTz이다.

    • 따라서 식을 다음과 같이 전개 가능하다.

    • 원 식에 대입하며 다음과 같은 결과를 얻는다.

  • 공분산 값도 구할 수 있다.

    • E[x]=u이므로 동일한 결과를 얻는다.


  • 가우시안 모델은 널리 사용되는 모델이지만 몇 가지 제약들을 가지고 있다.

  • 자유 매개변수의 개수

    • D개의 차원을 가진 데이터에서 총 D(D+3)/2 개의 독립적인 파라미터를 가지게 된다.

      • u는 D개, 공분산은 D(D+1)/2 개를 가지게 된다.
    • 따라서 D가 증가하게 되면 매개변수의 총 개수가 이차로 증가하게 된다.

      • 이러한 경우에는 역행렬을 계산하는 것이 매우 느려질 수 있다.

      • 이를 해결하는 방법 중 하나는 대각 행렬의 형태를 지닌 공분산 행렬만을 사용한다.

        • 이러면 총 2D개의 독립 매개변수만을 고려하면 된다.
        • 이에 대응하는 상수 밀도의 경로는 좌표축상에 따라 정렬된 타원의 형태를 띤다.
      • 다른 방법은 공분산을 단위행렬에 비례하도록 제한한다.

        • 이를 등방성 공분산이라고 부른다.
        • D+1개의 독립적인 매개변수가 있다.
        • 상수 밀도의 경로가 구의 형태를 띤다.
      • (a)는 일반적인 2차원 가우시안 분포, (b)는 공분산이 대각 행렬인 2차원 가우시안 분포, (c)는 공분산이 등방성 공분산인 2차원 가우시안 분포

      • 이러한 방법을 통해 자유도를 제한하고 역행렬 계산을 더 빠르게 한다.

      • 하지만 확률 밀도의 형태를 상당히 제약시키며, 그에 따라 모델에 데이터상의 흥미로운 상관관계를 표현하는 것을 방해할 수 있다.

  • 분포가 본질적으로 단봉(unimodal) 분포

    • 따라서 다봉 분포에 대해 적절한 근사치를 제공할 수 없음.
    • 가우시안 분포는 너무 많은 매개변수를 가질 수 있다는 측면에서는 지나치게 유연할 수 있고, 적절하게 표현할 수 있는 분포들의 종류가 제한되어 있다는 측면이 있다.
    • 이를 해결하기 위한 방법들
      • 잠재변수(latent, hidden, unobserved)를 통해 해결할 수 있다.
      • 가우시안 혼합 모델을 통해 해결할 수 있다.
    • 계층 모델을 이용하여 이를 해결할 수 도 있다.
      • MRF(Markov Random Field)
        • 이미지 처리를 위한 확률 모델로 사용
        • 픽셀의 공간적 구성을 반영한 구조를 도입해 쉽게 렌더링할 수 있음.
      • Linear Dynamaic System
        • 시계열 데이터 모델링
        • 매우 큰 관측 모델과 잠재 변수의 사용
      • 8장에서 이를 다루도록 한다.

'Book > Machine Learning' 카테고리의 다른 글

[ML]ch 4. Linear Models for Classification - part 1  (0) 2020.02.10
[ML]ch 3. Linear Models for Regression  (0) 2020.02.03
[ML]ch 1. Introduction-part 2  (0) 2020.01.20
[ML]ch 1. Introduction-part 1  (0) 2020.01.13
[ML]chapter 0. Beginning  (0) 2020.01.13

*Youtube에 있는 David Silver의 Reinforcement Learning 강의를 보고 작성하였습니다.

Markov Decision Process을 지난 강의에서 배웠던 내용으로 설명하면, 강화학습을 위해 환경을 완전하게 알고 있는 것을 의미한다. 즉 full observable해야 한다. 이러한 이유로 RL의 거의 모든 문제는 MDP로 설계가 되어 있고, MDP하지 않다면 MDP하도록 조건을 더 추가시켜줘야 한다.

Markov Property

이전 강의에서 잠시 다뤘던 내용이다. "Markov하다" 라는 것은 다음 상태는 과거 상태에는 독립적이고 현재 상태에만 종속을 한다는 것이다. 즉 다음과 같다.

예시로 설명하면 다음과 같다. 현재 내가 장기(체스)를 두고 있다고 하자. 그러면 지금 현재 기물들이 어떻게 놓여져 있는지가 다음 수를 두는 것에 영향을 줄 뿐, 이전에 어떻게 움직였는지는 전혀 다음 수에 도움이 되지 않는다.

State Transition Matrix

Markov를 설명하기 위해 도움이 되는 정의 중 하나이다. state transition probability는 Markov한 state s에서 다음 상태 s'으로 이동할 확률을 뜻하고, Matrix는 이러한 확률을 행렬꼴로 모아둔 것이다.

Markov Process

앞으로 다룰 Markov 대한 성질들의 가장 기본이 되는 과정이다. memoryless random process라고 하는데, 이는 Markov의 특징을 말하는 것이다. Markov Process는 <S,P>로 정의되고, S는 state들의 집합, P는 state transition probability matrix이다. 다음은 아기가 잠에 드는 과정을 도식화한 것이다.

상태천이행렬이며, 빈 공간은 0이라 생각한다.

여기서 각 행동은 다 타원형으로 표시되어 있고, '잔다' 라는 상태만 네모로 표시되어 있는데 이는 terminate state, 종료 상태를 의미한다. 각 행동으로 이동하는 화살표에 확률이 써져 있는데, 아직은 모든 상태는 확률에 의해서만 바뀐다. 즉, '눕는다.' 라는 상태에서는 70% 확률로 논다. 라는 상태로 이동하고, 30%으로 확률로 잠에 들기 시작하는 상태로 이동하는 것이다.

상태를 이동하는 상황이 여러가지 있는데 이들을 episodes라고 부른다.

Markov Reward Process

Markov Process에 Reward function이 추가된 개념으로 <S,P,R,r>와 같으며 R은 reward function으로 Rs=E[Rt+1|St=s]이고, r 은 감쇠인자로써, 0과 1 사이의 값을 가진다. 이 단계에서 새로 정의되는 개념들이 있어 이를 정리하고 진행한다.

Reward가 추가 되었다.

Return

return Gt는 t 시간이 지난 뒤에 얻은 총 보상을 의미한다. 

  • Why discount? 감쇠인자를 사용하는 이유는 무엇일까?
    • 수학적으로 편리하다. 감쇠 인자를 0과 1 사이의 값으로 설정을 했기 때문에 return 값이 무한히 커지는 것을 막을 수 있다. 즉 bounded하게 만들 수 있다.
    • 사람이 선호하기 때문이다.
      • 만약 누군가 당신에게 지금 커피를 사줄지? 아님 10달 뒤에 커피를 사줄지 물어볼 수 있다.
        • 대부분 지금 사달라고 할 것이다.
    • 불확실성을 표현하기 위해서
      • 위의 예시로 생각하보면 지금 사달라고 선택을 하는 이유가 10달 뒤에 진짜 커피를 사줄지는 불확실했기 때문일 것이다.

Value Function

value function은 현재 상태 s로 부터 시작했을 때 return의 기댓값을 의미한다.

 

지금까지 예시에서 감쇠인자 값을 0이라 가정했을 때, 다음과 같이 value function 값이 구해진다.

지금은 state들이 단순해서 충분히 손으로도 계산을 할 수 있지만 더 많은 state들이 복잡하게 연결된다면 손으로 하는 것은 어렵게 될 것이다. 따라서 이를 위해 Bellman Equation이라는 것을 사용한다.

Bellman Equation

value function을 다음과 같이 표현할 수 있다.

Bellman Equation으로 value function을 그림으로 표현하면 다음과 같다. 현재 상태의 value function은 현재 보상을 받은 뒤(Rs)에 다음 상태들의 value function 합(sigma Pss'v(s'))에 감쇠 인자를 곱한 값을 얻는다는 것이다.

 따라서 이와 같이 value function으로만 구성된 식을 matrix form으로 변환한다면 역행렬을 통해서 한번에 구할 수 있게 된다.

하지만 이 연산은 O(n^3)에 해당하는 복잡도를 가지고 있다. 따라서 작은 MRP에서만 계산이 가능하고, 큰 경우는 DP, Monte-Carlo 방법등으로 구하게 된다.

Markov Decision Process

Markov Reward Process에서 action이 추가된 단계이다. <S,A,P,R,r>와 같이 정의 하며 A는 action들의 집합을 의미한다.

또한 action이 추가되었기 때문에 상태천이행렬 P와, reward function R에 a에 관한 식이 들어가게 되었다. 따라서 슬라이드에서 소개한 내용에 action을 추가하면 다음과 같다.

그리고 Action이 생김에 따라서 몇 가지 용어를 정의해야 한다.

Policy

정책 π 는 현재 주어진 상태에서 action a를 수행할 분포를 의미한다.

따라서 정책은 agent 행동을 정의한다고 할 수 있다. 그리고 이 정책을 이용해서 상태천이행렬 P와 reward function R을 다음과 같이 다시 정의할 수 있다.

 

Value Function

  • state-value function

state value function은 현재 상태 s가 주어졌고, 정책을 따른다고 했을 때 얻을 수 있는 return의 기댓값을 의미한다.

  • action-value function

action value function은 현재 상태가 s이고, action a를 한다. 그리고 정책을 따른다고 했을 때, 얻을 수 있는 return의 기댓값을 의미한다.

 

Bellman Expectation Equation

위에서 정의했던 state value function과 action value function을 Bellman equation을 사용하기 위해서 Immediate reward와 future reward 형태로 분해할 수 있게 된다.

하지만 위 식으로는 실제로 구현을 하는 것이 힘들기 때문에 직접 구현을 위해 조금 더 명백한 형태로 변형이 필요하게 됩니다.

 위 그림에서 흰색 원은 state를 의미하고, 검은색 원은 action을 의미합니다. 위 그림을 해석해 보면 현재 상태 s에서 가능한 action들은 2개가 있는 것입니다.(실제로는 더 많은 검은색 점이 있을 수 있습니다.) 그러면 agent가 선택한 당시의 정책에 따라 action을 할 확률이 정해질 것이고, 그 때마다 action-value function을 구할 수 있게 됩니다. 

 따라서 위 그림으로 보아 우리는 현재 state s에서의 state value function을 구하기 위해서 각 action을 할 확률(정책)과 그 action에서 발생하는 value state function을 곱한 것들의 합으로 표현을 할 수 있게 됩니다.

즉 다음과 같이 식을 얻을 수 있습니다.

하지만 아직 이 형태로는 현재 state value function과 다음 state value function과의 관계를 알 수 없습니다. 그러므로 action value function에 대해서 식을 전개해보도록 하겠습니다.

state s에서 action a를 했을 때의 그 action에 대한 value는 두 가지로 나뉘게 됩니다. state s에서 action a를 했을 때의 reward와 그 다음 state의 value function입니다. 그런데 이 중 다음 state value function은 다음 시점의 value function이므로 감쇠 인자를 적용시켜줘야 합니다. 또한 상태가 변한 것이므로 상태 전이 확률도 적용시켜줘야 합니다. 따라서 다음과 같이 식을 구성할 수 있습니다.

따라서 위 두 내용을 모두 한 번에 합치면 다음과 같이 됩니다.

지금까지 state value function을 설명하기 위해 전개를 한 것처럼 이를 action value function을 설명하기 위해 전개를 진행하면 다음과 같이 됨을 알 수 있습니다.

이제 식을 state, action value function 하나씩으로만 표현을 할 수 있기 때문에 이전에 matrix form으로 변경해서 구했떤 것처럼 구할 수 있게 된다.

Bellman Optimal Equation

강화학습은 기본적으로 최대의 보상을 얻는 정책을 찾는 것을 목표로 하고 있기 때문에 얻을 수 있는 기댓값보다는 최대 보상을 얻을 수 있는 것이 더 중요합니다. 따라서 앞서 정의했던 value function들을 다음과 같이 정의할 수 있습니다.

위의 식으로 optimal한 value function을 구할 수 있다면 주어진 state에서 value가 가장 높은 action을 선택할 수 있고, 이를 통해서 optimal한 정책을 구할 수 있게 됩니다. optimal한 값을 항상 얻도록 만들어야 하므로 다음과 같이 정책을 수식을 적을 수 있습니다.

앞서 Expectation Equation에서 진행했던 것처럼 Optimal도 진행을 할 수 있고 다음과 같이 얻을 수 있다.

하지만 Bellman Optimality Equation은 max 연산때문에 non-linear하다. 그렇기 때문에 일반화된 해법을 제공할 수는 없고, 이를 위한 여러가지 다른 방법들을 제시한다.

  • Value Iteration
  • Policy Iteration
  • Q-learning
  • Sarsa

 

아래 모든 내용들은 Christopher Bishop의 pattern recognition and machine learning에서 더 자세히 볼 수 있습니다.

1.4 차원의 저주

  • 지금까지는 입력변수의 범위가 1차원 데이터였지만 현실에는 이러한 경우는 거의 없다.

  • 이 데이터는 오일, 물, 가스가 혼합되어 운반되는 송유관에서 측정된 데이터다.

    • 이 데이터는 총 12 차원의 입력 벡터로 구성되어 있다.

    • 위 그림은 x6, x7의 차원을 표현한 산포도이다.

    • 점의 색깔은 데이터의 클래스를 의미한다.

    • x에 대해서 이 데이터가 어떤 클래스에 속할지를 판단해야 하는 문제이다.

  • 가장 단순한 접근법은 입력 공간을 같은 크기의 여러 칸들로 나누는 것이다. x가 속한 셀 내에서 가장 많은 클래스를 확인한 뒤 그 클래스로 분류를 하는 방법이다.

    • 이 방법은 입력 변수가 더 많은 경우를 고려할 때 셀의 개수가 지수승만큼 증가하게 된다.

    • 판별 함수를 생각해보면 앞서 사용한 방식을 사용하면 구해야 할 차원 D^M까지 증가하게 된다.


  • 고차원에서 발생할 수 있는 심각한 문제를 차원의 저주(curse of dimensionality)라고 부른다.

    • 저차원 공간에서 얻은 아이디어가 고차원 공간에서 반드시 적용되는지는 않다.

    • 고차원 입력값에 대해 사용할 수 있는 효과적인 패턴 인식 테크닉이 존재하긴 함.

      • 실제 세계의 고차원 데이터들의 경우에 유의미한 차원의 수는 제한적이다.

      • 실제 세계의 데이터는 보통 매끈한 특성을 가지고 있다.

1.5 결정 이론

  • 결정 이론 : 불확실성이 존재하는 상황에서 의사 결정을 내려야 할 때 최적의 의사 결정을 내릴 수 있도록 하는 것

  • 입력 벡터 x와 타깃 변수 벡터 t가 존재하는 상황에서 새로운 입력 벡터 x가 주어지면 타깃 변수 벡터 t를 예측하는 문제가 있다고 하자.

    • p(x,t)는 불확실성을 요약해서 나타내 줄 것이며 이 것을 찾아내는 것은 추론(inference) 문제의 대표적인 예시이다.
  • 이런 확률 정보를 바탕으로 최적의 결정을 하려고 하는데 이를 결정 단계라고 한다.

1.5.1. 오분류 비율의 최소화

  • 잘못된 분류 결과의 숫자를 가능한 줄이는 것이 목표이다. 이를 위해 x를 가능한 클래스들 중 하나에 포함시키는 규칙이 필요하다.

    • 이 규칙은 입력 공간을 결정 구역이라는 Rk들로 나누게 될 것이며 Rk에 존재하는 포인트들은 클래스 Ck에 포함될 것이다.

    • 이때 각 구역의 경계면을 결정 경계, 결정 표면이라고 부른다.

  • 잘못 분류할 결과를 확률 식으로 표현할 수 있다.

    • 따라서 이를 최소화하는 방향으로 모델을 설계해야 한다.

1.5.2. 기대 손실 최소화

  • 현실적으로 오분류의 수를 줄이는 것으로는 부족하다.

    • 따라서 암의 진단 예제의 경우에서 오분류를 하는 경우를 생각해보자.

      • case1 : 실제로 암이 아닌데 암이라고 진단할 경우

        • 환자의 기분은 나쁠 수 있지만 추가 검사를 통해서 아니라는 것을 밝혀낼 수 있다.
      • case2 : 실제로 암인데 암이 아니라고 진단할 경우

        • 이 경우에는 제 때에 치료를 받지 못하게 되어 죽음이라는 결과를 얻을 수 있다.
    • 즉 case1보다 case2가 심각한 경우이므로 case2에 더 강한 페널티를 부여하는 것이 필요하다.

  • 이를 위해 cost function, loss function이라는 개념을 도입해서 이러한 문제들을 공식화할 수 있다.

    • 하나의 샘플 x가 실제로는 특정 클래스 Ck에 속하지만 이 샘플의 클래스를 Ci로 선택할 때 들어가는 비용이라고 정의한다.

    • 모든 경우에 대한 Loss를 정의한 것을 loss matrix라고 한다.

  • Loss 함수를 최소화하는 해가 최적의 해인데 Loss 함수에 대한 평균값을 최소화하는 방법을 사용한다.

    • 각각의 x 값은 결정 구역 Rj들 중 하나에 독립적으로 포함된다. 그렇기 때문에 에러 값이 최소가 되는 Rj를 선택해야 한다.

    • 결국 x에 대해서

      를 최소화하는 클래스를 찾으면 된다.

    • 로 치환 가능하고, p(x)는 클래스마다 동일하다고 생각하고 생략한다.

    • 새로운 xnew가 들어왔을 때, 이 식을 사용한다.

1.5.3 거부 옵션

  • 사후 확률 또는 결합 확률이 1에 가까운 것이 아니라 클래스 별로 비슷할 경우 분류에 대한 에러가 커지게 된다.
  • 이러한 범위에 존재하는 x에 대해 특정한 클래스로 할당을 하는 것이 힘들기 때문에 결정을 회피하게 되는데 이를 reject option이라고 한다.

  • 즉 그림을 보면 특정 수준(threshold)를 넘지 못하면 클래스 분류를 하지 않는 것이다.

    • 1/K<theta<1로 고려를 하며 theta를 조절해 거부되는 예시의 수를 조절할 수 있다.

1.5.4. 추론과 결정

  • 지금까지 분류 문제를 두 개의 단계로 나누어서 알아보았다.

    • 추론 단계 : 훈련 집단을 활용하여 p(Ck|x)에 대한 모델을 학습시키는 단계

    • 결정 단계 : 학습된 사후 확률들을 이용해서 최적의 클래스 할당을 시행

  • 결정 문제를 푸는 데에는 세 가지 다른 접근법이 있으며, 복잡도가 높은 순으로 설명한다.

  • 생성 모델(generative model)

    • 각 클래스에 대해서 조건부 확률 밀도와 사전 확률을 따로 구해 사후 확률을 추론함.

    • 결합 분포를 모델링한 후 정규화를 통해 사후 확률을 구할 수 있음.

    • 이렇게 입력값과 출력값의 분포를 모델링하는 방식을 생성 모델이라고 하며, 이 분포로부터 새로운 샘플을 생성할 수 있는 능력이 있다.

  • 판별 모델(discriminative model)

    • 사후 확률을 계산하는 추론 문제를 풀어낸 후에 결정 이론을 적용하여 각각의 입력 변수 x에 대한 클래스를 구한다. 사후 확률을 직접 모델링하는 이러한 방식을 판별 모델이라고 한다.
  • 판별 함수(discriminative function)

    • 각각의 입력값을 클래스에 사상하는 판별 함수를 찾는다. 베이즈 확률 모델에 의존하지 않고 판별식을 찾아내는 방식이다.

  • 세 가지 방식의 장단점에 대해서 논의해보자.

    • 생성 모델

      • 가장 복잡한 방식으로 x, Ck에 대해서 결합 분포를 찾아야 하는데 대부분의 사례에서 고차원이며 많은 훈련 집합을 필요로 한다.

      • 이 모델의 장점은 이 식을 이용해서 데이터의 주변 밀도도 구할 수 있다. 이를 바탕으로 발생 확률이 낮은 새 데이터(outlier)를 발견할 수 있다.

    • 판별 모델

      • 사후 확률을 계산하는 방식이 생성 모델보다 간편하다.

      • 클래스별 조건부 분포는 사후 확률에 많은 영향을 주지 않는다.

    • 판별 함수

      • 입력 공간을 결정 공간에 바로 매핑시키는 방식이다. 추론 단계와 결정 단계를 하나의 학습 문제로 합친 것이다.

      • 확률론을 다루지 않으므로 사후 확률을 알지 못하게 된다.


  • 사후 확률을 구하는 것의 유의미한 이유는 다음과 같은 이유들 때문이다.
  • 위험의 최소화

    • Loss matrix가 시간에 따라 바뀔 수도 있다.

    • 이는 사후 확률을 알고 있다면 쉽게 최소 위험 결정 기준을 구할 수 있다.

  • 거부 옵션

    • 사후 확률을 알고 있으면 거부 기준을 쉽게 구할 수 있다.
  • 클래스 사전 확률에 대한 보상

    • 클래스의 발현 비율이 다른 경우 이를 해결하기 위해 모델을 수정하게 된다.

    • 수정된 데이터 집합을 사용하여 사후 확률에 대한 모델을 찾아내고 이를 통해 사전 집합을 구할 수 있다.

  • 모델들의 결합

    • 복잡한 문제를 좀 더 작은 문제로 나누어 해결하고 조합해서 사용된다.

    • 간단한 모델로 나누고 이를 독립적으로 가정하고 식을 나열한다.

    • 이를 조건부 독립이라고 하며 사후 분포에 대해서도 식을 전개할 수 있다.

    • 하나의 어려운 결합 확률을 구하는 대신에 모델링이 쉬운 두 개의 사후 확률을 구해 이를 결합하는 것이다.

1.5.5 회귀에서의 손실 함수

  • 지금까지 분류에 대해서 알아보았으니 회귀에 대해서도 손실 함수를 알아본다.

  • 회귀 함수의 손실 함수는 위와 같은 식이며 분류와 같이 기대 손실 함수로 사용한다. 보통 L(t, y(x))를 {y(x)-t}^2으로 사용한다.

  • 그래서 위와 같은 식을 얻게 되고 우리의 목표는 E [L]을 최소화하는 y(x)를 찾는 것이다. 이는 미분을 통해서 구할 수 있다.

  • 이는 x가 주어졌을 때의 t의 조건부 평균으로써 회귀 함수라고 한다. 다음 그림을 참고하면 이해가 더 쉬울 것이다.

  • 다른 방식으로도 도출할 수 있는데 최적의 해가 조건부 기댓값이라는 지식을 바탕으로 식을 전개할 수 있다.

    • E [t|x]를 빼고 더한 것으로 아무런 영향을 주진 않는다. 수학적으로 정답인 평균값이다.

    • y(x) 샘플 데이터로부터 만들어진 모델 함수로 우리가 예측한 근사 식이다.

    • 전개식을 정리하면 위와 같아지게 된다. 크게 두 부분으로 나누어진다.

      • 첫 번째 term은 모델 y(x)와 관련된 요소로 조건부 평균을 통해 최소화하는 항이다.

      • 두 번째 term은 분산으로 샘플이 포함하고 있는 노이즈를 의미한다.


  • 분류에서도 최적의 결정을 내리기 위한 방법들이 있었는데, 회귀에서도 다음과 같은 접근법들이 있다.

    • 결합 밀도를 구하는 추론하는 방법, 이 식을 정규화하여 조건부 밀도를 구하고 최종적으로 조건부 평균을 구한다.

    • 조건부 밀도를 구하는 추론 문제를 풀고 조건부 평균을 구한다.

    • 훈련 데이터로부터 회귀 함수 y(x)를 구한다.

1.6 정보이론

  • 이산 확률 변수 x를 고려해 보자. 이 변수가 특정 값을 가지고 있는 것을 확인했을 때 전해지는 정보량은 얼마만큼일까?

    • 정보의 양은 '학습에 있어 필요한 놀람의 정도'로 해석하면 된다.

      • 따라서 항상 일어나는 일은 0이 될 것이다.

      • 그렇기 때문에 확률 분포 p(x)에 종속적이게 된다.

  • 정보의 양을 h(x)라고 정의하면 정보는 결국 확률 함수의 조합으로 표현이 되게 될 것이다.

  • 정보의 양을 나타내는 함수 h(x)는 확률 함수 p(x)의 음의 로그 값이다.

    • 음의 부호는 정보량이 음의 값을 가지지 않도록 하기 위해 붙여졌다.

    • 로그의 밑은 임의로 정하는데 보통 2를 선택하고 h(x)의 단위는 비트가 될 것이다.

  • 이때 전송에 필요한 정보량의 평균치는 다음과 같이 구할 수 있다.

  • 이 식은 매우 중요한데 이를 엔트로피(entropy)라고 정의한다.

    • 엔트로피는 평균 정보량을 의미하며, p(x)인 분포에서 h(x) 함수의 기댓값을 의미하게 된다.
  • noiseless coding theorem

    • 엔트로피는 랜덤 변수의 상태를 전송하는데 필요한 비트 수의 하한선
  • N개의 동일한 물체가 몇 개의 통 안에 담겨 있다고 가정해 보자.

    • i번째 통 안에 ni개의 물체가 담기도록 한다.

    • 전체 영역에 N개의 물체가 무작위로 놓여있다고 하고, 총 나타날 수 있는 가지 수는 N! 이 된다.

    • 하지만 물체들이 어떤 순서로 놓여 있는지는 중요하지 않다. 개수만이 중요할 뿐이다. 따라서 총 가지 수는 다음과 같다.

    • 이 것을 다중도(multiplicity)라고 부른다.

    • 로그를 붙이고 적당한 상수를 넣어 식을 정리하자.

    • 비율을 그대로 유진 상태에서 N->무한대를 취하고 **Stirling’s approximation** 을 적용하도록 한다.

    • 이 것을 적용하면

    • 통 안의 물체들의 순서를 미시 상태라 하며, ni/N으로 표현되는 통 각각이 가지고 있는 물체의 숫자 비율을 일컬어 거시 상태라 한다. 다중도 W를 거시 상태의 가중치라 일컫기도 한다.

    • N -> 무한대이고, ni/N이 고정된 상수라고 하면,

  • 연속 변수일 때에는 식이 복잡하므로 생략하도록 한다.

1.6.1. 연관 엔트로피와 상호 정보

형태를 모르는 확률 분포 p(x)가 있다고 해보자. 그리고 이 확률 분포를 근사한 q(x)가 있다고 하자. 그러면 q(x)는 근사한 것이므로 정보량이 차이가 있다.

  • p(x)가 아닌 q(x)를 사용했기 때문에 추가적으로 필요한 정보량의 기댓값을 정의한다.

  • 위 정의를 Kullback-Leibler divergence, KL divergence

    • 근사 분포인 q(x)를 사용했기 때문에 정보량은 - ln q(x)을 사용한다.

    • 하지만 데이터는 p(x)이므로 기댓값은 실 분포를 대상으로 구하게 된다.

  • 을 만족한다. (non-symmetric) 그리고 항상 0보다 큰 값을 가진다.

    • 만약 p(x),q(x) 이면 KL = 0이다.
  • KL divergence는 다음과 같이 유도할 수 있다.

  • 정보 이론은 중요하지만 복잡한 내용이 많으므로 위와 같이 간략히 소개하고 추후 더 자세히 소개하는 시간을 가지도록 한다.

*Youtube에 있는 David Silver의 Reinforcement Learning 강의를 보고 작성하였습니다.

 

 

강화학습은 여러 분야에서 사용가능하다. 컴퓨터 과학, 공학, 수학, 경제학 등 여러 분야에서 사용 가능하다.

  • 머신러닝은 지도 학습, 비지도 학습, 강화 학습 세 분야로 나눌 수 있는데, 강화 학습에 대해 자세히 알아보도록 한다.

  • 강화학습이 다른 머신러닝 분야들과 다른점은 무엇일까?

    • supervisor가 존재 하지 않는다.(y 값이 존재하지 않는다.) 대신 reward라는 값이 존재한다.
    • Feedback을 바로 받는 것이 아니라 일련의 행동들이 모두 마친 뒤에 나타난다.
    • 내가 이전에 한 행동에 따라 결과가 바뀌게 된다. 즉 시점에 따라 행동이 다르다.
    • agent의 행동에 따라 얻는 데이터가 달라지게 된다. (agent는 뒤에 다시 소개한다.)
  • 강의에서 다음과 같은 예시들을 소개하고 있다.

    • Fly stunt manoeuvres in a helicopter(자율주행)
    • Defeat the world champion at Backgammon(유럽의 보드게임)
    • Manage an investment portfolio(주식)
    • Control a power station(발전소 관리)
    • Make a humanoid robot walk(로봇이 걷도록 하는것)
    • Play many different Atari games better than humans(알파고(Atari 게임))
  • Reward (Rt)

    • scalar 피드백 값, 얼마나 agent가 t 단계에서 잘 수행했는지를 나타낸다.
    • agent의 임무는 누적 보상을 최대화 하는 것.
    • 강화 학습은 reward hypothesis에 기반을 두고 있다.
      • reward hypothesis?
        • 기대 누적 보상을 최대화하는 것이 agent의 목표이다.
  • Sequential Decision Making

    • Goal : 총 reward를 최대화 하는 행동을 고르는 것.
    • 행동은 긴 기간 동안 연속적으로 발생하며 보상은 이 행동들이 마친 뒤에 얻게 된다.
    • 이로써 나중에 더 큰 보상을 얻을 수 있다면 지금 당장은 적은 보상을 선택하거나 손해를 볼 수도 있음을 의미한다.

Agent and Environment

  • agent
    • environment의 observation, reward를 받아서 agent가 action을 수행한다.
  • Environment
    • agent의 action을 받아서 바뀐 observation, reward를 agent에 전달해준다.

즉 agent는 사람, envionment는 지구로써 사람이 어떤 행위를 취하면 지구에 영향을 주게 되고 지구의 환경에 변하며 이는 다시 사람에게 영향을 주게 된다.(지구 온난화?)

History and State

  • history는 observation, actions, rewards를 일련적으로 표현한 것.

  • state는 다음에 어떤 것을 해야 하는지 결정에 도움을 주는 정보, 이 것은 history에 특정한 함수를 취함으로써 얻는다.

Environment state and Agent State

agent, environment가 각각 가지고 있는 상태, 정의상으로는 agent state는 알고 있지만 envionment state는 모른다.( ex) 사람은 자신의 정보를 바탕으로 행동을 하지만, 그렇다고 지구의 환경이 어떻게 변할지는 예측할 수 없다.(또는 매우 힘들다)

Markov state(information state)

'Markov하다' 라는 정의로 미래는 과거에 어떤 상태였는지는 관계 없이 현재 상태만이 영향을 준다는 것이다. 다음 강의에서 Markov에 대해서 자세히 설명하기 때문에 이번엔 정의만 보고 넘어간다.

  • Full observability : agent가 agent state, environment state를 모두 아는 것, 이러한 경우에 Markov decision Process라고 부르며 다음 강의에서 자세히 다룬다.

RL's major components

  • Policy
    • agent의 행동을 의미한다. 어떤 현재 상태에 있을 때 어떠한 행동을 할지를 나타낸다.
    • 결정론적 정책
      • 상태 s에 도달하면 항상 a라는 행동을 한다.
    • 통계학적 정책
      • 상태 s에 있을 때 일정한 확률에 따라 특정한 행동 a를 한다.
  • Value Function
    • 미래 reward의 예측을 하는데 사용한다.
    • 이 값으로 상태가 좋은지/나쁜지 판단할 수 있다.
  • Model
    • 환경에 다음에 어떠한 것을 할 지 예측하는 것
    • 즉 다음에 어떤 상태가 발생되고, reward가 발생하는지 알려준다.

Categorizing RL agent

  • Value Based
    • Value Function
  • Policy Based
    • Policy
  • Actor Critic
    • Policy
    • Value Function
  • Model Free
    • Policy and Value Function
  • Model Based
    • Policy and Value Function
    • Model

나중에 더 자세히 설명하도록 한다.

Learning and Planning

  • Reinforcement Learning
    • 환경은 초기에 알려져 있지 않다.
    • agent는 환경과 상호작용한다.
    • agent는 정책을 발전시킨다.
  • Planning
    • 환경의 모델을 알고 있다.
    • agent는 그 모델에서 계산을 수행한다.
    • agent는 정책을 발전 시킨다.

Exploration and Exploitation

  • Exploration(탐험)
    • 탐험은 전체 공간을 골고루 찾아보는 전략이며 항상 같은 방향으로 진행하지 않는다.
  • Exploitation(탐사)
    • 탐사는 특정한 곳 주위를 집중적으로 찾아보는 전략으로 보상이 최대화 되는 방향으로만 진행한다.
  • 이들은 trade-off 관계에 있으며, 탐험은 시간이 너무 오래 걸리고, 탐사는 지역 최적해에 머무는 문제가 발생한다.

https://www.youtube.com/watch?v=2pWv7GOvuf0&list=PLqYmG7hTraZDM-OYHWgPebj2MfCFzFObQ

 

강화학습으로 가장 유명한 알파고가 있으며 알파고를 만든 회사인 deepmind에서 David Silver가 강화학습에 대해 강의한 자료를 제공하고 있다. 따라서 이 강의를 보면서 정리한 내용들을 앞으로 올려보도록 한다.

 

https://www.youtube.com/watch?v=2pWv7GOvuf0&list=PLqYmG7hTraZDM-OYHWgPebj2MfCFzFObQ

 

아래 모든 내용들은 Christopher Bishop의 pattern recognition and machine learning에서 더 자세히 볼 수 있습니다.

1. 소개(Introduction)

  • 패턴인식이란 컴퓨터 알고리즘을 활용하여 데이터의 규칙성을 자동적으로 찾아내고, 이 규칙성을 이용하여 데이터를 각각의 카테고리로 분류하는 등의 일을 하는 분야

  • 휴리스틱 알고리즘을 통해 생성된 규칙으로 문제를 해결할 수 있다.

    • 각각의 규칙에 대해 예외 사항을 적용해야 하며 이로 인해 수많은 rule을 만들어야 함.
  • 머신러닝을 사용하면 더 나은 결과를 얻을 수 있다. 위와 같이 손으로 쓴 숫자를 분류하는 예제가 있다고 하자. 그러면 N개의 숫자들을 training set으로 활용하고, 각 숫자의 카테고리를 표적 벡터로 표현해 매개변수를 조절해 학습한다.

일반화(Generalization)

  • 훈련 데이터가 실제 모든 데이터를 대변하지 많는다.
  • 따라서 가지고 있는 데이터를 통해 새로운 예시들을 올바르게 분류하는 능력을 일반화(Generalization)이라고 한다. 이는 패턴 인식의 가장 중요한 목표다.
  • 입력 데이터를 사전에 정제하는 작업을 진행하는데 이 과정을 통해 문제를 더 쉽게 해결할 수 있다.
    • 이 과정을 전처리(preprocessing) 또는 특징 추출(feature extraction) 과정이라고 부른다.

기계 학습의 종류

  • 지도 학습(Supervised Learning)

    • 주어진 훈련 데이터가 입력 벡터와 그에 해당하는 표적 벡터로 이루어지는 문제
    • 분류(classification), 회귀(regression)
  • 비지도 학습(Unsupervised Learning)

    • 훈련 데이터가 해당 표적 없이 오직 입력 벡터 x로만 주어지는 경우
    • 군집화(clustering), 밀도 추정(density estimation)
  • 강화 학습(Reinforcement Learning)

    • 주어진 상황에서 보상을 최대화하기 위한 행동

    • 지도학습과는 다르게 입력값과 최적의 출력 값을 예시로 주지 않음

    • 탐험(Exploration)과 탐사(Exploitation) 간의 트레이드오프 문제

1.1 Example

 실숫값의 입력 변수인 x를 관찰한 후 이 값을 바탕으로 실숫값의 타깃 변수인 t를 예측하려 한다.

  • 예제에 사용될 변수를 가정하자.
    • N개의 관찰값 x로 이루어진 훈련 집합 x=(x1, x2,... xN)^T, 타깃 변수 t=(t1,..., tN)^T
    • tn은 sin(2 pi x)의 출력값에 가우시안 분포만큼의 노이즈를 더해서 만들었음

  • 그림에서 녹색 선이 sin(2 pix) 함수이며, 파란색 원이 가우시안 랜덤 분포에 의해 발생한 샘플

    • 관측된 값들은 노이즈로 인해 변질되어 있어서 각각의 주어진 x에 대해서 어떤 값이 적합한 t인지가 불확실하다.
    • 1.2절에서 진행할 확률론에서 더 자세히 이야기할 것이다.
  • 해당 곡선을 fitting 하기 위해서 다음과 같은 형태의 다항식을 활용한다.

    • 다항식을 사용한 이유는 추후에 설명하도록 한다.
  • 훈련 집합의 표적 값들의 값과 함숫값 y(x, w)와의 오차를 측정하는 오차 함수(error function)를 정의하고 이 함수의 값을 최소화하는 방식으로 피팅할 수 있다.

    • 위와 같이 오차 함수를 사용하며 각각의 데이터 포인트에 대한 예측치와 해당 표적값 사이의 오차를 제곱하여 합산하는 방식이다. 그리고 1/2는 나중의 편의를 위해서 추가되었다.
  • 우리는 E(w)를 최소화하는 w 값을 선택함으로써 이 곡선 피팅 문제를 해결할 수 있다.

    • 오차 함수가 이차 다항식의 형태를 지니고 있기 때문에 이 함수를 계수에 대해 미분하면 w에 대해 선형인 식이 나올 것이고, 오차 함수를 최소화하는 유일한 해를 찾아낼 수 있을 것이다.
    • 유일한 해 w를 앞으로 w*라고 표현한다.

  • 다항식의 차수 M을 결정해야 한다.

    • 이 문제를 Model comparison(모델 비교), Model Selection(모델 결정)이라 부른다.
    • 차수 M에 따라서 표현되는 곡선이 달라지므로 어떠한 차수를 선택할지는 중요하다.
  • M = 0,1,3,9 인 경우에 대해 다항식으로 피팅하는 예시다.

    • M=0 ,1 인 경우에는 함수를 잘 표현하지 못하는 것으로 보인다.
    • M=3 인 경우에는 가장 잘 표현하는 것으로 보인다.
    • M=9 일 경우에 완벽하게 피팅이 되는 경우로 오차 함수의 값이 0일 것이다.
    • 하지만 M=3 인 경우를 선택하는 것이 가장 좋은 선택이다.
      • 최종 목적은 새로운 데이터 x가 입력되는 경우에 가장 적합한 결과를 제공하는 일반화 모델을 얻는 것이다.
      • M= 9인 경우에는 새로운 데이터에 대해 매우 좋지 못한 성능을 보일 것이다.
  • 이처럼 주어진 데이터에 비해 M이 너무 클 경우를 과적합(over-fitting)이라고 하고, 너무 작을 경우를 과소 적합(under-fitting)이라고 한다.

    • 과적합은 bias가 작고, variance가 크다고 하며, 과소 적합은 bias가 크지만 variance가 작다고 한다.
    • bias와 variance는 트레이드 오프 관계이다.

  • 일반화의 성능을 측정할 수 있는 수치가 있으면 편리하다. 따라서 RMS 에러(Root Mean Square error)를 사용한다.

    • N으로 나눔으로써 데이터 사이즈가 다른 경우에도 비교할 수 있도록 했고, 제곱근을 취함으로 표적 값과 같은 크기를 가지도록 했다.
    • RMS가 작을수록 더 좋은 모델임을 의미한다.
  • 각각의 M에 대해서 RMS의 값을 확인해보면 과적합 되는 지점을 알 수 있다.

    • RMS의 값이 M이 커질수록 작아지는 것은 당연하다.
    • 대신 M=9처럼 test의 RMS가 급격하게 커지는 구간을 과적합 되는 지점이라고 할 수 있다.
  • 데이터의 크기에 따라 모델의 결과가 달라진다.

    • 위 그림에서 사용한 M의 값은 9로 동일하며 왼쪽은 N=15, 오른쪽은 N=100의 샘플 크기가 존재한다.
    • M=9를 사용했지만 N=100일 경우 과적합의 흔적이 보이지 않는다.
      • 즉 과적합 문제는 더 많은 샘플을 확보함으로써 해결할 수 있다.
    • 앞으로 최대 가능도(Maximum likelihood), 베이지안(Bayesian) 방법을 사용해 과적합 문제를 해결할 수 있다.
  • 정규화(regularization)를 통해 제한적인 양의 데이터 집합을 통해 복잡하고 유연한 모델을 생성할 수 있다.

    • 과적합이 발생한다면 w의 값이 매우 커지거나 매우 작아지는 현상이 발생한다. 따라서 이를 막기 위해 패널티 항을 추가하는 방식이다.
    • 여기서 ||w||^2 = W^TW 이며, 계수 람다가 정규화항의 제곱합 오류항에 대한 상대적인 중요도를 결정짓는다.

  • 람다에 대해서 더 알아보도록 한다.

    • 그림을 통해 M=9이고 동일한 크기의 샘플 데이터가 적용된 결과에 람다를 추가하면 위와 같은 현상이 발생한다.
    • ln 람다 = -18인 경우 과적합이 없어지고 원래 근사하려던 식과 매우 유사해진다.
    • 하지만 ln 람다 = 0을 보면 지나치게 큰 람다는 과소적합 현상을 만들어낸다.

1.2 확률론

패턴 인식 분야에서 중요한 것 중 하나는 ''불확실성''이다. 불확실성은 노이즈를 통해서도 발생하고 데이터 집합의 수가 제한되어 있어서 발생하게 된다.

  • 확률론(Probability Theory)

    • 불확실성을 계량화하고 조작하기 위한 이론적인 토대를 마련해 주며, 패턴 인식 분야의 중요한 기반
  • 위 그림의 예시를 통해서 확률론에 대해서 알아보도록 하자.

    • 두 개의 상자가 주어지고, 하나는 빨간색 상자, 다른 하나는 파란색 상자라고 하자.
    • 빨간색 상자에는 6개의 오렌지, 2개의 사과가 있다.
    • 파란색 상자에는 1개의 오렌지, 3개의 사과가 있다.
    • 랜덤하게 상자 하나를 골라 임의로 과일 하나를 꺼내고 넣는 작업을 수행하며, 상자 안에서 각각의 과일을 고를 확률을 동일하다.
    • 빨간색 상자를 고를 확률은 0.4, 파란색 상자를 고를 확률은 0.6이라고 하자.
      • p(B=r) = 4/10, p(B=b) = 6/10
    • 이제 '사과를 고를 전반적인 확률은?', '오렌지를 선택했을 때 파란 상자였을 확률은?'과 같은 질문에 답할 수 있어야 한다.
  • 이를 위해 확률의 두 가지 기본 법칙은 합의 법칙(sum rule), 곱의 법칙(product rule)에 대해서 알아본다.

    • 합의 법칙

    • 곱의 법칙

    • 위 수식들은 다음과 같은 과정을 통해 얻을 수 있다.

      • X가 xi, Y가 yj 일 확률을 위와 같이 적는다. 이때 Y 값과 무관하게 X가 xi 값을 가질 확률을 구해보자.

      • 이 때 ci = 시그마 nij이다. 이로부터 합의 법칙을 유도할 수 있다.

      • 곱의 법칙도 비슷하다.

      • 1.8의 식을 X=xi일 때, Y=yj일 경우를 의미하며 이를 조건부 확률이라고 한다. 따라서 1.5,1.6,1.8을 통해서 다음 1.9와 같은 관계를 도출할 수 있으며 이것이 바로 곱의 법칙이다.


  • 합의 법칙과 곱의 법칙을 이용하여 베이즈 정리를 기술할 수 있다.(유명한 정리이므로 자세한 설명은 생략한다.)

    • 이것을 토대로 사과와 오렌지 예제에 적용하면 다음과 같다.

1.2.1 확률 밀도(probability density)

  • 지금까지는 이산적인 사건을 바탕으로 확률에 대해 알아보았다면 이번에는 연속적인 변수에서의 확률에 대해 알아보도록 한다.

    • 위와 같이 표현되는 것을 확률 밀도(probability density)라고 부른다.

    • 확률은 양의 값을 가지고 x의 값은 실수에 존재해야 한다. 따라서 확률 밀도 함수는 아래 두 조건을 만족시켜야 한다.

    • x에 대해 확률 함수 p(x)가 주어졌을 때 구간 (-무한, z)에 대한 확률 값을 누적 분포 함수(cumulative distribution function)라고 한다.

    • 위 그림을 보면 이해하기 쉬우며, P(x)를 미분하면 p(x)를 얻을 수 있다.

1.2.2 기댓값과 공분산(Expectation and covariance)

  • 확률식에서 주어진 데이터에 대한 무게 중심을 구하는 것은 매우 중요한데, 주로 평균(기댓값)이 사용된다.

    • 이산 분포, 연속 분포에 일 때의 기댓값을 구하는 방법이다.

    • 간혹 여러 개의 변수를 사용하는 함수에 대해 평균값을 표기할 경우가 있다,

      • 이 때는 평균에 사용하는 주변수에 대해 기술한다.

      • f(x, y)의 평균값을 x의 분호에 대해 구하라는 의미이다.

  • f(x)의 분산은 다음과 같이 정의된다.

    • 분산은 f(x)가 평균값 E [f(x)]로부터 전반적으로 얼마나 멀리 분포되어 있는지를 나타내는 값이다. 위 식을 전개하면 f(x)와 f(x)^2의 기댓값으로 표현할 수도 있다.

    • 2개의 랜덤 변수 x와 y에 대해 공분산은 다음과 같이 정의된다.

    • x와 y가 서로 독립이라면 공분산 값은 0이 된다.

1.2.3 베이지안 확률

  • 지금까지 확률을 ''반복 가능한 임의의 사건의 빈도수''라는 측면에서 봄. 이러한 해석을 고전적 혹은 빈도적이라고 한다.
  • 베이지안 관점을 사용하면 확률을 이용해서 불확실성을 정량화하는 것이 가능하다.

    • 베이지안 관점은 확률의 개념을 빈도가 아닌 믿음의 정도로 고려하는 것
  • 앞에서 말했던 예제인 곡선 피팅 문제를 다시 생각해보자. 이 문제에서 w가 알려지지 않은 고정된 값으로 여겨졌는데 베이지안 관점을 적용하면 w에 대한 불확실성을 기술할 수 있다.

    • 이 식은 관측하기 전의 w에 대한 가정을 p(w)로 표현을 하고 w의 불확실한 정도를 수식에 반영하고 있다.

      • p(w)는 모수에 대한 사전 확률 분포를 의미

      • p(w|D)는 D를 관측한 후의 w에 대한 불확실성을 사후 확률로 표현

      • p(D|w)는 가능도 함수(likelihood function)이라고 불리며, 각각의 다른 매개변수 벡터 w에 대해 관측된 데이터 집합이 얼마나 '그렇게 나타날 가능성이 있었는지'를 표현

      • 최종적으로 다음과 같은 식을 만들 수 있다.

      • 식 1.43의 양쪽 변을 w에 대해 적분하면 베이지안 정리의 분모를 사전 확률과 가능도 함수로 표현할 수 있다.

  • 더 자세한 내용은 2장에서 살펴보도록 한다.

1.2.4 가우시안 분포

2장에서 다양한 확률 분포와 각각의 성질에 대해 살펴볼 것인데, 가우시안 분포에 대해 간단히 개념을 살펴보고 간다.

  • 가우시안 분포는 두 개의 매개변수 u와 시그마^2에 의해 통제된다. u는 평균, 시그마^2은 분산이며, 분산의 제곱근 값은 표준 편차라 불린다. 또한 분산의 역에 해당하는 값은 정밀도라고 한다.

  • 가우시안 분포를 정규 분포라고도 부르며 다음과 같은 성질들이 있다.

  • 모든 값에서 0보다 큰 값을 가지고 전체 합은 1이라는 특징은 정규화의 특징으로써 가우시안 분포가 정규화되어 있음을 알 수 있다.

    • 가우시안 분포의 기댓값과 분산은 위와 같다.

  • 하나의 관찰 데이터 집합 x=(x1, x2, x3,..., xN) T이 주어졌다고 하자. 그러면 데이터 집합 하나가 관찰될 수 있는 확률은 얼마일까?
  • 같은 분포에서 독립적으로 추출된 데이터 포인트들을 독립적이고 동일하게 분포(i.i.d) 되었다고 한다.

    • 따라서 각 사건의 주변 확률의 곱으로 표현이 된다. 따라서 조건부 확률로 다음과 같이 적을 수 있다.

    • 이것을 그림으로 나타내면 다음과 같다.


  • 실제로 얻는 것은 관찰 데이터 집합이고 이를 이용하여 원래의 가우시안 분포를 결정하는 문제를 풀어야 한다.

    • 즉 주어진 샘플이 어떠한 특징을 가지고 있는 가우시안 분포에서 나왔는지를 찾으라는 이야기이며, 평균과 분산의 값을 구하면 된다.

    • 따라서 식 (1.53)의 가능도 함수를 최대화하는 방식으로 평균과 분산을 찾으면 된다.

    • 로그 함수는 변수에 대해 단조 증가하는 함수이므로 로그를 취한 후 최댓값을 찾을 수 있다. 이 점이 분석이 간단해지고 수치적인 측면에서도 도움이 되기 때문이다.

  • 이 함수의 해는 다음과 같다. 각각의 표본 평균, 표본 분산이라고 부른다.

1.2.5 곡선 피팅

  • 이전에는 다항식 곡선 피팅 문제를 오차 최소화 측면에서 살펴보았는데, 이번에는 확률적 측면에서 살펴본다.

    • 이를 통해 오차 함수와 정규화에 대한 통찰을 얻을 수 있다.
    • 베이지안 해결법을 도출하는데 도움이 될 것이다.
  • 곡선 피팅 문제의 목표는 가지고 있는 샘플 데이터들로 새로운 입력 변수가 주어졌을 때 그에 대한 타깃 변수를 예측해 내는 것이다.

    • 따라서 확률 분포를 이용해 타깃 변수의 값에 대한 불확실성을 표현할 수 있다. 노이즈를 가우시안 분포로 고려하면 다음과 같이 표현할 수 있다.

    • B는 정밀도 매개변수를 의미한다. 이를 그림으로 표현하면 아래와 같다.

    • 즉 한 점이 주어지고 그 점을 중심으로 가우시안 노이즈가 존재하는 것과 같다.

  • 훈련 집합을 바탕으로 최대 가능도 방법을 이용하여 파라미터들을 결정할 수 있다. 가능도 함수는 다음과 같다.

  • 로그를 취하고 이 가능도 함수를 최대로 만드는 파라미터 값을 추정한다.

  • MLE를 이용해 얻어진 해 w를 wML로 표기를 하며 마지막 두 term은 w에 관계없으니, 제거, 계수의 B/2도 1/2로 바꿀 수 있다. 마지막으로 로그 가능도를 최대화하는 대신에 로그 가능도의 음의 값을 취한 후, 이를 최소화하면 제곱항 오차 함수를 유도할 수 있게 된다.

  • 위와 같은 방식으로 새로운 데이터의 타겟 값을 예측할 수 있으며 이를 예측 분포라고 한다.

    • 베이지안 방식을 위해 다항 계수 w에 대한 사전 분포를 도입한다.

    • 여기서 a는 분포의 정밀도이며, M+1은 M차수 다항식 벡터 w의 원소의 개수다. a와 같이 모델 매개변수의 분포를 제어하는 변수들을 하이퍼 파라미터(hyperparameter)라고 한다.

    • 베이즈 정리를 이용하면 다음과 같이 식을 쓸 수 있다.

    • 이제 주어진 데이터에 대해 가장 가능성 높은 w를 찾는 방식으로 w를 결정할 수 있다. 즉, 사후 분포를 최대화하는 방식으로 w를 결정할 수 있다. 이 방식을 최대 사후 분포(MAP maximum posterior)라 한다.

1.2.6 베이지안 커브 피팅

  • 아직 w에 대해 점 추정을 하고 있기 때문에 아직은 완벽한 베이지안 방법론을 구사한다고 말할 수 없다. 완전한 베이지안적 접근을 위해 모든 w에 대한 값을 반영해야 한다. 따라서 모든 w에 대해 적분을 시행하게 된다.

  • 적분을 시행하면 다음과 같이 가우시안 분포로 주어진다.

  • 여기서 평균은 다음과 같다.

1.3 모델 선택

  • 지금까지 최소 제곱법을 이용하여 곡선 피팅의 예시에서 최적의 다항식 차수가 있음을 알 수 있었다.

    • 다항식의 차수에 따라 자유 매개변수의 수가 결정되며, 모델의 복잡도가 결정되었다.
    • 정규화 계수도 복잡도에 영향을 주었다.
    • 실제 응용 사례에서는 이러한 매개변수의 값을 결정해야 하며, 가장 적합한 모델을 선택해야 한다.
  • 대부분의 경우에는 train과 test에 대한 데이터의 공급이 제한적이다. 이런 상황에서 해결할 수 있는 한 가지 방법이 교차 검증법 (cross-validation)이다.

    • 임의로 고른 (S-1)/S를 학습 집합으로 나머지를 테스트 집합으로 사용한다. S를 번갈아가면서 N번 테스트한다.

    • S의 수가 늘어나면 모델 훈련의 시행 횟수가 증가하게 된다. 이는 훈련이 계산적으로 복잡할 때 문제가 된다.

    • 여러 가지 복잡도 매개변수가 있을 경우 기하급수적인 수의 훈련 실행이 필요할지도 모른다.

    • 이상적인 방식에서는 훈련 집합만을 활용해서 여러 종류의 하이퍼파라미터와 모델의 비교를 한 번의 훈련 과정 동안 시행할 수 있다.

    • 이를 위해 훈련 집합만을 사용하는 성능 척도가 필요하며, 과적합으로 인한 bias로부터 자유로워야 한다.

 

패턴 인식과 머신 러닝(Pattern Recognition and Machine Learning)

 

 기계 학습의 바이블이라고도 할 수 있는 책이다. 이번에 겨울방학 기간 동안 기계 학습, 딥러닝, 강화 학습에 대해서 공부를 할 예정인데 이 책을 바탕으로 공부를 하며 정리한 내용들을 업로드할 예정이다. 

 

 

http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791188621255&orderClick=LEa&Kc=

 

패턴 인식과 머신 러닝

현대 패턴 인식과 머신 러닝의 개념과 효과적 이해를 위...

www.kyobobook.co.kr

 

+ Recent posts