블로그 이미지
Max.

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

Notice

'적합도'에 해당되는 글 2

  1. 2010.03.29 GA - 적합도 평가
  2. 2010.02.18 유전-재생산
2010.03.29 13:55 개발관련
적합도 평가

적합도는 특정 환경에 가장 적합한 정도를 평가하는 것을 말한다. 여기서 평가는 해당 환경 즉, 목적에 맞는 계산법으로 계산되어 지는데, 이런 계산에 사용되어지는 것이 바로 목적함수이다.  적합도가 크면 클수록 더 많은 기회가 있어야 하기 때문에 목적함수는 양의 최대화 문제 형태로 기술되어야 한다 - f(x) = F(x)-{r}. 여기서 r은 양수(0을 포함)를 만족시키는 상수이다. 만약 음이 값을 가진다면, f(x) >= 0을 만족한, f(x) = -F(x)-{r}f(x) = \frac{1}{-F(x)+{r}}으로 사상(mapping)을 통해서 적합도 함수를 얻을수 있다. 여기서 r의 값은 성능에 영향이 있기 때문에, 가능한한 최소값을 넣어야 한다.

아래는 목적함수에 적합도 상수 {r}=1.1로 하여 예시한 것이다.

\large F(x) = 0.15(x-1)^2-1 라고 한다면,

이로 부터 적합도를 얻어내는 r 의 값으로 0과 -2.75 을 사용하여 얻는 f(x) = -F(x), f(x) = -F(x)-{r}, f(x) = \frac{1}{-F(x)+{r}}예는 아래와 같다.











더보기



참조 : 유전알고리즘과 그 응용(진강규)
저작자 표시
신고

'개발관련' 카테고리의 다른 글

추천하는 책  (0) 2010.03.30
틀린것과 다른것을 인정(認定)한다 라는 것은...  (0) 2010.03.29
GA - 적합도 평가  (0) 2010.03.29
Cassandra 싱글모드 예제(1)  (0) 2010.03.10
DNA와 유전알고리즘의 옛이야기  (0) 2010.03.09
관심 SVN 주소  (0) 2010.03.05
posted by Max.
2010.02.18 11:55 개발관련
최적화 문제 중에서 유전알고리즘의 부분으로, 유전연산자에 관한 내용

재생산

유전 연산자 중 가장 빈번하게 쓰이는 연산이 재생산, 교배, 돌연변이 이다. 그중 재생산에 대해서 좀더 알아보면, 부모의 우수한 인자는 자식에게 물려주기 위해서 우수한 인자를 가려내는 방법이다. 그런데, 어떤 인자가 어떤 기준으로 우수한지 판별해야 하고, 판별된 기준에서 어디를 기준으로 물려줌을 선택해야 하는지에 대한 문제가 생기게 된다. 그래서 이 문제를 해결하기 위한 알려진 방법이 있는데, 그중 가장 많이 쓰이는 방법이 roulette wheel selection(RWS), ranking-based selection, tournament selection 이 3가지가 있다. 그중 가장 인기있는 것은 RWS로 Jone Holland 옹이 만든 유명한 방법이다.

이것은 각각의 해(solution)에 대한 적합도 합을 계산하고, 각 해에 대한 선택확률을 계산하여 RWS에 할당하여 뺑뺑이를 돌려 찍어 선택하여 자식에 전해줄 해(solution) 복제하는 방법이다. 일종의 확률게임이다. 이게 가장 폭넓게 인정하는 방법이라니....

어쨌든, 이런 방법들은 선택확률(P(s(k)))적인 방법으로 그보다 더 근본인 적합도(f(k)) 계산에서는 아직도 의문이 많다. 사실 이부분이 가장 핵심적인 부분중에 하나이다. 적합도에 따라 결과값의 오차가 크게 달라질테니까 말이다. 적합도는 벡터로 치자면, 각 차원의 기준점이 된다. 각각의 바라보는 관점(차원)에 따라 어떤 해가 다른 해 보다 우수한 방법인지 또는 선택되어야 할 방법인지를 구분하게 된다는 말이다.

그 기준점을 잡는데, 그만한 근거와 학습과 논리가 있어야 하는데, 그게 어렵다. 최적화 관련 기사들을 보면, 대부분 알고리즘 문제 보다는, 특정 관심 도메인에서 최적화에 대한 관찰(연구)가 이루어진 것이 많다. 연구결과야 어떻든, 연구과정에서 선정된 적합도 그 적합도 선정 이유가 참 중요한데, 그에 대한 흰트를 얻는 것이 참 궁금하다.

예를 들어,
Java 개발자가 서점에서 'Spring'을 검색할때, 서적들의 개발자에 대한 'Spring' 적합도 계산의 적합점(각 차원의 적합도 기준 또는 기준에 대한 벡터 가중치)은 어떤 것을 기준으로 찾고, 학습되어 질수 있을까?


[주요 재생산의 분류]


 참조 : 유전 알고리즘과 그응용(진강규)
저작자 표시
신고

'개발관련' 카테고리의 다른 글

그래프 표현 도구  (0) 2010.02.19
수식 표현 도구  (1) 2010.02.19
유전-재생산  (0) 2010.02.18
2010-02-18, Spring 잡생각  (0) 2010.02.18
무료 논문 검색 사이트  (2) 2010.02.16
Spring Surf 빌드 테스트  (0) 2010.02.16
posted by Max.
prev 1 next