我正在开发一个用于研究神经网络的程序,到目前为止,我已经了解将数据集分为3组(训练,验证和测试)的区别(我想)。我的网络可能只有一个输出或多个输出,具体取决于数据集和问题。学习算法是反向传播。
因此,问题基本上是让我对每个错误及其计算方法感到困惑。
哪个训练错误?如果我想使用MSE是(期望的输出)^ 2吗?但是,如果我的网络有2个或更多输出,训练错误将是所有输出的总和,那会发生什么?
然后,验证错误只是使用验证数据集来计算输出,并将获得的结果与所需结果进行比较,这会给我带来错误,它的计算方法与训练错误中的计算方法相同吗?并有多个输出?
最后,不清楚的是,验证何时开始运行?我在某处读到它可能每5个周期出现一次,但是,对此有任何规定吗?
提前感谢时间!
出于某些奇怪的原因,surfaceView正在显示图像,但红色和蓝色通道被交换.我使用的代码与Github项目中的代码基本相同,但有一些小的改动.
我正在使用它的代码是:
public class CameraView extends SurfaceView implements SurfaceHolder.Callback{
private SurfaceHolder surfaceHolder = null;
private Camera camera = null;
public CameraView(Context context) {
super(context);
surfaceHolder = this.getHolder();
surfaceHolder.addCallback(this);
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
camera = Camera.open();
Parameters parameters = camera.getParameters();
parameters.setPreviewFpsRange(30000, 30000);
camera.setParameters(parameters);
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
if (camera != null){ // Start the preview for surfaceChanged
try {
camera.setPreviewDisplay(holder);
} catch (IOException e) {
// TODO …Run Code Online (Sandbox Code Playgroud)