Validation 监督学习验证集-人工神经网络
我使用监督学习方法在处理过程中实现了一个神经网络。 我实际上是在训练一些圈子在他们的目标位置上移动 我的代码工作得很好,但是我发现很多人把他们的代码分成3组, 以便找到与训练错误相关的验证错误。(网络性能) 我的计划包括一套培训输入和培训输出。我的网络经过训练(循环),直到达到特定目标 例如,我有5个输入和5个目标输出Validation 监督学习验证集-人工神经网络,validation,artificial-intelligence,neural-network,processing,cross-validation,Validation,Artificial Intelligence,Neural Network,Processing,Cross Validation,我使用监督学习方法在处理过程中实现了一个神经网络。 我实际上是在训练一些圈子在他们的目标位置上移动 我的代码工作得很好,但是我发现很多人把他们的代码分成3组, 以便找到与训练错误相关的验证错误。(网络性能) 我的计划包括一套培训输入和培训输出。我的网络经过训练(循环),直到达到特定目标 例如,我有5个输入和5个目标输出 Input values {0.2, 0.1, 0.15, 0.11, 0,01} Target values {1,1,1,1,1} Set Learning rate =
Input values {0.2, 0.1, 0.15, 0.11, 0,01}
Target values {1,1,1,1,1}
Set Learning rate = 1
Set momentum = 1
Set bias = 1
A) 在0-1和0-1的5个偏差权重之间创建5个随机权重
random_Weight = random (0-1)
Bias_Weight = random (0-1)
B) 求和
Sum = (input_data * random_Weight) + (Bias * Bias_Weight)
c) 将数据输入指数函数
Output = 1.0 /(1.0 +exp(-1 * sum)
d) 计算误差:
Error = Target values - output
e) 调整新的重量
Change = (learning rate * weight * input values) + (momentum * change)
weight = weight + change
f) 重复此操作,直到目标位置=当前位置
我不知道我的训练功能会重复多少次,直到达到预期目标。如何将数据分为3组?(培训、验证、测试)
如果我理解正确,我只实施了培训集
我的问题是[a]如何在这个特定问题中创建验证集
[b]什么是数据集和[c]在这种情况下,如何将其拆分为验证集
[d]如何计算验证错误?
[e]在本程序中,是否有任何建议的文档,我可以从中开始?广告“网络性能”
让我们首先揭开这些术语的神秘面纱。网络本身没有“性能”。从函数最小化器(经典ANN就是这种情况)导出的任何预测器都有一些“数学公式化”的错误,即对现实建模的效果如何,但主要问题不是模型如何“接近”模拟观察(和特别模拟)现实(已通过培训中使用的示例结果对[观察结果]进行培训)
但是
“经过训练”的模型如何“很好地”处理尚未观察到的(因此未经过预先训练的)示例
因此,ANN模型的“泛化”能力,不受“偏差”和“过度拟合”的影响,是预测因子“性能”(预测质量)的主要定性标志
广告[a]+[b]+[c]
为了有监督的学习者,你的机会很大。准备、发展或以其他方式从你的问题领域获得合理数量的例子(观察)
正如[e]将教给你的,问题领域有一定的理论基础,合理的数量是多少(简而言之:它取决于现实的内在行为,你的ANN试图模拟,因此它不是先验的,因此不必过早恐慌)
采取负责任的监督学习/数据健全措施,确保您的ANN学习者不会针对错误/嘈杂的[示例,纠正结果]
-在可用数据集中的任意一行配对。这比人们第一眼看到的更重要。是的,犯错是人类的事,但地狱是不会原谅的,让任何AI/ML学习者预先训练,不断重复,不断重复你的错误绝不是浪费使用AI能力的机会
有一个大约2000个观测值的数据集([x_1.1,x_2.1,x_3.1,…,x_n.1],[y_1]),classics建议将数据集(按行)分成三个子集:
Change = (learning rate * weight * input values) + (momentum * change)
weight = weight + change