2007년 7월 28일 토요일

Designing A learning system : Machine learning1 - 2

machine learning한 system을 설계하는 basic design isssue에 대해서 알아보기 위해서
word checker champion을 가리는 tournament에서 우승하기 위한 Machine learning program을
디자인 하는 경우를 생각해보자.

이 경우,
Task T: playing checkers
Performance measure P : percent of games won in the world tournament
Traning experience E : games played against itself.
라는 걸 먼저 염두에 두자.

소기의 목적을 달성하기 위해 먼저 무엇을 해야할까? 즉, 어떻게 해야 많이 이길 수 있을까?

그 이면에는 효과적인 머신 러닝 방법에 대한 고민과 직결되어 있다. 이러한 효과적인 머신 러닝 방법을 디자인 하기 위해서 우리가 고려해야할 것들은 다음과 같다.

1. Choosing the Traning Experience

즉, 어떤 경험을 통해 기계 학습을 한다고 할 때 어떠한 training set들이 효과적일 것인가의 대한 고민을 얘기한다. 또한 이 고민에는 training set을 이용해 기계 학습을 할 때 고려해야 할 것들에 대해서도 고민한다. 예를 들면, 몇 단계 앞의 수까지 고려하게 할 것인가.. 혹은 보드의 처음부터 기계 스스로 배우게 할 것인가 아니면 각 보드의 상태를 설정해 놓고 가장 좋은 수를 찾는 것을 trainig set으로 부터 배우게 할 것인가 등등의 것들까지 training에 관한 전반적인 고민들이 이루어 져야 한다.

2. Choosing the target function

그 다음으로는 우리가 이러한 기계학습을 통해 달성하고자 하는 목표를 design하는 것이다. 즉, checker에 있어서 우리는 게임에서 이기길 원하기 때문에 다음과 같은 형태로 target function을 디자인 할 수 있을 것이다.
만약 b가 이겼을 때의 board 상태를 나타낸다면, V(b) = 100
만약 b가 졌을 때의 board 상태를 나타낸다면, V(b) = -100
만약 b가 비겼을 때의 board 상태를 나타낸다면, V(b) = 0

3.Choosing a Representation for the target function

그 다음으로 우리는 고려해야 할 변인들을 생각하고 그것들을 이용해 target function을 수식으로 나타내야 한다.
예를 들어, board의 승리와 연관되어 있는 변수들로는 다음과 같은 것들이 있다고 하자.
검은 색 지역의 개수, x1
붉은 색 지역의 개수, x2
검은 색 왕들의 개수, x3
붉은 색 왕들의 개수, x4
붉은 색에 의해 공격 받고 있는 검은 색 지역들의 수, x5
검은 색에 의해 공격 받고 있는 붉은 색 지역들의 수, x6
이젠 이러한 변인들을 이용해 다음과 같은 target function을 디자인 할 수 있다
V(b) = w0 + w1x1 + w2x2 + w3x3 + w4x4 + w5x5 + w6x6

4.Choosing a Function Approximation Algorithm

그 다음으로 적당한 training set을 이용해 target function의 가중치 값들을 조정하여 target function이 실제 target function과 가깝게 작동할 수 있도록 해야 한다.

5.Estimating training values

그 다음으로 test set을 이용해 target function이 어느정도 정확하게 작동하는지 performance를 체크 할 수 있어야 한다.

6.Adjusting the weights

이후 test set에서의 오류 값들을 고려하여 다시 target function의 weight값들을 보정할 수 있는 단계를 거치게 할 수 있다. 이 경우 보통 LMS 방법을 주로 사용한다.

댓글 없음: