MATLAB中mse函数用法

目录

语法

说明

示例

使用 mse 性能函数训练神经网络


        mse函数的功能是均方归一化误差性能函数。

语法

perf = mse(net,t,y,ew)

说明

提示

        要在深度学习中使用均方误差,请使用 regressionLayer,或使用 dlarray 方法 mse。

perf = mse(net,t,y,ew) 采用神经网络 net、目标矩阵或元胞数组 t、输出矩阵或元胞数组 y 和误差权重 ew,并返回均方误差。

此函数有两个可选参数,它们与 net.trainFcn 设置为此函数的网络相关联:

  • 'regularization' 可以设置为 0 到 1 之间的任何值。正则化值越大,性能计算中包含的相对于误差的平方权重和偏置就越大。默认值为 0,对应于无正则化。

  • 'normalization' 可以设置为 'none'(默认值);'standard',将 -2 和 2 之间的误差归一化,对应于将 -1 和 1 之间的输出和目标归一化;以及 'percent',将 -1 和 1 之间的误差归一化。此功能对于具有多元素输出的网络非常有用。它确保具有不同目标值范围的输出元素的相对精度被视为具有相同的重要性,而不是优先考虑具有最大目标值范围的输出元素的相对精度。

        可以创建一个将 mse 与 feedforwardnet 或 cascadeforwardnet 搭配使用的标准网络。要准备使用 mse 训练的自定义网络,请将 net.performFcn 设置为 'mse'。这会自动将 net.performParam 设置为具有默认可选参数值的结构体。

        mse 是网络性能函数。它根据均方误差来衡量网络性能。

示例

使用 mse 性能函数训练神经网络

        此示例说明如何使用 mse 性能函数训练神经网络。

        此处创建并训练一个两层前馈网络,以使用 mse 性能函数和正则化值 0.01 来估计体脂百分比。

[x, t] = bodyfat_dataset;
net = feedforwardnet(10);
net.performParam.regularization = 0.01;

        MSE 是 feedforwardnet 的默认性能函数。

net.performFcn

        训练网络并评估性能。

net = train(net, x, t);
y = net(x);
perf = perform(net, t, y)

        也可以直接调用 mse。

perf = mse(net, t, y, 'regularization', 0.01)

参数说明

net — 输入矩阵

        要计算其性能的网络,指定为 SeriesNetwork 或 DAGNetwork 对象。

t — 目标

        目标,指定为矩阵或元胞数组。

y — 输出

        输出,指定为矩阵或元胞数组。

ew — 误差权重

        误差权重,指定为标量。

perf — 网络性能

        以均方误差表示的网络性能。

你可能感兴趣的:(Matlab,matlab,开发语言)