SequencePredictorFunction

SequencePredictorFunction[]

表示 SequencePredict 产生的一个函数,可以预测一个序列的下一个元素.

更多信息和选项

  • SequencePredictorFunction 的运行方式与 Function 一样.
  • SequencePredictorFunction[][seq] 试图预测序列 seq 的下一个元素.
  • SequencePredictorFunction[][{seq1,seq2,}] 试图预测所有 seqi.
  • SequencePredictorFunction[][seq,prop] 给出与 seq 相关联的指定属性.
  • SequencePredictorFunction[][{},prop]中,{} 被解释为序列的空列表,而不是空序列.
  • 序列 seq 被假定为未知无穷序列的子序列.
  • 可能的属性包括:
  • "NextElement"最可能的下一个元素
    "NextElement"n接下来最可能的 n 个单个元素
    "NextSequence"n接下来最可能的长度为 n 的元素序列
    "RandomNextElement"来自下一个元素分布 (next-element distribution) 的随机样本
    "RandomNextElement"n来自下一个序列分布 (next-sequenct distribution) 的随机样本
    "Probabilities"所有可能的下一个元素及其概率组成的关联
    "SequenceProbability"预测器产生给定序列的概率
    "SequenceLogProbability"预测器产生给定序列的概率的对数
    "Properties"所有可用属性的列表
  • SequencePredictorFunction[][,"SequenceProbability"] 中,为未知元素保留一些概率质量.
  • SequencePredictorFunction[][data,,opts] 指定当把序列预测器用于 data 时,应使用选项 opts.
  • 可能的选项有:
  • PerformanceGoal Automatic优化的目标
    RandomSeeding Automatic内部应该怎样对伪随机数字生成器进行播种
  • PerformanceGoal 的可能设置包括:
  • "Quality"最大化预测的准确度
    "Speed"最大化预测速度
    Automatic自动在速度和准确度之间进行折衷
  • RandomSeeding 的可能设置包括:
  • Automatic每次调用函数时自动重新播种
    Inherited使用外部播种的随机数字
    seed明确指定整数或字符串作为种子

范例

打开所有单元关闭所有单元

基本范例  (1)

SequencePredict 创建一个序列预测器函数和子序列训练集:

用序列预测器函数预测下一个元素:

给定序列,获取下一个元素的概率:

根据前面的分布随机获取下一个元素:

一次获取多个预测:

预测最可能的下一个元素,并利用该猜测所得的结果预测后面的元素:

预测接下来最可能的序列:

比较前述序列的概率:

范围  (4)

在一系列字符串上训练预测器序列:

预测给定字符串后面的下一个字符:

预测下四个字符:

获取各字符出现在给定字符串之后的概率:

在常见英文单词列表上训练一个序列预测器,把每个单词看作一个字符序列:

根据给定序列预测最可能的下一个字符:

对于在前面的例子中训练过的序列预测器,每个单词被视作一个无穷序列的子序列. 用字符 | 作为单词间的标记:

在知道单词边界的基础上建立新的序列预测器:

创建一个英文单词类的词单词生成器,一旦发现边界即进行切分:

ExampleData 中加载一本书:

利用该书在字符层级上训练序列预测器:

按该书的风格产生随机字符串:

训练另一个序列预测器,把字符串解释为单词序列,而不是字符序列:

用 10 个连续的单词完成前面的字符串(空格和标点符号也算作单词):

选项  (2)

PerformanceGoal  (1)

在探索整个序列的概率空间时,调整计算时间和精度:

快速但不是很精确的探索:

想要进行更深入的探索则需要更长的计算时间:

比较结果:

RandomSeeding  (1)

SequencePredict 创建序列预测器函数和子序列的训练集:

给定序列,获取下一个元素的概率:

当获取随机的下一个元素时,将从前面的分布中进行采样:

RandomSeeding 选项可以防止随机性:

可能存在的问题  (1)

一个空列表被解析为不含有序列的列表,将会返回空列表:

为了获取空序列的最可能的下一个元素,可以将其嵌套在第二个列表中以消除歧义:

Wolfram Research (2017),SequencePredictorFunction,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SequencePredictorFunction.html (更新于 2017 年).

文本

Wolfram Research (2017),SequencePredictorFunction,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SequencePredictorFunction.html (更新于 2017 年).

CMS

Wolfram 语言. 2017. "SequencePredictorFunction." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2017. https://reference.wolfram.com/language/ref/SequencePredictorFunction.html.

APA

Wolfram 语言. (2017). SequencePredictorFunction. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/SequencePredictorFunction.html 年

BibTeX

@misc{reference.wolfram_2024_sequencepredictorfunction, author="Wolfram Research", title="{SequencePredictorFunction}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/SequencePredictorFunction.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_sequencepredictorfunction, organization={Wolfram Research}, title={SequencePredictorFunction}, year={2017}, url={https://reference.wolfram.com/language/ref/SequencePredictorFunction.html}, note=[Accessed: 22-November-2024 ]}