Размер пакета Нейронных сетей Python

#python #neural-network

#python #Нейронная сеть

Вопрос:

У меня есть два вопроса к размерам пакетов в нейронных сетях. Прежде всего, лучше ли использовать больший или меньший размер партии, чтобы получить лучшую модель?

А второй — об этом коде:

 model.evaluate(x=X_test, y=y_test, batch_size=iBatchSize)
 

С помощью этого кода я получаю два результата:

 [0.2565826796926558, 0.8687499761581421]
 

Но что означает эти два числа?

Большое вам спасибо. 🙂

Комментарии:

1. Взгляните на документацию evaluate метода, чтобы увидеть, что означает его вывод. Что касается размера пакета: об этом есть много книг, сообщений в блогах и другой информации. Используйте поисковую систему по вашему выбору. Короткий ответ: «Это зависит»

2. Больший размер пакета обычно лучше, но это связано с необходимостью увеличения объема памяти

Ответ №1:

Первое число в соответствии с https://www.tensorflow.org/guide/keras/train_and_evaluate это потеря теста. Итак, если вы использовали, например, перекрестную энтропию, то это потеря перекрестной энтропии, рассчитанная для ваших тестовых данных. Второе число — это точность, указывающая, насколько хорошо ваша модель справилась с тестовыми данными.

точность = (Истинные положительные прогнозы Истинные отрицательные прогнозы) / TP TN FP FN

Когда дело доходит до размера пакета, общее эмпирическое правило заключается в использовании достаточно большого размера пакета, чтобы при обратном распространении градиентов по сети они меняли веса значимым образом. Небольшой размер пакета вернет градиенты, полученные из небольшой выборки данных, поэтому есть вероятность, что они не являются репрезентативными для всего вашего набора данных. Большой размер пакета может вызвать проблемы с памятью.