Нейронні мережі: приклад, визначення, значення, сфера застосування

Моделювання в Matlab

Наведемо простий приклад нейронних мереж Матлаб-моделювання.

Припускаючи, що “а” модель має три входи “a”, “b” і “c” і генерує вихід “y”.

Для цілей генерації даних: = 5а + bc + 7с.

Спочатку прописують невеликий скрипт для генерації даних:

  • а = Rand (11000);
  • b = Rand (1,1000);
  • з = Rand (1,1000);
  • n = Rand (1,1000) * 0,05;
  • у = а * 5 + Ь * с + 7 * з + n,

де n – це шум, спеціально доданий, щоб зробити його схожим на реальні дані. Величина шуму становить 0,1 і є рівномірною.

Таким чином, вхід – це набір “a”, “b” і “c”, а висновок:

  • I = [a; b; c];
  • O = y.

Далі використовують вбудовану функцію matlab newff для генерації моделі.

Приклади завдань нейронних мереж

Спочатку створюють матрицю R розміром 3 * 2. Перший стовпець покаже мінімум всіх трьох входів, а другий – максимум трьох входів. У цьому випадку три входи знаходяться в діапазоні від 0 до 1, тому:

R = [0 1; 0 1; 0 1].

Тепер створюють матрицю розміру, яка має v-розмір усіх шарів: S = [51].

Тепер викликають функцію newff наступним чином:

net = newff ([0 1; 0 1; 0 1], S, {‘tansig’, ‘purelin’}).

Нейронна модель {‘tansig’, ‘purelin’} показує функцію відображення двох шарів.

Навчають її з даними, які створені раніше: net = train(net,I,O).

Мережа навчена, можна побачити криву продуктивності, як вона навчається.

Тепер знову моделюють її на тих же даних і порівнюють вихідні дані:

O1 = sim(net,I);

plot(1:1000,O,1:1000,O1).

Таким чином, вхідна матриця буде:

  • net.IW{1}
  • -0.3684 0.0308 -0.5402
  • 0.4640 0.2340 0.5875
  • 1.9569 -1.6887 1.5403
  • 1.1138 1.0841 0.2439
  • net.LW{2,1}
  • -11.1990 9.4589 -1.0006 -0.9138