Rozhodování v podnikatelství za podpory fuzzy logiky a neuronových sítí Dostál Petr Vysoké učení technické v Brně Mezinárodní letní škola SoftProcessing SoftCop reg. č. CZ.1.07/2.3.00/20.0072
Fuzzy logika funkce členství µ A : x --> {0,1}, µ A : x --> <0,1>. µ A (x) =0 pro x {0,4} µ A (x) = kx+q pro x (4,5) µ A (x) =1 pro x {5,8} µ A (x) =-kx+q pro x (8,9) µ A (x) =0 pro x {9, ) [a,b] + [c,d] = [a+c, b+d], [a,b] - [c,d] = [a-d, b-c], [a,b]. [c,d] = [min(ac,ad,bc,bd), max(ac,ad,bc,bd)], [a,b] / [c,d] = [min(a/c,a/d,b/c,b/d), max(a/c,a/d,b/c,b/d)]. Průnik A µ(x y)=min(µ x,µ y ) Sjednocení Nebo µ(x y)=max(µ x,µ y ) Doplněk Dop µ( x)=1-µ(x)
Fuzzy logika logické operace A B A<A>B <Doplněk>A A<Nebo>B
Fuzzy logika Typy funkcí členství Λ, π, Z a S mf 1, P = [0 0 3]; mf 2, P = [2 4 6]; mf 3, P = [4 6 7 9]; mf 4, P = [8 10 10] <Když> Vstup a <A> Vstup b.. Vstup y <A> Vstup z.. <Potom> Výstup 1 <S váhou> z RpN+ReN = RN; RpV+ReV= RV
Fuzzy logika - riziko RpN+ReN = RN
Fuzzy logika - riziko RpV+ReV = RV
Fuzzy logika - riziko
Fuzzy logika - riziko
Fuzzy logika - riziko
Fuzzy logika - úvěr
Fuzzy logika úvěr
Fuzzy logika úvěr
Fuzzy logika predikce
Fuzzy logika riziko
Fuzzy logika riziko
Fuzzy logika riziko
Fuzzy logika banka
Fuzzy logika banka
Fuzzy logika banka
Fuzzy logika banka
Fuzzy logika banka b2 = readfis('tfb.fis'); Udaje = input('zadejte údaje o bance [Poplatek za vedení účtu; Poplatek za výběr z bankomatu; Povolený kontokorent]: '); vyhodnoceni = evalfis(udaje, b2); if vyhodnoceni>95 'Ihned založit' elseif vyhodnoceni>85 'Založit' elseif vyhodnoceni>70 'Zvážit' elseif vyhodnoceni>50 'Sledovat' else 'Nezakládat!' end fuzzy(b2) mfedit(b2) ruleedit(b2) surfview(b2) ruleview(b2) Zadejte údaje o bance [Poplatek za vedení účtu; Poplatek za výběr z bankomatu; Povolený kontokorent]: [0;0;20000] ans = Založit Zadejte údaje o bance [Poplatek za vedení účtu; Poplatek za výběr z bankomatu; Povolený kontokorent]: [15;2.5;10000] ans = Sledovat Zadejte údaje o bance [Poplatek za vedení účtu; Poplatek za výběr z bankomatu; Povolený kontokorent]: [30;5;0] ans = Nezakládat!
Fuzzy logika dodavatelé
Fuzzy logika dodavatelé clear all B1v = readfis('b1.fis'); UdajB1 = input('zadejte vstupní údaje ve tvaru [I3a; I3b; I3c]: '); VyhB1 = evalfis(udajb1, B1v); B2v = readfis('b2.fis'); UdajB2 = input('zadejte vstupní údaje ve tvaru [I4a; I4b]: '); VyhB2 = evalfis(udajb2, B2v); BFv = readfis('bf.fis'); UdajBF=input('Zadejte vstupní údaje ve tvaru [I1;I2]: '); UdajBF(3) = VyhB1; UdajBF(4) = VyhB2; VyhBF = evalfis(udajbf, BFv); if VyhBF<0.2 ' Pokračovat ve spolupráci ' elseif VyhBF<0.5 'Sledovat spolupráci ' Else 'Odmítnout ' end fuzzy(bfv) mfedit(bfv) ruleedit(bfv) surfview(bfv) ruleview(bfv) Vstup I 1 představuje cenu produktu Vstup I 2 představuje kvalitu produktu. Blok pravidel B 1 představuje obchodní podmínky balení I 3a, sleva I 3b, záruka I 3c. Blok pravidel B 2 představuje další kritéria spolehlivost I 4a,vstřícnost I 4b Výstup představuje rozhodování s atributy pokračovat ve spolupráci, sledovat spolupráci, odmítnout. Zadejte vstupní údaje ve tvaru [I3a; I3b; I3c]: [0;0;0] Zadejte vstupní údaje ve tvaru [I4a; I4b]: [0;0] Zadejte vstupní údaje ve tvaru [I1;I2]: [0;0] ans =Pokračovat ve spolupráci Zadejte vstupní údaje ve tvaru [I3a; I3b; I3c]: [0.5; 0.5; 0.5] Zadejte vstupní údaje ve tvaru [I4a; I4b]: [0.5; 0.5] Zadejte vstupní údaje ve tvaru [I1;I2]: [0.5; 0.5] ans =Sledovat spolupráci Zadejte vstupní údaje ve tvaru [I3a; I3b; I3c]: [1;1;1] Zadejte vstupní údaje ve tvaru [I4a; I4b]: [1;1] Zadejte vstupní údaje ve tvaru [I1;I2]: [1;1] ans =Odmítnout
Neuronové sítě - model bias a = f(n) Výstup získaný aplikací aktivační funkce neuronu b n vnitřní potenciál w 1 w 2 w R synaptické váhy.. p 1 p 2 p R vstupy n = w 1 p 1 + w 2 p 2 + w 3 p 3 + + w R p R + b
Neuronové sítě transformační funkce n = w 1 p 1 + w 2 p 2 + w 3 p 3 + + w R p R + b
Neuronové sítě vícevrstevná síť
., Neuronové sítě - výpočet,, První stav Druhý stav Inicializace:. RpV+ReV= RV (-1,-1 0) RpN+ReN = RN (1,1 1)
Neuronové sítě - nemovitost
Neuronové sítě - nemovitost
Neuronové sítě - predikce
Neuronové sítě - predikce
Neuronové sítě - predikce
Neuronové sítě - riziko Pořadí Rp: Re: R: 1 0 0 0 2 0 1 0 3 1 0 0 4 1 1 1
Neuronové sítě - predikce
Neuronové sítě - predikce
Neuronové sítě - predikce clear all load production; T = production; net = narnet(1:2,10); [Xs,Xi,Ai,Ts] = preparets(net,{},{},t); net = train(net,xs,ts,xi,ai); view(net) Y = net(xs,xi); perf = perform(net,ts,y); 600 500 Prodej Predikce Kusy [-] 400 300 200 100 0 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 106 111 116 Pořadí dne [-]
Fuzzy logika + Neuronové sítě Pořadí Rp: Re: R: 1 0 0 0 2 0 1 0 3 1 0 0 4 1 1 1
Fuzzy logika + Neuronové sítě
Fuzzy logika + Neuronové sítě
Literatura dostal@fbm.vutbr.cz www.petrdostal.eu Dostál, P. Brno: CERM, 2008. 168 s. ISBN: 978-80-7204-747-5. Dostál, P. Brno: CERM, 2012. 718 s. ISBN 978-80-7204-798-7. e-isbn 978-80-7204-799-4. Dostál, P. Brno: CERM, 2008. 340 s. ISBN: 978-80-7204-605-8. http://www.cerm.cz Děkuji za pozornost