Как добавить 50% случайного нормального шума в набор данных Mnist в Python - PullRequest
0 голосов
/ 07 февраля 2019

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

Вот мой код Python:

from keras.datasets import mnist
import numpy as np

(X_train, y_train), (X_test, y_test) = mnist.load_data()
X_train = X_train.astype('float32')
X_test = X_test.astype('float32')
X_train /= 255
X_test /= 255
noise_factor = 0.5
x_train_noisy = X_train + noise_factor * np.random.normal(loc=0.0, scale=1.0, size=X_train.shape) 
x_test_noisy = X_test + noise_factor * np.random.normal(loc=0.0, scale=1.0, size=X_test.shape) 
x_train_noisy = np.clip(x_train_noisy, 0., 1.)
x_test_noisy = np.clip(x_test_noisy, 0., 1.)

1. Процент этого шума 50% (на основена noise_factor)?Может ли коэффициент шума показать нам процент?

2. Есть ли другие способы добавить шум с процентом?

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

1 Ответ

0 голосов
/ 07 февраля 2019
  1. Шум не в процентах.Как правило, вы рисуете шум из стандартного нормального распределения и умножаете его на коэффициент (в вашем случае это .5)

  2. Когда вы имеете дело с процентами, вам нужно указать процент суважение к что .Если у вас есть это, то вы можете рисовать оттуда случайным образом (однако я не видел это на практике).

  3. Предоставьте больше информации, но если что-то является детерминированным, это означает, что это неслучайным образом.Можно сделать вашу случайную модель детерминированной, указав начальное значение, но это обычно для получения точно таких же случайных значений между экспериментами.

...