нейронная сеть и входы - страница 40

 
nikelodeon:

Дык вот и думаю... в чём бы интерпретировать результат... чтоб быстрее было и уж точно не в ручную........

 

На выбор: c, c++, Java, JavaScript, mql4, mql5
 
Reshetov:
На выбор: c, c++, Java, JavaScript, mql4, mql5

Юрий плз.

Вы не подскажете, как МТ4,5 завязать с JAVA очень хочется попробовать, хотя бы чего почитать.

 
Я в матлабе сделал интерпритацию. Геморно конечно, но зато длинные формулы считает не то что ексель :-)
 
ivandurak:

Юрий плз.

Вы не подскажете, как МТ4,5 завязать с JAVA очень хочется попробовать, хотя бы чего почитать.

Методов куча, но все они геморные. Java не предназначена для низкоуровневых приложений, c целью платформенной независимости. А в МТ отсутствуют высокоуровневые каналы связи, не привязанные к плаформе - Windows.

Поэтому я никак не увязываю, а пишу на Java кодогенераторы, результаты которых уже запросто можно воткнуть хоть в MQL, хоть в С, хоть в Java.

 
Я ещё толком не могу понять, позелность данной штуки. Но вот в процессе оптимизации, Не всегда общее количество ошибок считается верно. И при этом почемуто в конце оптимизации выводит сообщение Bad Data!!! Что бы это могло быть...???
 
nikelodeon:
Я ещё толком не могу понять, позелность данной штуки. Но вот в процессе оптимизации, Не всегда общее количество ошибок считается верно. И при этом почемуто в конце оптимизации выводит сообщение Bad Data!!! Что бы это могло быть...???

Bad Data означает, что модель ошибается в своих "предсказаниях" чаще, чем если бы мы не пользовались моделью. Т.е. модель не пригодна к прикладному применению. Причина: мусор на входах. Т.е. входные данные незначимы.


Возьмем результаты тестирования на контрольной выборке и составим таблицу сопряженностей:


 Предсказание модели \ Реальный исход (Значение зависимой переменной)
Положительный исход
Отрицательный исход
Положительный исход
True Positive (TP)
False Positive (FP)
Отрицательный исход
False Negative (FN)
True Negative (TN)


В таком случае частота позитивных исходов в выборке, т.е. если мы возьмём случайным образом (наугад) любой пример из выборки будет равна (TP + FN) / (TP + FN + FP + FN)

Если мы будем пользоваться предсказаниями модели, то частота верно предсказанных моделью позитивных исходов будет равна: TP / (TP + FP)

Чтобы модель  реже ошибалась, предсказывая позитивные исходы для примеров из выборки, чем если мы возьмём из выборки произвольные примеры наугад и будем трактовать их исходы как положительные по умолчанию, необходимо и достаточно, чтобы соблюдалось условие:

TP / (TP + FP) > (TP + FN) / (TP + FN + FP + FN)

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

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

Совершенно верно. Т.е. за один раз можно запихнуть до 1023 предикторов (входных данных) одновременно. После этого если не появится сообщение BadData, то исключить из выборки (удалить столбцы из электронной таблицы) те предикторы, которые помечены в описании модели как пофиксенные (under reduction).

Выборку из оставшихся предикторов уже можно будет прогнать вторично и они подпадут под ядерные преобразования. А ядерные преобразования в свою очередь дадут повышенную обобщающую способность.

Ядерные преобразования включаются автоматически если количество входов (т.е. столбцов с объясняющими переменными) не превышает 44 штук. Если количество входов не превышает 10 штук, то включается МГУА, который даёт максимальную обобщающую способность.

 
Отлично, только вот при увеличении столбцо более 7 время оптимизации существенно увеличивается..... Даже и незнаю как поднять мощностя.... А уж о 10 столбцах и говорить нечего. Нереально долго.... Это можно как то исправить???
 
Подготовил я знамо выборку данных из 11 столбцов+ 1 столбец выход. Вопрос: при запуске Предиктора какое количество столбцов нужно указать. Только количество данных (11) или же вместе с выходом(12)????