cs

인공지능 - 퍼지이론

joepasss 2022. 7. 22. 03:13

퍼지이론


  "키가 큰 사람의 집합", "큰 수의 집합" 등 경계가 애매한 집합을 퍼지집합이라 정의한다. 퍼지이론이란 애매하게 표현된 자료를 유용한 자료로 만들기 위해 퍼지집합(fuzzy set), 퍼지논리(fuzzy set), 퍼지논리(fuzzy logic), 퍼지관계(fuzzy relation)등의 개념을 포함하고 있다.

 

불확실성


  확실하고 믿을 만한 결론에 도달하기 위한 정확한 정보의 부족으로 정의할 수 있다.

 

 

불확실성의 요인

 

  불확실성의 요인은 매우 다양하지만 대체로 다음과 같이 분류할 수 있다.

 

  1. 알려지지 않은 데이터

  데이터가 불완전하거나 부족하거나 없는 경우이다. 시스템 운용자를 통해 제공된 자료나 센터에서 얻은 자료는 오차가 있어 완전하지 않다.

 

  2. 지식의 불확실성

  지식은 가끔 모호하고 휴리스틱한 절차를 통해 얻어지는 경우가 많다. 동일한 대상에 대해 전문가들이 가지고 있는 지식도 일치하지 않을 때가 있고, 복잡하고 다양한 지식을 효율적으로 표현하고 저장하는 것도 쉽지 않은 일이다.

 

  3. 정보의 불완전성

  부분적이고 불완전한 정보에서 결정을 내려야 하는 경우이다.

 

  4. 확률적 불규칙성

  미지의 용인에 따라 발생하는 불규칙성

 

퍼지집합


  집합은 대상물들의 모임으로 정의되는데, X, Y 등의 대문자로 표시된다. 집합을 구성하는 각 대상물은 원소라 하며 a, b, c 등의 소문자로 표시한다. 즉 a, b, c를 원소로 하는 집합 X는 다음과 같다

 

 X = { a, b, c }

 

  고전적인 집합에서는 이 집합에 명확한 경계를 긋고 이 집합의 원소에는 1을, 원소가 아닌 것에는 0을 대입한다. 이를 크리스프 (crisp set)이라 하며 일반적으로 집합 X의 최댓값과 최솟값은 기호 와 ∧를 사용하여 다음과 같이 정의한다.

 

  크리스프 집합은 이분법 원리(principle of dichotomy)이다.

 

  크리스프 집합론은 참과 거짓 두 가지 값만 쓰는 논리를 따르고 모호한 개념을 표현하지 못한다. 그러나 퍼지집합론의 기본개념은 원소가 퍼지집합에 어느 정도 속한다는 것이다. 따라서 어떤 명제는 참과 거짓으로 나뉘는 것이 아니라 부분적으로 참 또는 부분적으로 거짓일 수 있다는 것이다.

 

  X를 전체집합이라 하면, X의 퍼지집합 A는 X의 임의의 원소 x가 A에 속하는 정도가 다음 식과 같은 퍼지집합 A의 소속함수 μa에 따라 주어지는 x의 모임으로 정의한다.

 

 

  영역 X의 특정 원소 x가 있을 때 소속함수 μ는 x가 집합 A에 속하는 정도이다. 이는 0~1 사이의 값으로 소속도를 나타내며, 집합 A에서 원소 x의 소속값(membership value)라고도 한다. 앞의 식에서 [0, 1]은 0과 1을 포함한 0과 1 사이의 모든 실수값을 나타낸다.

 

  퍼지집합을 표현하는 방법 두 가지

 

퍼지집합 표현

 

퍼지집합 그래프

 

퍼지집합의 연산


 

 여집합

 

  원소들이 그 집합에 얼마만큼 속하지 않는가?

 

  집합의 여집합은 해당 집합의 반대를 의미한다. 키가 큰 남자 집합의 여집합은 키가 크지 않은 남자의 집합이다. 보통집합에서와 마찬가지로 퍼지집합 A의 경우에도 여집합을 구할 수 있다.

 

