KNOW INTUIT, Лекция, Методи за класификация и прогнозиране
Matlab пакет
Пакетът MATLAB (The MathWorks) също предоставя на потребителите възможността да работят с невронни мрежи. "Кутията с инструменти за невронни мрежи", включена в стандартната доставка на MATLAB, предоставя широки възможности за работа с невронни мрежи от всякакъв тип.
Предимството на пакета MATLAB е, че когато го използва, потребителят не е ограничен до моделите на невронни мрежи и техните параметри, които са твърдо вградени в невросимулатора, но има възможността самостоятелно да проектира мрежата, която смята за оптимална за решаване на задачата.
Помислете за пример за изграждане на невронна мрежа в пакета Matlab.
Нека има 15 независими променливи - показатели за ефективност на компанията и една зависима променлива - обем на продажбите. Имаме база данни за изминалата година. Необходимо е да се изгради седмична прогноза за продажбите за месеца. За решаване на проблема се предлага да се използва трислойна мрежа за обратно разпространение.
Нека формираме такава мрежа, която включва 15 неврона във входния слой (по броя на входните променливи), 8 неврона във втория слой и 1 неврон в изходния слой (по броя на изходните променливи).
За всеки слой избираме трансферната функция: първият слой е tansig, вторият е logsig, третият е purelin.
В средата на Matlab синтаксисът на такава невронна мрежа е както следва:
където PR е масив от минимални и максимални стойности за R входни вектори;
Si - броят на невроните в i-тия слой;
TFi - функция за активиране на слой i;
btf - тренировъчна функция, която реализира метода на обратно разпространение;
blf е конфигурационна функция, която прилага метода за обратно разпространение;
pf - критерий за качество на обучението.
Функцията за активиране може да бъде всяка диференцируема функция, например tansig, logsig, purelin.
където P е набор от входни вектори;
n е броят на NS входовете;
m е броят на невроните в скрития слой;
l е броят на изходите на Народното събрание.
Трябва също така да зададете метода за изчисляване на стойността на грешката. Например, ако са избрани най-малките квадрати, тогава тази функция ще изглежда така: Net .performFcn=' SSE '.
За да зададете максималния брой епохи на 10000, използвайте функцията: net.trainParam.epochs=10000.
Можете да започнете процеса на обучение по следния начин:
След приключване на обучението на мрежата, тя може да бъде записана във файл, например с име nn1. мат.
За да направите това, трябва да изпълните командата:
По този начин е възможно да се изгради мрежа с всякаква сложност в пакета и няма нужда да се обвързвате с ограниченията, наложени от невросимулаторите. Въпреки това, за да работите с невронни мрежи в пакета Matlab, трябва да научите както самата среда, така и повечето от функциите на Neural Network Toolbox. За по-подробно проучване на дизайна на невронни мрежи в Neural Network Toolbox може да се препоръча [49, 50].