EM алгоритм python на данных изображения MNIST - PullRequest
0 голосов
/ 25 февраля 2020

Мне нужно реализовать алгоритм EM для подгонки GMM к данным изображения (пиксели). Данные были предоставлены в виде файла .mat. Данные аналогичны набору данных MNIST. Таким образом, это матрица изображений с формой 784 x 1990. Есть изображения 1990 года, и каждый столбец матрицы соответствует одному изображению размером 28 x 28 пикселей (т.е. 28 * 28 = 784).

I см. множество примеров онлайн для EM в python, но ни одного для работы с изображениями. Большинство генерируют данные, как показано ниже. Как я должен работать с этими векторами изображения пикселей? Я не уверен, как изменить его или как начать эту задачу. Я усредняю ​​пиксели каждого столбца? Какой должна быть моя цель X - список или список списков? По моему скромному мнению, мне нужно получить координаты x, y для каждого черно-белого изображения.

random_seed=36788765
np.random.seed(random_seed)

Mean1 = 2.0  # Input parameter, mean of first normal probability distribution
Standard_dev1 = 4.0 #@param {type:"number"}
Mean2 = 9.0 # Input parameter, mean of second normal  probability distribution
Standard_dev2 = 2.0 #@param {type:"number"}

# generate data
y1 = np.random.normal(Mean1, Standard_dev1, 1000)
y2 = np.random.normal(Mean2, Standard_dev2, 500)
data=np.append(y1,y2)

Или вот так, где есть X и Y, чтобы сгенерировать график рассеяния:

from sklearn.datasets.samples_generator import make_blobs

# Create dataset
X,Y = make_blobs(cluster_std=1.5,random_state=20,n_samples=500,centers=3)```

...