lab4_fis.pdf

(697 KB) Pobierz
306190963 UNPDF
Tworzenie rozmytego systemu wnioskowania
Wstęp
W odróżnieniu od klaycnych ytemów regałowych modele romyte powalają budowad modele
wniokujące oparte o jyk naturalny, dzieki cemu inżynierom wiedy łatwiej jet prenied
naturalną ludka wied (cto niepewna i niejednonacną) do ytemów ekpertowych
umożliwiających automatyczne wnioskowanie.
Poniżej predtawiono prykład wykorytania Fuy Logic Toolbox do budowy w/w romytego
systemu wnioskowania.
Budowa systemu FIS (Fuzzy Inference System – rozmyty system
wnioskowania)
Lita poleceo j matlab łużących budowie romytego ytemu wniokowania
Fis = newfis(‘nazwa’) – tworzy nowy rozmyty system wnioskowania o nazwie ‘ nazwa’
fis = newfis(‘mak jabłka’);
fis jet w recywitoci trukturą o potaci
name 'prykład' – nazwa system rozmytego
type: 'mamdani' – typ modelu wnioskowania ( mamdani/sugeno )
andMethod: 'min' – poób obliczania operacji ‘I’
orMethod: 'max' – poób obliczania operacji ‘lub’
defuzzMethod: 'centroid' – poób realiacji operacji deayikacji
impMethod: 'min' – poób realiacji operatora implikacji
aggMethod: 'max' – poób realizacji operatora agregacji
input: [1x2 struct] – biór zmiennych wejciowych
output: [1x1 struct] – biór miennych wyjciowych
rule: [] – biór reguł
fis = addvar(fis,typ,nazwa,zakres) – dodaje do romytego ytemu wniokowania i nową
mienną lingwitycną typu typ (‘input’,’output’), która pryjmuje akre miennoci zakres
P rykład
fis = addvar(fis,’input’,’kolor’,[0 255]);
fis = addvar(fis,’input’,’rednica’,[0 20]);
fis = addvar(fis,’output’,’smak’,[0 1]);
fis = addmf(fis,typ,nr,nazwa_wartosci,typ_mf,param) – dodaje do itniejącej truktury fis , do
jej wejcia lub wyjcia typ = (‘input’/’output’) , o odpowiednim numerze nr nowej funkcji
przynależnoci cyli wartoci romytej o nawie nazwa która ma ktałt typ_mf i parametry
param. Możliwe typy unkcji prynależnoci
‘gaussmf’,’trimf’,’bellmf’,’trapmf’,’sigmf’,’smf’,’zfm’. Każdy tych typów ma wój włany
zestaw parametrów np.dla gaussmf , param pryjmuje wartoci *a b], gdzie a - położenie
funkcji Gaussa, b -erokod unkcji Gaua.
Prykład
fis = addmf(fis,’input’,2,’mała’,’zmf’,[3 7]) %dodaje do wejcia drugiego cyli
rednica wartod lingwitycna mała która ma ktałt jak na ryunku
1.2
1
0.8
0.6
0.4
0.2
0
-0.2
0
2
4
6
8
10
12
14
16
18
20
zmf, P=[3 7]
W podobny poób można dodad kolejne wartoci lingwitycne
fis = addmf(fis,’input’,2,’rednia’,’gaussmf’,[10 7]);
fis = addmf(fis,’input’,2,’duża’,’smf’,[13 17]);
fis = addf(fis,’output’,1,’smaczne’,’smf’,[0.4 0.8]);
fis = addf(fis,’output’1’niedobre’’mf’*0.4 0.8]);
306190963.030.png 306190963.031.png 306190963.032.png 306190963.033.png 306190963.001.png 306190963.002.png 306190963.003.png 306190963.004.png 306190963.005.png 306190963.006.png 306190963.007.png 306190963.008.png 306190963.009.png 306190963.010.png 306190963.011.png 306190963.012.png
mała
średnia
duża
1
0.8
0.6
0.4
0.2
0
0
2
4
6
8
10
12
14
16
18
20
Średnica
plotmf(fis,typ,nr) – rysuje wykre unkcji prynależnoci struktury fis powiąanych
odpowiednim numerem zmiennej danego typu (‘input’,’output’)
Prykład
Plotmf(fis,’input’,2) – system powinien naryowad ryunek jak wyżej
fis = addrule(fis,[m n a b]) – dodaje do struktury fis nowej reguły o parametrach
m – lista unkcji prynależnoci wiąana danym wejciem w naszym przypadku [0 2] –
oznacza to że dla miennej 1 (kolor) nie korzystamy żadnej unkcj prynalenoci
natomiast dla drugiej zmiennej (rednica) wybieramy 2 unkcje prynależnoci „rednia”
n – lista funkcji prynależnoci z wiąana danym wyjciem (ponieważ mamy tylko jedno
wyjcie to podajemy nr unkcji prynależnoci n=2
a – wartod wagi naej reguły (na ile ufamy naszej regule) a=1
b – typ operacji achodących midy prełankami 1 -> AND, 2->OR
Ogólnie wic drugi parametr unkcji addrule ma m+n+2 parametrów
Prykład
fis = addrule(fis,[0 2 2 1 1]);
powoduje dodanie reguły
I (rednica i rednia) then (mak i niedobre) (1)
showrule(fis) – funkcja wywietla lit utworonych reguł (patr wyżej)
wyn = evalfis(data,fis) – uruchamia zbudowany system fis dla danych data (uwaga dane
mua mied odpowiednią ilod miennych cyli taką jaką deiniowano podca deinicji
zmiennych typu input). Wyn – to wynik predykcji dla danych data
Prykład
306190963.013.png 306190963.014.png 306190963.015.png 306190963.016.png 306190963.017.png 306190963.018.png 306190963.019.png 306190963.020.png 306190963.021.png 306190963.022.png 306190963.023.png 306190963.024.png 306190963.025.png 306190963.026.png 306190963.027.png 306190963.028.png
evalfis([45 5],fis)
zwróci wartość 0.3165 oznaczającą że smak przyjmuje wartość
około 0.3 czyli dane jabłko jest raczej nie zmaczne
ruleview(fis) – funkcja umożliwia graficzną analizę
zbudowanego zbioru reguł:
gensurf(fis) – rysuje ktałt funkcji decyzyjnej
fis = setfis(fis,'fispropname','newfisprop') umożliwia modyikacj wybranej
właciwoci truktury i
Prykład
fis = setfis(fis,’ impMethod’,’prod’ )
fis = parserule(fis,’textrule’) – umozliwia parsowanie reguły zapisanej jako tekst
Prykład
Zadanie
Zad 1.
twór włany rozmyty system wnioskowania umożliwiający wniokowanie na temat płci na
podtawie romiaru topy ora wrotu cłowieka
Założenia –
duże ooby o dużym romiare topy to mżcyni
małe ooby o małym romiare topy to kobiety
W budowanym ytemie aproponuj prediał miennoci danych miennych wejciowych (wzrost,
rozmiar stopy), zdefiniuj odpowiednie wartoci lingwitycne dla tych miennych ora okrel dla nich
unkcje prynależnoci natpnie utwór odpowiednie reguły umożliwiające wnioskowanie na temat
płci.
306190963.029.png
Zad 2.
Na powyżym prykładie badaj diałanie różnych operatorów koniunkcji Możliwe wartod jakie
może pryjąd operator koniunkcji Fuy Logic Toolbox najd w Helpie
Zad 3.
Na powyżym prykładie badaj diałanie różnych operatorów alternatywy Możliwe wartod jakie
może pryjąd operator koniunkcji Fuy Logic Toolbox najd w Helpie
Zad 4.
Na powyżym prykładie badaj diałanie różnych operatorów implikacji Możliwe wartod to ‘min’
oraz ‘prod’
Zad 5.
Na powyżym prykładie badaj diałanie różnych operatorów agregacji Możliwe wartod to :
max – maksimum poród wartoci do agregacji
sum – uma agregowanych wartoci
pro bor – dla dwóch argumentów unkcji probor a i b wynikiem jest y = a + b - ab
Zad 6.
Na powyżym prykładie badaj diałanie różnych operatorów wyostrzania Możliwe wartod to:
centroid – rodek obszaru
bisector- bisekcja obszaru (podiał obaru a pomocą protej na dwa o równej powierchni)
mom – wartod rednia maksimum
som - najmnieja wartod maximum
lom – najwika wartod makimum
UWAGA
Do realiacji powyżych adao porównania najlepiej jet wykorytad funkcje gensurf oraz ruleview
Zgłoś jeśli naruszono regulamin