Как денормализовать предсказания нейронной сети после нормализации входных данных? - PullRequest
0 голосов
/ 07 февраля 2019

Проект, над которым мы работаем, - «Оценка программных усилий с использованием алгоритма обратного распространения».

Для этого проекта нейронная сеть обучается с использованием алгоритма обратного распространения.Мы использовали код, который использует набор данных iris для обучения нейронной сети.Используемая нами функция активации - это функция тангенса (tanh), которая имеет диапазон [-1, 1].

Набор данных Iris имеет 4 входа и 1 выход (виды, к которым относится этот вход).4 входа: длина чашелистика, ширина чашелистика, длина лепестка и ширина лепестка.Эти переменные в соответствии со значениями затем подразделяются на 3 вида (setosa, versicolor и veronica).В наборе данных эти виды представлены в двоичном виде как (1,0,0), (0,1,0), (0,0,1) соответственно.Все выходные значения находятся в диапазоне от 0 до 1.

Наш проект находится в режиме оценки программных усилий, поэтому мы заменили набор данных набором данных COCOMO81.Входные и выходные переменные имеют большее число в диапазоне до 2000. В коде нормализация используется для нормализации этих значений, чтобы они находились в диапазоне от -1 до 1 (с использованием функции активации касательной).Это хорошо работает для обучения нейронной сети, но из-за этой нормализации мы не можем знать исходные значения выходных значений, так как они также находятся в нормализованной форме.

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

...