Щойно я дізнався про регуляризацію як про підхід до контролю над приміркою, і хотів би включити цю ідею в просту реалізацію зворотного розповсюдження та багатошарового персептрону (MLP), який я зібрав разом.
В даний час, щоб уникнути переналагодження, я перехресно підтверджую і зберігаю мережу з найкращим результатом досі на наборі перевірки. Це працює добре, але додавання регуляризації допоможе мені в тому, що правильний вибір алгоритму і параметра регуляризації зробив би мою мережу конвергенцією на ненадмірну модель більш систематично.
Формула, яку я маю на термін оновлення (з курсу Coursera ML), зазначається як пакетне оновлення, наприклад, для кожної ваги, після підсумовування всіх застосовних дельт для всього тренувального набору від поширення помилок, коригування lambda * current_weight
додається також перед комбінованим дельта віднімається в кінці партії, де lambda
параметр регуляризації.
Моя реалізація зворотного розповсюдження використовує оновлення ваги за окремою вагою. Я стурбований тим, що я не можу просто скопіювати пакетний підхід, хоча це мені інтуїтивно виглядає нормально. Чи працює так само менший термін регуляризації на предмет?
Наприклад, lambda * current_weight / N
де N - це розмір навчального набору - на перший погляд це виглядає розумно. Я нічого не міг знайти з цього приводу, і мені цікаво, чи це тому, що регуляризація працює не так добре з оновленням для кожного елемента, або навіть під іншою назвою чи зміненою формулою.