Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % Klasyfikacja punktow(obrazow) lezacych z jednej strony krzywej - granicy decyzyjnej:
- %
- % klasa 0
- %
- % (3,3) o-------------------------------------
- % \
- % \
- % \
- % ---------------------------o (4,1)
- %
- % klasa 1
- %
- %
- % METODA ANALITYCZNA
- % net = newff([-1 1; -1 1], [2 1],{'hardlim', 'hardlim'});
- %
- % net.IW{1} = [1 -1;-1 1] % wagi od wejsc do pierwszej warstwy
- % net.LW{2,1} = [1 1] % wagi od pierwszej do drugiej warstwy
- % % net.LW{3,2} = ... % byc moze przydadza sie wagi od drugiej do trzeciej warstwy
- % net.b{1} = [-0.5 ;-0.5]; % wartosci progowe neuronow pierwszej warstwy
- % net.b{2} = -0.5;
- % % net.b{3} = ...
- %
- % [X,Y] = meshgrid(0:0.1:6);
- % ZA = X;
- % ZA(:) = sim(net,[X(:) Y(:)]');
- % surf(X,Y,ZA);
- % title('Klasyfikacja punktow metoda analityczna')
- % UCZENIE
- % obrazy 2-wymiarowe (w kolumnach) i ich klasy (należy podać maksymalnie 30 obrazów uczących,
- % pozwalających (wraz z odpowiednią architekturą sieci i jej parametrami) na jak najwierniejsze odwzorowanie
- % zadanej funkcji klasyfikacji gdy x i y sa z przedzialu <0,6>):
- % obrazy = ...
- % klasy = ...
- %
- % net = newff(...);
- %
- % ............................
- %
- % [X,Y] = meshgrid(0:0.1:6);
- % ZU = X;
- % ZU(:) = sim(net,[X(:) Y(:)]');
- % surf(X,Y,ZU);
- % title('Klasyfikacja punktow metoda uczenia')
- % Wygenerowanie punktów
- x1 = rand(1, 80) * 6;
- x2 = rand(1, 80) * 6;
- obrazy = [x1; x2];
- klasy = (obrazy(1,:) > 2) .* (obrazy(1,:) < 6) .* (obrazy(2,:) > 3) .* (obrazy(2,:) < 7 );
- ind1 = find(klasy == 0);
- ind2 = find(klasy == 1);
- net = newff([-1 1; -1 1], [2 1],{'hardlim', 'hardlim'});
- net.IW{1} = [1 -1;-1 1] % wagi od wejsc do pierwszej warstwy
- net.LW{2,1} = [1 1] % wagi od pierwszej do drugiej warstwy
- % net.LW{3,2} = ... % byc moze przydadza sie wagi od drugiej do trzeciej warstwy
- net.b{1} = [-0.5 ;-0.5]; % wartosci progowe neuronow pierwszej warstwy
- net.b{2} = -0.5;
- % net.b{3} = ...
- % Narysowanie wykresu
- [X,Y] = meshgrid(0 : 0.1 : 8);
- Z = X;
- Z(:) = sim(net, [X(:) Y(:)]');
- contour(X,Y,Z,[0.499 0.5 0.501]);
- hold on
- plot(x1(ind1),x2(ind1),'bo',x1(ind2),x2(ind2),'rs')
- hold off
- % srednia roznica pomiedzy funkcja klasyfikacji uzyskana analitycznie i metoda
- % uczenia:
- disp(sprintf('srednia roznica pomiedzy funkcja uzyskana analitycznie i met. uczenia = %f',mean(mean(abs(ZU-ZA)))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement