P(w0+w1*x1+...+wn*xn) = f(x1,x2,...,xn), або, що еквівалентно, якщо існує гіперплощина, що відділяє вершини позначенні 1-ми від вершин що позначенні 0-ми n-вимірного одиничного куба, то f називається пороговим нейроном (пороговою функцією). P-предикат, який є звичайною функцією sign(x).
На площині n-вимірний одиничний куб є квадратом. Нехай вершини цього квадрата помічені 1, можна відділити від вершин помічених 0 прямою лйнією, як показано на малюнку 1.
Y
01 1 1 11
00 0 1 10 x
МАл. 1
Тоді, в данному випадку, бульова функція f є пороговою, а w0+w1*x1+w2*x2=0 - є ваговим вектором нейрона, а також є рівнянням прямої, що відділяє вершини з 0, від вершин з 1.
X1X2 f
0 0 0
0 1 1
1 0 1
1 1 1
Вагові вектори бульової функції, в загальному випадку, якщо вона є нейроном вибираються неоднозначно. Більше того, ми завжди можемо вибрати пряму так, що вона буде проходити через початок координат. Константи 0 або 1 теж вважаються нейронами, бо існує ваговий вектор, який всі 4 точки відділяє від пустої множини.
Означення 3.
Гіперплощина - це множина розв’язків одного лінійного рівняння із n невідомими.
Будь-який нейрон є многофункціональним елементом, тобто ми можемо перебудовувати його, керуючи вхід, так що нейрон буде реалізовувати іншу функцію, не змінюючи своєї фізичної структури.
Означення 4.
N-місним предикатом визначеним на множинах М1,М2,...,Мn називається довільне функціональне відображення множини М1*М2*...*Мn в множину {1,0}.
Означення 5.
Універсальний нейрон - це нейрон, на якому можна реалізувати довільну функцію.
Поняття універсального нейрону введено в (5).
4. Нейрони в алфавіті 2={-1,1}.
До цього часу ми розглядали нейрон в алфавіті {0,1}. Нехай 2={1,-1} новий алфавіт.
n2 = { (b1,...,bn) bi2}
Перехід від алфавіту {0,1} до {1,-1} можна здійснити відображенням f : bi (-1)bi, тобто 01, 1-1.
F:2Z2.
Аналітично цей перехід: xi=1 - 2*yi (i=1,...,n); (1)
yi=(1-xi)/2. (1*)
Отже f=(1-F)/2.
Підставивши (1) і (1*) в (*) отримаємо:
w0+w1/2-w1*x1/2+...+wn/2-wn*xn/2>0, (1-F)/2=1.
w0+w1/2-w1*x1/2+...+wn/2-wn*xn/2<0, (1-F)/2=0. (2)
Для першого рядка (2) F= -1, для другого F=1.Тоді отримуємо
w0*2+w1-w1*x1+...+wn-wn*xn>0, F= -1.
w0*2+w1-w1*x1+...+wn-wn*xn<0, F= 1. (3)
Позначимо -2*w0-w1-...-wn=a0, w1=a1, ... , wn=an.
Тоді: a0+a1*x1+...+an*xn<0, F=-1;
a0+a1*x1+...+an*xn>0, F=1; (3*)
Так як у нас w0=-T, то a0=2*T-w1-...-wn.
Таким чином, всі вагові коефіцієнти залишилися без змін, а змінився тільки поріг, який називається модифікованим порогом.
Означення 6.
Комплексним нейроном (комплекснопороговою функцією), називається така бульова функція F(x1,x2,...,xn) для якої існують такі комплексні вагові коефіцієнти (a0,a1,...,an), що P(a0+a1*x1+...+an*xn)= =F(x1,x2,...,xn)
Теорема.
Будь-яка бульова функція реалізується універсальним нейроном над полем комплексних чисел С [5].
Поняття комплексного нейрона розширює інженерні можливості реалізації нейронів.
Розділ 2
1. Алгоритм навчання порового нейрона над полем комплексних чисел.
Метою данної роботи була перевірка алгоритму навчання порогового нейрона запропонованого проф. Айзенбергом Н.Н.
та знаходження оптимізуючих факторів швидкості його збіжноті.
WS+1=WS+(-)*Xj/N,
де WS - n+1-вимірний ваговий вектор;
N - нормуючий множник;
- номер сектора, куда повинна була попасти вагова сума W; - номер сектора, куда попала вагова сума W;
m=cos(2*Pi*m/k)+i*sin(2*Pi*m/k) де k - кількість секторів,
на які розбито комплеклексну площину;
XJ=(1,x1,...xn) - n+1-вимірний вектор, де xi{1,-1} i=1,...,n;
W=w0+w1*x1+...+wn*xn - вагова сума.
Додаток 1. Результати роботи програми.
Література
1. Айзенберг Н.Н., Іваськів Ю.Л. Многозначная пороговая логіка. Киев, Наукова думка, 1977, с. 148.
2. Дертоузос, Пороговая логика, Мир, 1967.
3. Айзенберг И.Н. Уневерсальный логический елемент над полем комплексных чисел. Кибернетика.N3,1991,с.116-121.
4. Айзенберг Н.Н. спектральный анализ и отношения толерантности. Методическая разработка. УжГУ. 1984.с.46.
5. L.O. Chua and L.Yang.”Celuar neural networks:theory”,IEEE Trans.
Circuits Syst. Vol.35.p.p. 1257-1290.okt. 1988.