独立应用于数组的每个元素的操作的正确表示法是什么?

人工智能 符号
2021-11-01 06:13:28

我正在寻找标准符号来定义元素/ Hadamard 风格的函数,如果有的话。

也就是说,如果我要查找的运算符由六边形 ⬡ 表示,我可以这样使用它:

A(x)=if(xi)

A:RnRn
f:RR

显式定义这些函数非常方便,因为我想操作它们:BA. 在我看来,以下符号是正确的:Ai(x)=f(xi)但我担心它不标准且令人困惑。

我的函数是非线性的,所以我不能简单地将它们作为向量直接应用于数组。

正如答案中所述,当函数是严格标量时,这是不必要的,因为它暗示要按元素应用。在某些情况下,我希望拥有它:

ijeMijeM

答案向我建议最好的选择是这样的:

A(M)=for each i,j:eMij
A(M)=element-wise:eMij

这个问题现在已经否定了,但我欢迎一个新的答案。很高兴找到类似的东西.

有关的:

2个回答

根据我的经验,我会说标准符号只是具有常规功能,并指定它适用于元素。例如,激活函数的常用符号是σ,因此例如,您可以将常规密集层的激活表示为σ(Wx+b)在哪里x,b是向量和W是一个矩阵。我从未见过用于指定函数的特殊符号σ是明智地应用元素。

正如您在问题中所建议的那样,如果要应用元素的函数是线性的,那么您可以使用任一 hadamard 产品,例如ax或诊断功能diag(a)x.

复杂张量表达式的数学符号总是试图平衡复杂性和精度。更精确的符号 - 明确拼写所有索引的符号 - 很快就会变得非常复杂。我最喜欢的例子来自物理学——标准模型拉格朗日量很快就写在 T 恤和咖啡杯上:

L=14FμνFμν+(iψ¯D^ψ+ψ¯iyijψjϕ+h.c.)+|Dμϕ|2V(ϕ)

但是,如果您尝试扩展上述所有对象中的所有索引,那么它几乎不能放在页面上

另一方面,更简洁的符号总是导致解释中的歧义。你的例子f(xi)可以读作:

f(x0,x1,,xN)or asf(x0),f(x1),,f(xN)

隐式解决这种歧义的一种方法是表明索引i“转义”参数括号:

ai=f(xi)or e.g.if(xi)

这只能解释为f(xi)在元素方面。另外,至少在我看来,使用xi带索引和x在同一个表达式中没有索引是非常混乱的。

而且,当然,解决这些歧义的最佳方法是明确说明它们。例如,我见过作者使用方括号f[xi]或大写字母F(xi)向量参数函数。