Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % Řešení příkladu 3 z předmětu MUIN
- % Jednovrstvá neuronová síť s přenosovou funkcí hyperbolického tangentu
- % úpravy:
- % 19-10-2015 davidek
- clear all
- close all
- clc
- num_bias = 1;
- num_in = 5;
- num_neuron = num_in ;
- in_bias = 1
- r_obr = 1;
- s_obr = num_in;
- in = csvread('data.csv'); % vstupní data
- w = (rand(r_obr * s_obr + num_bias, num_neuron)*2-1)/100 % pocatecni nastaveni vah, vcetne prahu
- vystup = zeros(1, num_neuron);
- d = eye(num_neuron, num_in)*2-1; % vytvoreni žádaných hodnot na výstupu
- mu = 0.01; % koeficient uceni
- max_iter = 2000; % maximalni pocet iteraci
- iter = 1; % iterace
- Ec = 100; % chyba site
- Ec_max = 0.5; % maximalni chyba site pro ukonceni
- while (iter < max_iter)&&(Ec > Ec_max) % iterace uceni
- Ec = 0;
- for vzor = 1:num_in
- % %%%%%%FOREM
- % for neuron = 1:10
- % vystup(neuron) = tanh([in(vzor, :) 1] * w(:, neuron));
- % chyba = (d(vzor, neuron) - vystup(neuron));
- % w(:, neuron) = w(:, neuron) + (my * (1 - vystup(neuron)^2) * chyba * [in(vzor, :) 1])';
- % Ec = Ec + 0.5 *chyba * chyba';
- % end
- % %%%%%%MATICOVE
- vystup = tanh([in(vzor, :) in_bias] * w);
- chyba = (d(vzor, :) - vystup);
- w = w + [in(vzor, :) 1]' * mu * (chyba .* (1 - vystup.^2));
- Ec = Ec + 0.5 * chyba * chyba';
- end
- Ec_it(iter) = Ec;
- iter = iter + 1;
- end
- figure(1)
- plot(Ec_it)
- title('Chyba site');
- xlabel('Iterace');
- ylabel('Ec'); %vykresleni prubehu chyby
- sum_max = 0.5
- pom_test = csvread('data.csv');
- pom_test = pom_test .* ((1-sum_max) + sum_max * rand(size(pom_test)) )
- figure (2)
- pom = 0;
- for i = 1:5
- if i == 6
- figure(4)
- pom = 5;
- end
- % vstup
- subplot(3,5,i-pom)
- colormap(gray); %cernobile vykreslovani
- bar(in(i, :));
- ylim([-1, 1])
- % zašumělý vstup
- subplot(3,5,i+5-pom)
- bar(pom_test(i,:));
- ylim([-1, 1])
- % výstup z naučené neruronové sítě
- subplot(3,5,i+10-pom)
- vysledek = tanh([pom_test(i,:) 1] * w);
- bar(vysledek);
- ylim([-1, 1])
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement