Программное обеспечение процессов и систем. Щеников Я.А. - 34 стр.

UptoLike

Составители: 

34
net – имя сети;
P – ее входы.
gensim(net)функция генерирует нейросетевой блок Simulink
для последующего моделирования нейронной сети средствами
этого пакета.
net – имя созданной сети.
7.2. Аппроксимация функций с помощью нейронных сетей
Предположим, что имеется обучающая выборка ((x
1
, y
1
),
(x
2
, y
2
)…(x
N
, y
N
)) (пары данных «вход-выход»). Задача аппрок-
симации состоит в нахождении оценки неизвестной функции F(х).
Выбор топологии нейронной сети
Вообще, выбор архитектуры сети для решения конкретной задачи
основывается на опыте разработчика. Создадим сеть для аппроксима-
ции функции вида T = P
3
на отрезке [ –1, 1], используя следующие экс-
периментальные данные:
P=[–1 0,8 0,6 0,4 0,2 0 0,2 0,4 0,6 0,8 1]
T=[1 0,51 0,22 0,06 0,01 0 0,01 0,06 0,22 0,51 1]
Для оценки числа нейронов в скрытых слоях однородных нейронных
сетей можно воспользоваться формулой для оценки необходимого чис-
ла синаптических весов Lw (в многослойной сети с сигмоидальными
передаточными функциями)
(mN)/(1+log
2
N) L
w
m(N/m +1 )(n + m + 1) + m,
где n – размерность входного сигнала; m – размерность выходного сиг-
нала; N – число элементов обучающей выборки.
В нашем случае размерность входного сигнала n = 1, размерность
выходного сигнала m = 1, число элементов обучающей выборки N = 11,
тогда необходимое количество синаптических весов:
(1 × 11)/(1 + log
2
11)L
w
1(11/1 + 1)(1 + 1 +1) + 1
2,47 L
w
37.
Видно, что число синаптических весов может быть невелико, а скры-
тый слой – только один. Создадим сеть прямого распространения с
тремя нейронами в скрытом слое и одном – в выходном:
net = newff([1 1], [3 1]).
Следующий этап – обучение созданной сети:
net = train(net,P,T)