퍼지집합 A의 여집합

 

 합집합

 

  원소가 두 집합 어느 쪽이든 얼마만큼 속하는가?

 

  크리스프 집합에서 합집합은 두 집합에 속하는 모든 원소들을 의미한다. 키가 큰 남자와 부자인 남자의 집합은 키가 크거나 부자인 모든 남자들이다. 부자인 p가 이 집합에 속해 있다면 키가 큰지 아닌지는 상관이 없다.

  퍼지 집합에서 합집합은 교집합의 반대이다. 다음 식은 전체집합 X에 속하는 두 퍼지집합 A와 B의 합집합을 만드는 퍼지연산이다.

 

퍼지집합 A와 B의 합집합

 

 교집합

 

  원소가 두 집합 어느 쪽이든 얼마만큼 속하는가?

 

  두 집합의 교집합은 고전적 집합에서는 공유하는 원소들을 포함한다. 또한 퍼지집합 A, B의 교집합 A∩B 는 A와 B의 부분집합이 된다. 

 

퍼지집합 A와 B의 교집합

 

 포함관계

 

  어떤 집합이 다른 집합들에 속하는가?

 

  집합은 다른 집합을 포함할 수 있다. 포함되는 집합을 부분집합(subset)이라 부른다. 예를 들어 키가 큰 남자 집합은 모든 키가 큰 남자 집합을 말한다. 따라서 매우 키가 큰 남자 집합은 키가 큰 남자의 부분집합이고, 키가 큰 남자 집합은 남자 집합의 부분집합이 될 수 있다.

 

퍼지논리


  고전 논리식의 값은 0(false) 또는 1(true) 중 하나만 될 수 있다. 그러나 논리식의 값이 0과 1사이의 값을 가질 수 있도록 확장된 것이 "퍼지논리식" (또는 퍼지수식)이다. 즉 퍼지논리식은 다음과 같은 함수로 표현할 수 있다.

 

