【问题标题】:Training Stanford-NER-CRF, control number of iterations and regularisation (L1,L2) parameters训练 Stanford-NER-CRF,控制迭代次数和正则化(L1,L2)参数
【发布时间】:2018-06-18 08:46:09
【问题描述】:

我正在查看 StanfordNER 文档/常见问题解答,但找不到与指定训练中的最大迭代次数以及正则化参数 L1 和 L2 的值相关的任何内容。

我看到了一个建议设置的答案,例如:

maxIterations=10

在属性文件中,但没有给出任何结果。

可以设置这些参数吗?

【问题讨论】:

  • 另外,我假设它支持 L1 和 L2 正则化,但可能只有 L1 或 L2 存在,而不是两者都存在。

标签: nlp stanford-nlp crf named-entity-recognition


【解决方案1】:

我不得不挖掘代码但找到了它,所以基本上 StanfordNER 支持许多不同的数值优化算法。可以通过查看 CRFClassifier.java 文件中的getMinimizer() 方法。

我将我的属性文件配置为使用 Orthant-Wise Limited-memory Quasi-Newton,通过设置:

useOWLQN = true

L1-prior 可以设置为:

priorLambda = 10

一个有用的技巧是使用收敛容差参数 TOL,该参数在每次迭代时检查:|newest_val - previous_val| / |newestVal| < TOLTOL 由以下控制:

tolerance = 0.01

另一个有用的参数是明确控制学习算法应该运行的最大迭代次数:

maxQNItr = 100

【讨论】:

猜你喜欢
  • 2016-06-20
  • 1970-01-01
  • 1970-01-01
  • 2020-12-03
  • 1970-01-01
  • 2017-07-30
  • 2018-09-20
  • 1970-01-01
  • 2015-06-29
相关资源
最近更新 更多