Keras. Как считает метрики
От: BlackEric http://black-eric.lj.ru
Дата: 14.12.23 16:34
Оценка:
Как Keras в своих недрах считает loss, accuracy, val_loss, val_accuracy?

Где это описано. Не могу найти. Скорее всего не то спрашиваю у гугла просто.

Т.е. то, что возвращается в history = model.fit(x_train0, y_train0, validation_split=0.2, epochs=5).
https://github.com/BlackEric001
Отредактировано 14.12.2023 16:34 BlackEric . Предыдущая версия .
Re: Keras. Как считает метрики
От: opfor  
Дата: 14.12.23 18:00
Оценка: 6 (1)
Здравствуйте, BlackEric, Вы писали:

BE>Где это описано. Не могу найти. Скорее всего не то спрашиваю у гугла просто.

BE>Т.е. то, что возвращается в history = model.fit(x_train0, y_train0, validation_split=0.2, epochs=5).

loss — это результат вашей функции потерь для пакета обучения. Зависит от выбранной функции потерь, например MSE — вычисляется сумма квадратов разностей между ожидаемым от сети результатом (y_train) и фактически получаемым сетью результатом(neuralnet(x_train)) для каждого x_train в пакете.

accuracy — это доля успешных угадываний сетью верного результата (y_train совпало с neuralnet(x_train)) из общего числа экспериментов.

то что с префиксом val_ — это как loss и accuracy, но считается на validation сете (validation_split-часть из training set). Validation set не используется для прямого обучения сети, но зато на каждом шаге обучения показывает, как сеть работает на незнакомых данных, и по результатам можно подкручивать гиперпараметры.
Re[2]: Keras. Как считает метрики
От: BlackEric http://black-eric.lj.ru
Дата: 14.12.23 18:31
Оценка: +1
Здравствуйте, opfor, Вы писали:

O>Здравствуйте, BlackEric, Вы писали:


BE>>Где это описано. Не могу найти. Скорее всего не то спрашиваю у гугла просто.

BE>>Т.е. то, что возвращается в history = model.fit(x_train0, y_train0, validation_split=0.2, epochs=5).

O>loss — это результат вашей функции потерь для пакета обучения. Зависит от выбранной функции потерь, например MSE — вычисляется сумма квадратов разностей между ожидаемым от сети результатом (y_train) и фактически получаемым сетью результатом(neuralnet(x_train)) для каждого x_train в пакете.


O>accuracy — это доля успешных угадываний сетью верного результата (y_train совпало с neuralnet(x_train)) из общего числа экспериментов.


O>то что с префиксом val_ — это как loss и accuracy, но считается на validation сете (validation_split-часть из training set). Validation set не используется для прямого обучения сети, но зато на каждом шаге обучения показывает, как сеть работает на незнакомых данных, и по результатам можно подкручивать гиперпараметры.


model.compile(optimizer='adam',loss='binary_crossentropy', metrics=['accuracy'])

В данном случае функция потерь — это loss='binary_crossentropy'?

И дальше мне читать про эти функции, т.е. что принимает loss в model.compile?
https://github.com/BlackEric001
Re[3]: Keras. Как считает метрики
От: opfor  
Дата: 16.12.23 05:17
Оценка:
Здравствуйте, BlackEric, Вы писали:

BE>model.compile(optimizer='adam',loss='binary_crossentropy', metrics=['accuracy'])

BE>В данном случае функция потерь — это loss='binary_crossentropy'?
BE>И дальше мне читать про эти функции, т.е. что принимает loss в model.compile?

абсолютное значение loss мне не было полезным (оно используется алгоритмом оптимизатора при обучении, а вам важнее видеть динамику, как оно уменьшается в процессе обучения).
Accuracy более наглядное.
Re[4]: Keras. Как считает метрики
От: BlackEric http://black-eric.lj.ru
Дата: 16.12.23 07:29
Оценка:
Здравствуйте, opfor, Вы писали:

O>абсолютное значение loss мне не было полезным (оно используется алгоритмом оптимизатора при обучении, а вам важнее видеть динамику, как оно уменьшается в процессе обучения).

O>Accuracy более наглядное.

Мне нужно в дипломе расписать, как керас определяет ошибку при обучении. Я так понимаю, что нужно смотреть в исходники функции потерь, но не уверен.
https://github.com/BlackEric001
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.