9.8.17 Среда
Великий день для человечества. Шутя. Отличный день для меня :). Спустя неделю код для Mini Batch GD наконец-то здесь!!!!
Мне потребовалось время, чтобы переварить тот факт, что, просто немного подправив код Batch GD, можно было получить Mini Batch GD! После этого код для него был готов в течение 10 минут :).
Одна неделя ушла на другие дела, к счастью, сегодня результат был отличным.
Код для обоих методов будет загружен на Github завтра.
О выводе:
Для серийного GD: m=0,17701987668424726; б=0,3178956232725284; f=5,30973758237
Для Mini Batch GD значения параметров и функции стоимости, конечно, будут разными в каждом случае.
Возьмем 1: m=0,1923070083863004; б=0,18753066202974217; f=5,48722549445
Возьмем 2: m=0,19330741310897784; б=0,18244372028429637; f=5,494385617
Сытные, качественные результаты:
Если бы кто-то видел функцию стоимости и параметры после каждого шага в обоих случаях, результаты совпадали бы с предсказаниями на уровне номинала !!!
- Для МБГД: Известно, что значение функции стоимости будет иметь скачки, даже если оно достигнет оптимума. При изучении вывода я был приятно удивлен, увидев это. Значения не были строго уменьшающимися, что верно для этого метода.
- Для BGD: значение функции стоимости резко уменьшилось. Кроме того, вывод в BGD был лучше настроен и сведен к минимуму, что опять-таки соответствует теории.
- Время, необходимое для BGD, было значительно больше, чем для MBGD. На моей маленькой машине, даже с небольшим набором данных, я увидел, почему MBGD используется вместо BGD, и разница во времени в их компиляции была записана мной в видео. Хотя это тоже зависит от параметров, я брал условные значения и время БГД было почти на 8-10 секунд больше.
Выходные данные для Стохастика будут аналогичными, поскольку нужно изменить только длину пакета.
Итак, я почти достиг своей цели, т. е. изучения основных методов оценки функций стоимости и наблюдения за ними.
Пока у меня нет планов идти за Адамом, Адаградом… методами. Следующей целью (независимо от этого блога) будет изучение различных аспектов расхождения в отношении данных.