Validation 监督学习验证集-人工神经网络

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 =

我使用监督学习方法在处理过程中实现了一个神经网络。 我实际上是在训练一些圈子在他们的目标位置上移动

我的代码工作得很好,但是我发现很多人把他们的代码分成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 = 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建议将数据集(按行)分成三个子集:

  • aTrainingDataSET:约有60%-70%的记录(观察对)
  • aTestingDataSET:有大约20%-30%的记录
  • aCrossValidationDataSET:约有20%-30%的记录(在培训阶段未看到)
  • 这种灵知公平的方法允许您假设,经过训练的ANN“概括”的能力有多好,它不仅能够处理经过训练的示例,而且还能处理不在数据中的示例(在这种情况下,您事先知道正确的结果,否则您无法完成监督学习的任务),它检测AI学习者在真实世界“进化”中生存的能力,而这些“进化”并不包含在您最初的几个示例中(来自aTrainingDataSET)

    因此,为您的ANN学习者提供数据集的训练部分,以找到(理想情况下是凸的)最小化器驱动的最佳/阈值输出(ANN设置)

    使用不同的[C,gamma]非数据集相关设置对预先训练的ANN学习者进行测试,以找出ANN模型[C,gamma]范围内的ANN模型预测的“精确程度”

    最后,评估“最佳”调整的[C,gamma]调整学习者(到目前为止,最能反映AtreaningDataSet和aTestDataSET的候选者)在aCrossValidationDataSET上预测答案的能力,到目前为止,他们两人都没有接触到气味[这部分是受监督的(预评级的)]经验并不是为了这个非常重要的可能性而展示给他们的

    通过这种方式,您可以管理您的ANN模型,以摆脱“高偏差”/“过度拟合”这两个陷阱,这两个主要黑洞是一个微不足道(数学上)制定的基于“惩罚”的最小化器,除了运行您的ANN模型之外,别无其他机会

    广告[丁] 在上述方法论的意义上,一旦暴露于aCrossValidationDataSET,交叉验证预测误差(惩罚函数)是从任何经过预训练的[C,gamma]调整的ANN学习者计算出来的

    广告[英] 有许多关于ANN/ML的精彩实践课程,所以请毫不犹豫地加入并参观

    <>如果你<>强/ >将有机会重新运行安得烈教授的任何讲课/课程,无论是从斯坦福大学、Coursera还是他最近的AI/ML实验室阶段,他在推广ANN学习者的实际应用方面所做的巨大努力,都会有我的选择。 更新

    在siz上添加一个附加问题
    Change = (learning rate * weight * input values) + (momentum * change)
    weight = weight + change