Я работаю с автоэнкодерами и у меня немного путаницы, я пробую разные автокодеры, такие как:
fully_connected autoencoder
convolutional autoencoder
denoising autoencoder
У меня есть два набора данных, один - числовой набор данных со значениями float и int, второй - текстовый набор данных, которыйимеют значения текста и даты:
Числовой набор данных выглядит так:
date , id , check_in , check_out , coke_per , permanent_values , temp
13/9/2017 142453390001 134.2 43.1 13 87 21
14/9/2017 142453390005 132.2 46.1 19 32 41
15/9/2017 142453390002 120.2 42.1 33 99 54
16/9/2017 142453390004 100.2 41.1 17 39
89
Любой мой набор текстовых данных выглядит так:
data text
13/9/2017 i totally understand this conversation about farmer market and the organic products, a nice conversation ’cause prices are cheaper than traditional
14/9/2017 The conversation was really great. But I think I need much more practice. I need to improve my listening a lot. Now I’m very worried because I thought that I’d understand more. Although, I understood but I had to repeat and repeat. See you!!!
Итак, мои вопросы:
Должен ли я нормализовать свои числовые значения данных перед подачей в любой тип автоэкодера?если они являются значениями типа int и float, я все еще должен их нормализовать?
Какую функцию активации я должен использовать в автоэнкодере?В какой-то статье и исследовательской статье написано «сигмоид», а в некоторых «рэлу»?
Должен ли я использовать выпадение в каждом слое?например, если мой artichare для autoencoder выглядит как
encoder (1000 --> 500 -- > 256 ----> 128 ) --> decoder (128 --> 256 --> 500--> 784)
как-то так?
encoder(dropout(1000,500) --> dropout( 500,256) --> dropout (256,128) )----> decoder(dropout(128,256),dropout(256,500),dropout(500,784))
Для набора данных текста, если я использую word2vec или любое вложение для преобразования текста в вектор, то я быиметь значения с плавающей запятой для каждого слова, я должен нормализовать эти данные тоже?