퍼지논리식

  앞의 퍼지수식은 구간 0과 1사이의 값을 갖는 n개의 수식의 집합의 퍼지관계라고 볼 수도 있다. 퍼지논리란 고전 논리에서 사용하는 연산을 사용하여 퍼지논리식으로 표현된 것이다. 퍼지논리식은 다음과 같은 논리식을 만족한다.

  . 0과 1, 변수 xi(∈[0,1, ㅑ = 1, ..., n)는 퍼지논리식이다

  ②. f가 퍼지논리식이면 f의 부정 (¬f) 도 퍼지논리식이다.

  ③. f와 g가 퍼지논리식이면 f∧g와 f∨g도 퍼지논리식이다.

 

퍼지추론


  퍼지추론(fuzzy inference)은 퍼지집합론을 이용하여 주어진 입력을 출력에 대응시키는 과정이다. 퍼지추론은 몇 개의 퍼지명제에서 하나의 다른 근사적인 퍼지명제를 유도하는 것으로 근사추론(approximate reasoning)이라고도 한다.

 

  이진논리에 기반한 명제논리에서 추론은 보통의 조건명제 P⇒Q에 따른 추론규칙인 긍정식(modus ponens)에 기반을 두고 수행된다.

  긍정식은 어떤 명제 P가 참이고 조건명제 P⇒Q가 참이면 명제 Q가 참임을 주장하는 규칙이다. 하지만 인간이 수행하는 추론을 보면 긍정식과 같이 명확하지 않을 때가 더 많다. 예를 들어 '갑순이는 예쁘다.' 와 '예쁜 사람은 성격도 좋다.' 와 같은 명제의 경우 갑순이가 예쁜지 아닌지, 예쁘면 얼마나 예쁜지를 결정하는 것 자체가 애매하기 때문이다.

 

  퍼지추론의 경우에는 어떤 내용의 퍼지명제가 결론으로 유추되는가를 문제로 한다. 예를 들어 다음 식에 나타난 것 처럼 퍼지추론은 퍼지명제 P+를 전제, 조건명제 P→Q를 조건으로 하여 이들에서 P→Q의 후건부 Q에 의미상으로 가까운 퍼지명제 Q+를 추론하는 것이다.

 

[전제]   $$ P^+ $$   :  저 아기는 매우 기분이 좋다.

[조건]   $$ P \rightarrow Q $$   :  만일 아기가 기분이 좋으면, 그 아기는 웃는다.

[결론]   $$ Q^+ $$   :  저 아기는 매우 웃는다

 

  앞의 추론은 전제의 가조건의 전건부와 달라서 결론도 조건의 후건부와 다르므로 긍정식과는 다른 추론형식이지만, 긍정식을 따른다는 의미에서 일반화된 긍정식이라 한다.

  퍼지추론에서는 이진 논리에 의한 추론과 달리 다양한 해석이 있을 수 있어 여러 가지 방법이 고안되었다. 퍼지추론법으로는 퍼지추론의 합성규칙을 기반으로 한 직접법, 언어적 진리값을 매개로 한 간접법, 그리고 이 둘을 혼합한 혼합법 등이 있다.

 

퍼지 술어논리식

  술어논리식(predicate logid)은 하나의 명제를 객체와 술어로 분리하여 표현한다.

  고전논리에서 다루는 술어논리식은 다음과 같은 형식을 가진다.

 

$$ x $$   is a girl.

$$ y $$   is a policeman.

 

  앞에서 변수 또는 객체 x와 y를 나타내는 술어 'girl'과 'policeman'은 퍼지단어가 아닌 분명한 의미를 가지고 있다. 그러므로 보통집합이고 술어를 만족하는 객체를 표현하는 집합 girl(x)나 policeman(y)는 보통집합이다.

 

$$ x $$   is a beautiful.

$$ y $$   is a old.

 

  z나 w의 성질을 나타내는 beautiful이나 old는 퍼지단어이다. 그러므로 이 술어들의 성질을 만족하는 원소가 객체들의 집합 beautiful(z)와 old(w)는 퍼지집합이 된다.

  w is old 에서 변수 w에 60세의 값이 주어지고 60세가 old에 포함될 가능성이 0.7이라 하자. 이때 명제의 진리값은 다음과 같이 해석된다. "60세가 퍼지집합 old에 소속될 가능성은 0.7이 되고 이 명제의 진리값도 0.7이 된다."

 

퍼지지식 및 퍼지규칙

  퍼지명제를 퍼지집합 또는 퍼지관계로 표현함으로써 퍼지지식을 표현할 수 있다. 앞에서 퍼지술어 "x is old"는 퍼지집합 old(x) 로 표현하였고 이 명제의 진리값은 x가 old(x)에 소속될 가능성과 같음을 알았다.

  이 명제를 관계로 표현하면 R(x) = old 즉 퍼지지식이 퍼지집합을 통해 표현된 것이다.

 

  퍼지규칙은 다음과 같은 형태로 된 조건문으로 정의할 수 있다.

 

IF   $$ x $$   가 A

THEN   $$ y $$   는 B

 

  x와 y는 언어변수이고, A와 B는 각각 논의영역 X와 Y의 퍼지집합에서 결정된 언어값이다. 고전적인 IF-THEN 규칙은 이진논리를 사용한다. 예를 들면 다음과 같다.

 

규칙 1

IF 속도 > 100

THEN 정지길이는 길다.

규칙 1

IF 속도 < 40

THEN 정지길이는 짧다.

 

  이의 고전적인 규칙은 불논리의 흑백이 뚜렷한 언어로 표현되었다. 하지만 퍼지언어를 사용하여 다음과 같이 나타낼 수도 있다.

 

규칙 1

IF 속도가 빠르다

THEN 정지길이는 길다.

규칙 2

IF 속도가 느리다

THEN 정지길이는 짧다.

 

  퍼지명제 A의 진리값이 0.5이고 B의 진리값이 0.2라면, 조건명제로 나타난 퍼지규칙의 진리값은 다음과 같다.

 

$$ min(1, 1 - 0.5 + 0.2) = min(1, 0.7) = 0.7 $$