Artificial Intelligence #04 Fuzzy logic

김서영·2024년 10월 11일

인공지능

목록 보기
3/13
post-thumbnail

전문가시스템 (Expert System) 베이지안 추론 (Bayesian Inference) 문제점

  • 사람의 표현은 애매한 경우가 많음 (ex. 온도가 약간 높다)
  • 지식의 불확실성 : 사람마다 지식, 견해가 다를 수 있음

1. 명제 논리 vs 퍼지 논리

명제논리

참과 거짓(1 또는 0)이 확실하게 구분되는 논리 (흑백논리)
(ex. 80점 이상은 우수한 성적이다 -> 79점은 우수한 성적이 아니다)

퍼지논리

Fuzzy – “not clear, not distinct, or not precise; blurred”
불분명한 상태, 모호한 상태를 표현하는 논리 (명제 논리의 문제점을 보완하기 위해)
경계가 불문명한 척도를 나타낼 때 사용한다.
(ex. 날씨가 따뜻하다, 키가 크다, 차가 빠르게 지나갔다)


0.0에서 1.0까지의 진리값을 가진다.

2. 크리스프 집합 vs 퍼지 집합

크리스프 집합(Crisp Set)

고전 적인 집합으로 참/거짓을 사용하여 속하는지 속하지 않는지를 분명하게 표현 (명제논리의 집합)

x=1(𝑥𝐴)x=1 (𝑥 ∈ 𝐴)
x=0(𝑥𝐴)x=0 (𝑥 ∉ 𝐴)

원소 xx는 크리스프 집합에서 속하거나 속하지 않거나 둘 중 하나다.

퍼지 집합(Fuzzy Set)

집합에 소속하는 정도를 표현 (퍼지논리의 집합)
xxAA에 속한 경우: 0<𝑥<10 < 𝑥 < 1

퍼지집합 A(집합 A에 대한 소속함수(membership function)) : 함수 𝜇𝐴(𝑥)로 정의
소속함수는 xx가 집합 AA에 속하는 정도를 나타냄

퍼지 집합 표현
가로 축 : 논의 영역(속성값), 변수에 적용할 수 있는 모든 값의 범위 (ex. 사람의 키)
세로 축 : 퍼지 집합에 대한 소속값을 나타냄 (ex. 184cm '키가 크다'=0.4 / '키가 보통이다'=0.3)

  • 집합 XX가 이산: A=A= {𝜇𝐴(𝑥1)/(𝑥), 𝜇𝐴(𝑥2)/(𝑥),…, 𝜇𝐴(𝑥)/(𝑥)}
  • 집합 XX가 연속: A=A = ∫𝜇𝐴(𝑥)/(𝑥)

소속 함수 결정 방법
경험적으로 접근/설문조사 실시 -> 통계를 내서 소속하는 정도를 정해야 함

3. 언어 변수와 헤지(Hedge)

헤지(Hedge) : 퍼지 집합에서 한정사의 개념

  • 범용 수식어 : 매우/꽤/몹시
  • 진리값 : 거의 참이다/대개 거짓이다
  • 확률 : ~일 것이다/~일 것 같지 않다
  • 한정사 : 대부분/몇몇/거의 없는
  • 가능성 : 거의 불가능하다/꽤 있음직하다

(ex. 헤지 '매우'의 퍼지 집합)

키가 매우 작다/키가 매우 크다의 범위가 적어진 것을 확인할 수 있음

범용 수식어 헤지 적용 방법 및 그래프

강한 정도의 범위는 좁으므로 퍼지 원소의 소속도를 낮춰야 함 -> y=ax(a>1)y=a^x (a>1) (아래로 볼록인 형태)
약한 정도의 범위는 넓으므로 퍼지 원소의 소속도를 높여야 함 -> y=ax(0<a<1)y=a^x (0<a<1) (위로 볼록인 형태)


