У чому різниця між val_loss
та loss
під час тренувань у Керасі?
Напр
Epoch 1/20
1000/1000 [==============================] - 1s - loss: 0.1760, val_loss: 0.2032
На деяких сайтах я читав, що під час перевірки відмова не працювала.
У чому різниця між val_loss
та loss
під час тренувань у Керасі?
Напр
Epoch 1/20
1000/1000 [==============================] - 1s - loss: 0.1760, val_loss: 0.2032
На деяких сайтах я читав, що під час перевірки відмова не працювала.
Відповіді:
val_loss
- це значення функції витрат для ваших даних перехресної перевірки, а втрати - значення функції витрат для ваших навчальних даних. За даними валідації, нейрони, що використовують випадання, не скидають випадкових нейронів. Причина полягає в тому, що під час тренувань ми використовуємо краплі, щоб додати трохи шуму, щоб уникнути перенапруги. Під час обчислення перехресної перевірки ми перебуваємо у фазі відкликання, а не у фазі тренувань. Ми використовуємо всі можливості мережі.
Завдяки одному з наших дорогих друзів, я цитую і пояснити зміст з тут , які є корисними.
validation_split
: Плаваю між 0 і 1. Частина даних тренувань, що використовуються як дані валідації. Модель буде виділяти цю частину навчальних даних, не буде тренуватись на ній, а також оцінюватиме втрати та будь-які показники моделі на цих даних наприкінці кожної епохи. Дані перевірки вибираються з останніх зразків у наданих даних x та y перед перемішуванням.
validation_data
: кортеж (x_val, y_val) або tuple (x_val, y_val, val_sample_weights), за яким можна оцінити втрати та будь-які показники моделі в кінці кожної епохи. Модель не буде навчатися за цими даними. Це замінить валідацію_спліт.
Як ви можете бачити
fit(self, x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0, steps_per_epoch=None, validation_steps=None)
fit
Використовуваний метод Keras
має параметр з назвою validation_split, який вказує відсоток даних, що використовуються для оцінки моделі, що створюється після кожної епохи. Оцінивши модель, використовуючи цей об'єм даних, про що буде повідомлено, val_loss
якщо ви встановили багатослівний 1
; крім того, як чітко визначено в документації, ви можете використовувати або validation_data
або validation_split
. Дані перехресної перевірки використовуються для того, щоб перевірити, чи ваша модель надто відповідає даних чи ні. Це те, що ми можемо зрозуміти, чи є наша модель здатністю до узагальнення чи ні.
dropout
немаєNone
) відміняння застосовується лише під час тренінгу (тобто жодного відміни не застосовується під час перевірки). Отож, одна з відмінностей між втратою валідації (val_loss
) та втратою тренувань (loss
) полягає в тому, що при використанні відмовки втрата валідації може бути нижчою, ніж втрата під час тренувань (як правило, не очікується у випадках, коли відмова не використовується).