?

Log in

No account? Create an account

Компьютерная лингвистика

Новостная лента www.solarix.ru

Previous Entry Share Next Entry
Сравнение оптимизаторов nadam и rmsprop с помощью F-теста
kelijah
Еще одна серия экспериментов с моделью для векторизации символьного представления слов.
Сравним две штатных реализации оптимизаторов в Keras - rmsprop и nadam. Фиксируем batch_size значением 250, делаем несколько запусков обучения модели для каждого варианта оптимизатора (см. строку 356 в файле wordchar2vector_trainer.py).

Эксперименты вычислительно очень затратны, по несколько часов на один прогон, поэтому объем выборок будет очень небольшой, всего несколько значений. Достоверно оценить нормальность распредения достигаемой точности моделей по таким выборкам затруднительно. Из общих соображений касательно стохастичности процесса обучения нейросеток тоже затрудняюсь что-то предположить. Поэтому остается применить стандартный статистический прием - закрыть глаза и произнести "верю, что нормальное!", и спокойно применять f-тест Фишера.

Выборки выглядят на данный момент так:

nadam: [0.92000000000000004, 0.91900000000000004, 0.91799999999999993, 0.93000000000000005]
rmsprop: [0.88700000000000001, 0.80400000000000005, 0.83900000000000008]



Итак, мы хотим понять, является ли наблюдаемое влияние оптимизатора на точность модели закономерным следствием свойств алгоритма, или разница в средних точностях является чисто случайным эффектом. Иначе говоря, у нас есть нулевая гипотеза: выбор оптимизатора нейросетки для данной модели не влияет на точность. Альтернативная гипотеза будет звучать так: алгоритм nadam в среднем дает лучшую точность, чем rmsprop.

Используем реализацию одностороннего теста Фишера в scipy:

import scipy.stats

res = scipy.stats.f_oneway(samples_nadam, samples_rmsprop)
print('one-way p={}'.format(res.pvalue))


Получаем:

p=0.0120640226691


Таким образом, при уровне значимости 0.05 мы на основе полученного значения p можем смело (риск чуть выше 1%) отвергать нулевую гипотезу и принять, что nadam действительно дает лучшее качество на данной модели на данных обучающих значениях в сравнении с rmsprop.

Тетрадка с расчетами выложена в репозиторий.