Как практически оценить вклад "конкретного" входа в работу НС?

 

Не совсем пятнично, но ...

Есть НС, любая, есть вход А={A1, A2, .... A20}. Обучаем НС и получаем удовлетворяющий нас результат. Как нам практически оценить вклад каждого элемента входа A1, A2, ... A20 в этот результат?

Варианты навскидку пришедшие мне в голову:

1) Как-то просуммировать и посчитать все веса элемента с которыми он проходит через сеть. Не совсем понятно как это сделать, сильно придется погрузиться в работу сети, где-то как-то высчитать какие-то коэффициенты и т.д.

2) Попробывать как-то "занулить", или например перевернуть элемент входного вектора и посмотреть как это скажется на конечном результате. Пока остановился на нем.

Но прежде чем реализовывать этот второй вариант решил посоветоваться. Может кто думал на ту тему уже дольше чем я? Может кто-то книжечку-статейку посоветует?

 
Figar0:

Не совсем пятнично, но ...

Есть НС, любая, есть вход А={A1, A2, .... A20}. Обучаем НС и получаем удовлетворяющий нас результат. Как нам практически оценить вклад каждого элемента входа A1, A2, ... A20 в этот результат?

Варианты навскидку пришедшие мне в голову:

1) Как-то просуммировать и посчитать все веса элемента с которыми он проходит через сеть. Не совсем понятно как это сделать, сильно придется погрузиться в работу сети, где-то как-то высчитать какие-то коэффициенты и т.д.

2) Попробывать как-то "занулить", или например перевернуть элемент входного вектора и посмотреть как это скажется на конечном результате. Пока остановился на нем.

Но прежде чем реализовывать этот второй варинт решил посоветоваться. Может кто думал на ту тему уже дольше чем я? Может кто-то книжечку-статьку посоветует?


а может исключить этот вход и попробовать обучить без него. Если результат будет почти идентичным, то не очень то и нужный элемент исключили :)
 
Avals:

а может исключить этот вход и попробовать обучить без него. Если результат будет почти идентичным, то не очень то и нужный элемент исключили :)


Здесь картина такая: этот подход будет сильно зависеть от метода обучения, точнее способности обучения найти абсолютный максимум. Я например не строю иллюзий на этот счет, я уверен что с помощью ГА обучая 300 весов сети я его не нахожу. Так какой-то локальный максимум, но он меня устраивает. Исключив что-либо я могу получить результат и не хуже, но просто другой вариант работы НС. Вот если бы я мог обучать НС посредством МНК, т.е. находить единственно верное решение - тогда именно так бы и сделал.

В любом случае, задача у меня стоит подругому: есть НС, есть вход, есть результат обучения и надо найти степень влияния каждого элемента входа на конечный результат.

 
Figar0:


Здесь картина такая: этот подход будет сильно зависеть от метода обучения, точнее способности обучения найти абсолютный максимум. Я например не строю иллюзий на этот счет, я уверен что с помощью ГА обучая 300 весов сети я его не нахожу. Так какой-то локальный максимум, но он меня устраивает. Исключив что-либо я могу получить результат и не хуже, но просто другой вариант работы НС. Вот если бы я мог обучать НС посредством МНК, т.е. находить единственно верное решение - тогда именно так бы и сделал.

В любом случае, задача у меня стоит подругому: есть НС, есть вход, есть результат обучения и надо найти степень влияния каждого элемента входа на конечный результат.


тогда ваш вариант 2. Но только наверное не обнулить или инвертировать, а заменить на случайный (шумовой)
 
Avals:

а заменить на случайный (шумовой)
Да, наверно это здраво. И для чистоты эксперимента проделать это с каждым элементом несколько раз. Надо подумать....
 
Ещё вариант- перебрать все сети с 1 входом, потом- 2мя, потом 3мя и т.д. :-)
 
jartmailru:
Ещё вариант- перебрать все сети с 1 входом, потом- 2мя, потом 3мя и т.д. :-)

Вот вот, как раз примерно об этом подумал... Надо как-то попробовать учесть взаимосвязь входов, т.е. исключать или включать входы группами тоже.
 
Начал экспериментироват, исключаю различные комбинации от 1 до 5 входов. Результаты очень интересные, но как их трактовать даже пока и не знаю) Некоторые результаты просто настолько неожиданны... Репу чесать придется долго.
 
Figar0:
Результаты очень интересные, но как их трактовать даже по и не знаю)
Трактуйте правильно. Если трактовать неправильно- можно запутаться и ни к чему ни придти.
 
Figar0:
Начал экспериментироват, исключаю различные комбинации от 1 до 5 входов. Результаты очень интересные, но как их трактовать даже пока и не знаю) Некоторые результаты просто настолько неожиданны... Репу чесать придется долго.

В чём неожиданность???
 

Степень влияния каждого входа реально оценить практически не возможно. Есть всякие математические формулы, в специализированных прогах степень влияния можно расчитать автоматически. Но все эти расчеты лишь некая условная величина, которая реально мало что говорит, поскольку может нести в себе большую погрешность.

По опыту, это может определить только трейдер, знающий из собственного опыта какой интрумент имеет большее влияние на другой инструмент (если говорить о мультивалютном входе).

Если говорить о выборе индикаторов, как входа, от того же самого инструмента на котором торгуем, то выбор входа из различных индикаторов практически мало влияет на результат выхода нейросети, поскольку нейросеть очень нелинейна, в связи с чем ей практически все равно что на входе - стохастик или макд или еще что-нибудь. То есть разница какая-то будет безусловно, но не кардинальная или вообще мало заметная, практически не влияющая на результат.

Причина обращения: