Первый вопрос: зачем использовать SGD (который я принимаю здесь). Существуют более специализированные обучающие процедуры для линейной регрессии, которые частично не нуждаются в такой настройке гиперпараметров. Возможно, вы находитесь в очень крупном масштабе, тогда, когда SGD является действительным подходом.
Предполагая, что обучение SGD основе является путь:
- Вы должны использовать какой-то учебный-график
- Добавить по крайней мере затухания обучения скорости, что снижает обучения-курс например, после каждой эпохи с коэффициентом примерно 0,9 (да, еще один гиперпараметр)
- Попробуйте использовать какой-то импульс, например Нестеров-импульс, который был разработан для выпуклого-оптимизации (ваш случай является выпуклым) и занимает прочные гарантии
- Этот вид импульса даже популярен в невыпуклая установки
- Наиболее глубокое обучение LIBS должны обеспечить это вне -The ящик
- Вы можете попробовать адаптивные алгоритмы, основанные обучения, курса, как:
- Адам, AdaDelta, AdaGrad, ...
- Они пытаются снять нагрузку с отбора тех LR-гиперпараметрами в то же время пытается конвергенция как можно быстрее
- Конечно они эвристика (строго говорят), но они, кажется, работают хорошо для большинства людей (хотя оптимизированная SGD является большую часть времени в лучшем случае)
- наиболее глубокое обучение ЛИЭС должны обеспечить это вне коробки
- Использование специализированного программного обеспечения для линейных-моделей, таких как liblinear или другие
И еще одно, потому что я удивлен, что это легко заметить расхождение по этой простой проблеме: нормализовать ввод!