Notebook "нейронные сети" Глава 2
Вид материала | Документы |
- Программа дисциплины «Теория нечетких множеств и нейронные сети» Для специальности, 567.45kb.
- Самостоятельная работа по прогнозированию экономических процессов на тему: нейронные, 148.65kb.
- Лекция 2 Лекция «Нейронные сети» Начнем с определения: Искусственные нейронные сети, 131.57kb.
- "Нейроновые сети ", 374.46kb.
- Нейронные сети как механизм представления лексико-семантической информации, 376.06kb.
- Программа, 39.37kb.
- Нейронные сети: алгоритм обратного распространения, 336.15kb.
- Предупреждение. Спасение. Помощь, 3059.76kb.
- Нейрокомпьютерная обработка сигналов и изображений, 184.71kb.
- Нейронные сети: основы теории / А. И. Галушкин. М. Горячая линия Телеком, 2010., 585.42kb.
C439. CONCUR
Функция concur создает три копии вектора смещения для данного слоя нейронной сети:
b = [1; 3; 2; -1]; B = concur(b,3)
B =
1 1 1
3 3 3
2 2 2
-1 -1 -1
Двухслойная нейронная сеть имеет 2 вектора смещения, которые для применения функции concur необходимо объединить в вектор ячеек
b1 = [1; 3; 2; -1]; b2 = [3; 2; -1]; b = {b1; b2}
B = concur(b,3)
b =
[4x1 double]
[3x1 double]
B =
[4x3 double]
[3x3 double]
C440. IND2VEC, VEC2IND
Преобразовать вектор индексов классов в матрицу связности
ind = [1 3 2 3], vec = ind2vec(ind), vec = full(vec)
ind =
1 3 2 3
vec =
(1,1) 1
(3,2) 1
(2,3) 1
(3,4) 1
vec =
1 0 0 0
0 0 1 0
0 1 0 1
Преобразовать матрицу связности в вектор индексов классов
vec = [1 0 0 0; 0 0 1 0; 0 1 0 1];
ind = vec2ind(vec)
ind =
1 3 2 3
C441. MAT2CELL
Преобразовать числовой массив М размера 34 в массив ячеек с разбиением mrow = [2 1], ncol = [1 2 1]:
M = [1 2 3 4; 5 6 7 8; 9 10 11 12];
C = mat2cell(M,[2 1],[1 2 1])
C =
Columns 1 through 2
[2x1 double] [2x2 double]
[ 9] [1x2 double]
[2x1 double]
[ 12]
[C{1,:}; C{2,:}]
ans =
1 2 3 4
5 6 7 8
9 10 11 12
C441. MINMAX
Вычислить минимальные и максимальные значения элементов в строках массива P:
P = [0 1 2; -1 -2 -0.5]; pr = minmax(P)
pr =
0 2.0000
-2.0000 -0.5000
C442. NORMC, NORMR
Нормировать матрицу М по строкам и столбцам
M = [1 2; 3 4];
normr(M), normc(M)
ans =
0.4472 0.8944
0.6000 0.8000
ans =
0.3162 0.4472
0.9487 0.8944
C442. PNORMC
Выполнить псевдонормировку стобцов матрицы
M = [0.1 0.6; 0.3 0.1];
pM = pnormc(M)
pM =
0.1000 0.6000
0.3000 0.1000
0.9487 0.7937
С443. QUANT
Округлить элементы массива Р с точностью до 0.1
P = [1.333 4.756 -3.897]; qP = quant(P,0.1)
qP =
1.3000 4.8000 -3.9000
С443. SUMSQR
Вычислить сумму квадратов всех элементов массива M:
M = [ 1 2 3; 4 5 6]; s = sumsqr(M)
s =
91
Графические утилиты
С443. PLOTV
Отобразить векторы в виде линий
P = [-0.4 0.7 0.2; -0.5 0.1 0.5];
figure(1), clf, plotv(P,'-'); grid on %Рис.11.64
C444. PLOTVEC
Отобразить векторы входа в виде маркеров
P =[ 0.1000 1.0000 0.5000 0.7000
-1.0000 2.0000 0.5000 0.1000
1.0000 0.1000 0.7000 0.5000];
t = minmax(P)'; figure(1), clf, axis(t(:)'), c=[1 2 3 4]';
plotvec(P,c,'o'), grid on %Рис.11.65
C445. PLOTPV
Отобразить векторы входа и целей персептрона в виде маркеров
P = [0 0 1 1; 0 1 0 1; 1 0 0 1]; T = [0 0 0 1];
figure(1), clf, plotpv(P,T),grid on,
title('Векторы входов и целей') %Рис.11.66
С446. PLOTPC
Определим векторы входов и целей и отобразим их в двумерном пространстве входов
P = [0 0 1 1; 0 1 0 1]; T = [0 0 0 1];
figure(1), clf, plotpv(P,T), grid on, hold on
Создадим персептрон с входами P, зададим произвольные значения весам и смещениям и построим разделяющую линию в пространстве входов:
net = newp(minmax(P),1);
net.iw{1,1} = [-1.2 -1]; net.b{1} = 1.3;
h = plotpc(net.iw{1,1},net.b{1});
set(h,'Color',[1/2,1/2,0],'LineWidth',2)
Построиv разделяющую плоскость в трехмерном пространстве
P = [0 0 1 1; 0 1 0 1; 1 0 0 1]; T = [0 0 0 1];
figure(1), clf, plotpv(P,T), grid on, hold on
Следующие функции создают персептрон с входами, соответствующими значениям вектора P, назначают значения его весам и смещениям и строят разделяющую плоскость:
net = newp(minmax(P),1);
net.iw{1,1} = [-1.2 -1 -0.5]; net.b{1} = 1.3;
h = plotpc(net.iw{1,1}, net.b{1});