在机器学习中,为什么使用上标而不是下标?


20

我正在通过Coursera上Andrew Ng的机器学习课程。对于方程式,使用上标代替下标。例如,在以下等式中,使用代替: x ix(i)xi

J(θ0,θ1)=12m∑i=1m(hθ(x(i))−y(i))2

显然,这是惯例。我的问题是为什么要使用上标而不是下标?上标已用于求幂。当然,通过注意括号是否存在,我似乎能够区分上标和取幂用例,但这仍然令人困惑。


4
我怀疑这可能是因为某些计算机科学人员不精通标准数学符号,因此他们会自己编写符号。精算师有时也会这样做,当您遇到更复杂的概念时,这会令人沮丧。
— rocinante 2016年

5
是i在数据集大小上还是在向量元素上建立索引x?如果是前者,那是完全标准的。如果是后者,那完全是非标准的。之所以使用上标,是因为有时您希望使用下标来引用向量的元素。
— Rex Kerr

4
@rocinante大声笑不,这是因为下标已用于索引向量。
— Neil G

4
@rocinante这是很自以为是的。关于逆向量/ 爱因斯坦表示法呢?
— Will Vousden

4
@rocinante我必须向其他人表示赞同,强调您的措词很不幸。我们都有将本地和熟悉的标准视为标准的趋势。
— 尼克·考克斯

Answers:


26

如果表示矢量X ∈ [R米然后X 我是用于一个标准的符号我的第坐标X,即,X = (X 1,X 2,... ,X 米)∈ [R米。xx∈Rmxiix

x=(x1,x2,…,xm)∈Rm.

如果您有这样的向量的集合,您将如何表示第i个向量?您不能写x i,这具有其他标准含义。因此,有时人们会写x (i ),这就是为什么吴安德(Andrew Ng)这么做的原因。nixix(i)

即

x(1)=(x1(1),x2(1),…,xm(1))∈Rmx(2)=(x1(2),x2(2),…,xm(2))∈Rm…x(n)=(x1(n),x2(n),…,xm(n))∈Rm.

我不同意,但是经常使用,即重复测量。xij
— Cliff AB

1
是的,但是等于我的x (i ) j;x (i )等于多少?xijxj(i)x(i)
— 变形虫说莫妮卡(Monica)恢复

1
是的,这是一个优势。我想有时使用,但是这可能与∑ n j = 1 x i j / m混淆。xi.∑j=1nxij/m
— Cliff AB

1
如果您希望对矩阵进行迭代,则似乎是最直观的方法。因此,当从向量移到矩阵时,符号保持一致。xmn(i)
— josh 2016年

2
@JAB是的,这是为了使符号更明确(如您所说的“类型提示”)。当然,可以同意将用于第i个矢量,将x i j用于第i个矢量的第j个元素。可能有多种约定,这只是其中之一。我什至没有说这是最好的,只是在解释其背后的理由。xiixijji
— 变形虫说莫妮卡(Monica)恢复

11

如您所述,我相信超级脚本的使用在机器学习文献中并不常见。我必须查看Ng的课程笔记以进行确认,但是如果他把它放在那儿,我会说他将是这种表达方式泛滥的根源。这是可能的。无论哪种方式,不要太客气,但我认为许多在线课程的学生都不会发表有关机器学习的文献,因此这种表示法在实际文献中不是很常见。毕竟,这些都是机器学习的入门课程,而不是博士学位级别的课程。

超级脚本非常常见的是表示使用超级脚本进行算法的迭代。例如,您可以将Newton方法的迭代编写为

θ(t+1)=θ(t)−H(θ(t))−1∇θ(t)

其中是Hessian和▿ θ (吨)是梯度。H(θ(t))∇θ(t)

(...是的,由于黑森州矩阵的求逆,这并不是实现牛顿方法的最佳方法...)

这里,表示的值θ在吨吨ħ迭代。据我所知,这是超级脚本的最常见(但并非唯一)用法。θ(t)θtth

编辑: 澄清一下,在最初的问题中,似乎暗示在ML表示法中,等同于统计的x i表示法。在我的回答中,我指出这在机器学习文献中并不普遍。这是真的。然而,如由@amoeba指出,有很多在ML文献数据上标符号的,但是在这些情况下X (我)通常不意味着我吨ħ单个载体的观测X。x(i)xix(i)ithx


1
使用括号/括号上标进行迭代计数(在广泛的领域中普遍使用的一种表示法)的冲突是非常重要的。
— Glen_b-恢复莫妮卡

2
它通常也用于指示训练集中样本的索引,这与迭代类似,但并不完全相同,因为您通常最终会遍历训练集多次。
— Rex Kerr

3
我也看到迭代计数使用下标(指出),以及在管线(一个(Ñ + 1 )= 一(Ñ )+ 1)。这就是为什么在使用一些特定的符号时,我通常会在开始时就消除歧义(例如说“在以下系列中,等等等等”,然后进行数学计算)。因此,无论使用什么符号,读者都可以(希望)理解潜在歧义情况的含义,而不必基于他们所知道的约定来猜测。an+1=an+1a(n+1)=a(n)+1
— JAB

1
(x>0)I(x>0)

I(x>0)x>0====

4

上标已用于求幂。

在数学中,根据字段的不同,左标和右标都使用上标。选择永远是历史遗产,仅此而已。谁首先进入该领域,就设置使用下标或上标的约定。

f(x)(n)

RiiijTik=RijCjk

jiBkl

因此,Ng对上标的选择也纯粹是历史性的。没有真正的理由使用或不使用它们,或者更喜欢它们而不是下标。实际上,我相信这里的ML人员正在使用张量表示法。他们绝对是深谙主题,如看到此文件。


1
:您点又如爱因斯坦符号
— 尼尔摹
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.