Я согласен с замечаниями, сделанными sbjartmar, но я подозреваю, что есть более простое объяснение разницы и пути к исправлению подгонки, которую вы получаете. Я должен сказать, что я не знаком с программным обеспечением Multifitting, но подозреваю, что оно делает что-то, чем вы не должны и тоже должны пытаться:
Поскольку вы строите график в логарифмическом масштабе, вы подчеркиваете очень -низкие значения интенсивности. На самом деле, он очень хорошо подходит для значений высокой интенсивности и постепенно ухудшается при низкой интенсивности. Это понятно - небольшое несоответствие при высокой интенсивности намного больше вклада в общее несоответствие, чем большое несоответствие при очень низкой интенсивности.
Один хороший способ преодолеть это состоит в том, чтобы поместился в пространство журнала . То есть, пусть ваша модель вычислит log(Intensity)
и передаст данные для log(Intensity)
.
Это не зависит от метода, используемого для решения проблемы, - это переделывает проблему, которую нужно решить. Geneti c Алгоритмы могут быть полезны здесь, но если Левенберг-Марквардт (который будет намного быстрее) работает так же хорошо, как вы показываете, это, вероятно, достаточно хорошо, или, по крайней мере, стоит продолжать работать. ГА обычно лучше убедиться, что решение не застряло в «локальном минимуме». До сих пор нет никаких доказательств того, что это происходит (но это всегда что-то иметь в виду). Я думаю, что метод SGD, на который вы указываете, нацелен на решение другого класса проблем.