Обучение нейронной сети

C/C++, JAVA, Agilent VEE, PHP, Basic, Pascal, Matlab etc.
Ответить
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
professor
professor
Сообщения: 4922
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Репутация: 0
Версия LabVIEW: 2015, 2016
Откуда: СССР

Обучение нейронной сети

Сообщение IvanLis »

Может есть спецы по нейронным сетям.
Уже 4 дня пытаюсь обучить ИНС.
Для классификации использую многослойный персептрон со сдвиговым Bias-нейроном в каждом слое. Активационная функция - Логистическая функция (сигмоид).
Возможно причина в отсутствии опыта и специализированного ПО, но разделить состояния у меня не получилось.

Задача:
Имеются 8 состояний объекта - 8 выходов ИНС (1/0 = True/False). Состояния взаимоисключающие, т.е. может быть активирован только один выходной нейрон.
На входе имеем 17 входных нейронов - 17 бинарных сигналов (1/0 = True/False).

Обучающая выборка в файле, разделитель TAB, 131072 строки выборки + 1 строка заголовок.
TrainData_Binary.zip
(329.72 КБ) 91 скачивание
Необходимо настроить сеть так, что бы правильно распознавались все состояния - 100%.
Сигналы на выходе должны быть не обязательно близки к 0/1, вполне достаточно точности 0.25-0.3. Т.е. за "0" принимать значения <=0.3, а за "1" значения >=0.7.
У меня получилось выйти на 99.51%, но этого не достаточно.

В принципе мне будет достаточно знать структуру ИНС, которая позволит выполнить классификацию 100% состояний, т.е. знать количество скрытых слоев и количество нейронов в каждом из них.
Тогда я уже смогу упереться и вычислить веса.
А то я уже устал биться в стену лбом и подбирать сеть. Да и ресурсы ЭВМ несколько ограничены, уже дошел до размеров, когда каждая эпоха обучения превосходит 1 час, сами понимаете это не вариант для подбора.

Ответить

Вернуться в «Языки программирования»