我正在寻找 LDA 和 NTM 之间的区别。您将在 NTM 上使用 LDA 的一些用例是什么?
根据 AWS 文档:
LDA:Amazon SageMaker 潜在狄利克雷分配 (LDA) 算法是一种无监督学习算法,它试图将一组观察结果描述为不同类别的混合。LDA 最常用于发现文本语料库中文档共享的用户指定数量的主题。
虽然您可以同时使用 Amazon SageMaker NTM 和 LDA 算法进行主题建模,但它们是不同的算法,预计会对相同的输入数据产生不同的结果。
有没有理由说OCaml无法在签名中展开中间参数化类型?
例如:
(* foo.ml *)
type 'a internal = Foo of 'a
type t = string internal
Run Code Online (Sandbox Code Playgroud)
和:
(* foo.mli *)
type t = Foo of string
Run Code Online (Sandbox Code Playgroud)
给出错误.
我想这与内存表示有时可能不同的事实相关,但我想知道在向OCaml错误跟踪器提交错误报告之前是否有更深层次的原因...
我有以下递归函数:
fun tester (f:'a -> 'b, tl:(string * 'a * 'b) list) =
case tl of
[] => []
| (t, c, e)::rest =>
let val tr = f (c)
in
if tr <> (e)
then ((t), (e), tr)::(tester (f, rest))
else tester (f, rest)
end;
Run Code Online (Sandbox Code Playgroud)
加载时我得到"错误:运算符和操作数不同意[UBOUND match]":
lec1test.sml:17.5-19.26 Error: operator and operand don't agree [UBOUND match]
operator domain: ''Z * ''Z
operand: 'b * 'Y
in expression:
tr <> e
uncaught exception Error
raised at: ../compiler/TopLevel/interact/evalloop.sml:66.19-66.27
../compiler/TopLevel/interact/evalloop.sml:44.55
../compiler/TopLevel/interact/evalloop.sml:296.17-296.20
Run Code Online (Sandbox Code Playgroud)
我已经发现我认为它与tr的泛型绑定有关,但我不明白为什么这是一个问题.我正在分配 …
例如:
fun example (a:'a list) : list = a
Run Code Online (Sandbox Code Playgroud)
将签名:
'a list -> 'a list
Run Code Online (Sandbox Code Playgroud)
如果我以不同的方式定义但具有相同的内容,该怎么办
fun example (a : ''a list) : list = a
Run Code Online (Sandbox Code Playgroud)
它的签名将是:
''a list -> ''a list
Run Code Online (Sandbox Code Playgroud)
有什么不同?