4. 퍼지 집합에서의 연산자

퍼지 집합 연산자 notnot, andand, oror 등의 논리 연산자 사용 가능하다.

여집합(complement) - notnot 연산자

퍼지 집합 : 원소들이 그 집합에 얼마만큼 속하지 않냐? (크리스프 집합 : 어떤 원소가 그 집합에 속하지 않냐?)


집합과 그의 여집합의 소속도는 더해서 1이 나와야 함
(ex. 키가 큰 사람의 소속도 + 키가 크지 않은 사람의 소속도 = 1)

교집합(intersection) - andand 연산자

퍼지 집합 : 원소들이 두 집합 모두에 얼마만큼 속할까? (크리스프 집합 : 어떤 원소가 두 집합 모두에 속할까?)


두 집합의 소속도 중 최솟값을 선택해야 함

합집합(union) - oror 연산자

퍼지 집합 : 원소가 두 집합 어느쪽이든 얼마만큼 속할까? (크리스프 집합 : 어떤 원소가 두 집합 어느쪽이든 속할까?)


두 집합의 소속도 중 최댓값을 선택해야 함

퍼지 집합 연산자 예제

5. 맘다니형 추론

퍼지 추론의 구조
: 일반적으로 퍼지 전문가 시스템은 다수의 퍼지 규칙으로 구성됨

퍼지 추론 또한 기존의 추론처럼 if-then의 구조를 지니고 있기에 다수의 퍼지 규칙으로 표현되는 것을 그래프를 통해 확인 가능

퍼지 추론 방법
: 맘다니형(Mamdani Method) 추론 / 스게노형(Skeno's Method) 추론
(맘다니형 추론만 수업 O, 스게노형 추론 수업 X)

퍼지 추론의 4단계

  • 1단계 : 퍼지화
  • 2단계 : 규칙 평가
  • 3단계 : 규칙 통합
  • 4단계 : 역퍼지화

맘다니형 추론 예제
프로젝트를 운영하는 중 프로젝트 자금이 35%, 프로젝트 인력이 60%가 됐을 때 프로젝트의 위험도 판단

입력 2개(프로젝트 자금 35%, 인력 60%)
규칙 3개(위 사진에 나와있는 3가지 규칙)
결과 1개(4단계 역퍼지화를 거친 위험도)
이 세 가지로 구성되어진 문제이다.

x,y,zx, y, z (프로젝트 자금, 프로젝트 인력, 위험도)를 표현하는 언어 변수
A1,A2,A3A1, A2, A3 (부족하다, 한계 수익점에 있다, 충분하다)는 논의 영역X(프로젝트 자금) 상의 언어 값
B1,B2B1, B2 (적다, 많다)는 논의 영역 Y(프로젝트 인력) 상의 언어 값
C1,C2,C3C1, C2, C3 (낮다, 중간이다, 높다)는 논의 영역Z(위험도) 상의 언어 값


1단계 : 퍼지화

입력받은 2개의 변수에 대하여 퍼지화를 해야된다.


2단계 : 규칙 평가

퍼지화된 입력값을 논리 연산자를 통해 계산한다.

  • 규칙 1. or 연산자 - union - max(0.0,0.1)=0.1
  • 규칙 2. and 연산자- intersection -min(0.2,0.7)=0.2
  • 규칙 3. 0.5 (어떤 연산자도 없음, 값 그대로)

3단계 : 규칙 통합

모든 규칙의 결과값을 합치는 과정이다.


4단계 : 역퍼지화

결과값(위험도)에 대해서 직관적으로 이해하기 위해 역퍼지화를 하여 숫자로 출력해야 된다.
(입력 : 통합된 퍼지 집합/출력 : 결과값 1개)

역퍼지화 방법 중 하나인 무게 중심법, 빨간색 점을 기준으로 계산하면 된다.


퍼지추론 예제

profile
안녕하세요 :)

0개의 댓글