2015-04-08 5 views
0

Я использую алгоритм стохастического градиентного спуска (SGD) для задачи регрессии и тренирую сеть для множественной итерации входных точек данных. Я обнаружил, что перетасовка входных данных дает гораздо лучшие результаты по сравнению с несмешанными входными данными для того же количества итераций. Например, я тренирую сеть для изучения функции «Квадрат» для диапазона ввода между [-1,1], всего 100 точек и 500 итераций. Поэтому общие точки тренировки будут 100 * 500, и если я перетасовываю все эти тренировочные очки, система будет работать намного лучше.Стохастический градиентный спуск для регрессии с данными в случайном порядке работает лучше, чем размят. Зачем?

Не могли бы вы предложить какие-либо математические данные позади него? Почему перестановка входов работает лучше? Или любое предложение для справочных документов, в котором объясняется, как помогает стохстичность в обучении.

Спасибо.

ответ

0

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

+0

Спасибо Дэнни. В моей системе функция стоимости (поверхность ошибки) является выпуклой и скорость обучения постоянна. Вес обучения обновляется каждый раз с фиксированной суммой. Поскольку скорость обучения является постоянной теоретически, система должна достигать одинаковых минимумов в обоих случаях (перетасовка и без перетасовки). Разве я ничего не упускаю? – user2486253

+0

Если скорость обучения слишком высока, она может отскочить вокруг оптимального (более правильно). Можете ли вы попробовать меньшую скорость обучения и большее количество итераций? –