Сеть Хэмминга
> |
f:= (i,j) -> if (i=j) then 1 else -epsilon fi: # Веса 2-го слоя
|
> |
y:=Vector # Распознаваемый образец
|
> |
poslin:=(x) -> if (x<0) then 0 else x fi: # Positiv Linear Function
|
> |
x[1]:=[-1,-1,-1,-1,-1]: # Набор данных
|
> |
x[2]:=[-1, 1,-1,-1,-1]:
|
> |
x[3]:=[-1,-1, 1,-1,-1]:
|
> |
x[4]:=[-1, 1, 1,-1,-1]:
|
> |
m:=4: # Число данных (число нейронов выхода)
|
> |
N:=nops(x[1]); # Длина вектора (число нейронов входа)
|
> |
epsilon:=1/4: # Внедиагональный элемент 2-го слоя <1/(m-1)
|
> |
b:=Vector(4,N):# Вектор смещения
|
> |
W1:=Matrix([seq(x[i],i=1..m)]): # Матрица весов 1-го слоя
|
> |
W2:=Matrix(4,f): # Матрица весов 2-го слоя
|
> |
РасстояниеНэмминга:=(b-W1.y)/2:
|
> |
p:=map(ff,РасстояниеНэмминга);
|
> |
p:=evalf(map(poslin,W2.p));#Запустить эту строчку несколько раз
|
|