OpenCV神经网络入门:从基础到手写数字识别
1. 神经网络初步示例与分析
在一个简单的神经网络示例中,我们打印出如下结果:
(1.0, array([[ 1.49817729, 1.60551953, -1.56444871,
-0.04313202]], dtype=float32))
(1.0, array([[ 1.49817729, 1.60551953, -1.56444871,
-0.04313202]], dtype=float32))
(3.0, array([[-1.54576635, -1.68725526, 1.6469276 ,
2.23223686]], dtype=float32))
从这些结果我们可以推断出:
- 网络在三个样本中正确分类了两个,虽然不算完美,但很好地说明了构建和训练人工神经网络(ANN)中各元素的重要性。输入层的大小对于区分不同类别非常关键,在这个例子中,我们只有三个统计量,特征存在一定程度的重叠。
- 隐藏层的大小需要进行测试。增加神经元数量在一定程度上可以提高准确率,但之后可能会出现过拟合,除非有大量的训练数据。要避免训练记录过少或输入大量相同的记录,因为ANN从这些数据中学习到的信息有限。
2. 训练轮次(Epochs)
训练ANN的另一个重要概念是训练轮次(epochs)。一个训练轮次是指对训练数据进行一次完整的迭代,之后对数据进行分类测试。大多数ANN会进行多个轮次的训练,例如常见的手写数字分类任务,训练数据可能会被迭代数百次。
超级会员免费看
订阅专栏 解锁全文
38

被折叠的 条评论
为什么被折叠?



