Машинное обучение — данные обучения и данные, которые «должны быть классифицированы»

У меня есть общий вопрос о предварительной обработке данных для машинного обучения. Я знаю, что это почти необходимо сделать, чтобы центрировать данные вокруг 0 ​​(среднее вычитание), нормализовать данные (удалить дисперсию). Возможны и другие техники. Это должно использоваться для обучающих данных и наборов данных проверки.

Я столкнулся со следующей проблемой. Моя нейронная сеть, обученная классифицировать определенные формы на изображениях, не сможет этого сделать, если я не применю эти методы предварительной обработки к изображениям, которые должны быть классифицированы. Эти изображения для «классификации», конечно, не содержатся в обучающем наборе или наборе проверки. Таким образом, мой вопрос:

Нормально ли применять нормализацию к данным, которые должны быть классифицированы, или плохая производительность моей сети без этих методов означает, что моя модель плоха в том смысле, что она не смогла обобщить и подогнана?

P.S. с нормализацией, используемой для «классификации» изображений, моя модель работает достаточно хорошо (точность около 90%), не ниже 30%.

Дополнительная информация: модель: сверточная нейронная сеть с керасом и тензорным потоком.


person Apolonius    schedule 12.07.2018    source источник
comment
Этот вопрос не подходит для переполнения стека. stats.stackexchange.com может быть лучшим выбором. Кроме того, этот вопрос очень пространный, и, не зная вашего набора данных/архитектуры, трудно дать осмысленный ответ. По моему личному мнению, я бы сказал, что предварительная обработка может иметь такое большое значение.   -  person dennis-w    schedule 12.07.2018


Ответы (1)


Само собой разумеется (хотя, по общему признанию, это редко упоминается явно во вводных руководствах, отсюда частое разочарование новичков), что новые данные, подаваемые в модель для классификации, должны пройти те же самые этапы предварительной обработки, за которыми следуют для обучающих (и тестовых) данных.

Здесь, безусловно, ожидается некоторый здравый смысл: во всех видах моделирования ML ожидается, что новые входные данные будут иметь ту же «общую форму» с исходными данными, используемыми для обучения и тестирования; в противоположном случае (то есть то, что вы пытались выполнить), если вы на мгновение остановитесь, чтобы подумать об этом, вы должны быть в состоянии убедить себя, что это не имеет особого смысла...

Следующие ответы могут помочь вам прояснить идею, иллюстрируя также случай обратного преобразования прогнозов, когда это необходимо:

Как предсказать функцию/таблицу с помощью Keras?

Получение очень плохого прогноза с помощью KerasRegressor

person desertnaut    schedule 12.07.2018
comment
У меня возникло ощущение, что так и должно быть, и применение той же нормализации к «подлежащим классификации» данным является правильным логическим шагом. Мне просто интересно, так как я не нашел ничего по этой теме, как вы сказали. Почему-то они не включают это в туториалы или используют уже нормализованные данные. Спасибо за быстрый ответ. - person Apolonius; 12.07.2018