Средний квадрат в PyTorch
Если модель выдаёт дробные значения,
их часто сравнивают с эталоном
через класс MSELoss. Он
берёт разность предсказания
и эталона, возводит её в квадрат
и усредняет по всем элементам.
Предсказание и эталон должны быть дробными и одной формы. Создадим критерий, два ряда чисел и выведем одно число ошибки:
import torch
import torch.nn as nn
criterion = nn.MSELoss()
pred = torch.tensor([1.0, 2.0, 3.0])
target = torch.tensor([1.5, 2.5, 2.5])
loss = criterion(pred, target)
print(loss) # выведет tensor(0.2500)
Та же схема работает для таблицы: ячейки предсказания и эталона сопоставляются попарно. Создадим две таблицы одной формы и снова выведем одно число:
import torch
import torch.nn as nn
criterion = nn.MSELoss()
pred = torch.tensor([[1.0, 2.0], [3.0, 4.0]])
target = torch.tensor([[1.0, 1.5], [3.5, 4.0]])
loss = criterion(pred, target)
print(loss) # выведет tensor(0.1250)
Соберите критерий для регрессии.
Задайте ряд прогнозов
[0.0, 1.0, 2.0] и ряд
замеров [0.5, 1.0, 3.0].
Выведите одно число расхождения.
Соберите критерий для регрессии.
Задайте таблицу прогнозов
[[1.0, 2.0], [3.0, 4.0]]
и таблицу замеров
[[1.0, 1.0], [3.0, 5.0]].
Выведите одно число расхождения.
Соберите критерий для регрессии.
Задайте ряд температур
[10.0, 20.0] и ряд
показаний [11.0, 18.0].
Выведите одно число расхождения.