Произвольно выбранные значения как стандартное / среднее для нормализации. Почему? - PullRequest
1 голос
/ 13 февраля 2020

У меня вопрос по поводу метода z-score normalization.
Этот метод использует значения z-score до normalize набора данных и требует mean/std.
Я знаю, что вы, как правило, должны использовать mean/std набора данных.
Но я видел несколько учебных пособий по pytorch.org и net, которые просто используют 0.5 для mean/std что мне кажется совершенно произвольным.
И мне было интересно, почему они не использовали mean/std набора данных?

Примеры учебных пособий, где они просто используют 0.5 как mean/std: https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html
https://medium.com/ai-society/gans-from-scratch-1-a-deep-introduction-with-code-in-pytorch-and-tensorflow-cb03cdcdba0f
https://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html#sphx -glr-beginner-blitz-cifar10-tutorial-py

1 Ответ

0 голосов
/ 14 февраля 2020

Если вы используете стандартное / среднее значение вашего набора данных для нормализации того же набора данных, который у вас будет после нормализации, среднее значение будет равно 0 и стандартное значение равно 1 .
Где значения min / max нормализованного набора данных , а не в определенном диапазоне .

Если вы используете означает / стандартное значение 0,5 в качестве параметра для нормализации вашего набора данных, вы получите набор данных в диапазоне , равном -1. 1 .
И среднее нормализованного набора данных будет близко к нулю , а std нормализованного набора данных будет близко к 0,5 .

Поэтому, чтобы ответить на мой вопрос, вы используете 0,5 в качестве среднего значения / стандартное значение , когда хотите, чтобы ваш набор данных находился в диапазоне от -1 до 1 .
Что было бы полезно, например, при использовании функции активации tanh в нейронной сети.

...