В машинном обучении, почему надстрочные знаки используются вместо индексов?


20

Я прохожу курс Эндрю Нг по машинному обучению через Coursera . Для уравнений вместо индексов используются верхние индексы. Например, в следующем уравнении используется вместо : х яx(i)xi

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

Видимо, это обычная практика. Мой вопрос: зачем использовать верхние индексы вместо подписных? Верхние индексы уже используются для возведения в степень. Конечно, мне кажется, что я могу различать случаи использования верхнего индекса и возведения в степень, обращая внимание на наличие круглых скобок, но это по-прежнему сбивает с толку.


4
Я подозреваю, что это, возможно, потому, что некоторые информатики не разбираются в стандартных математических обозначениях и поэтому составляют свои собственные обозначения. Иногда актуарии тоже делают это, и это разочаровывает, когда вы переходите к более сложным концепциям.
rocinante

5
iИндексируется ли размер набора данных или элементы вектора x? Если первое, это совершенно стандартно. Если последнее, то это совершенно нестандартно. И причина, по которой используется верхний индекс, заключается в том, что иногда вы хотите сослаться на элемент вектора, используя нижний индекс.
Рекс Керр

4
@rocinante lol нет, это потому, что подписчики уже взяты для индексирования векторов.
Нил Г

4
@rocinante Это довольно самонадеянно. Как насчет контравариантных векторов / обозначений Эйнштейна ?
Уилл Воуден

4
@rocinante Я должен поддержать других, подчеркнув, что ваша формулировка неудачна. У всех нас есть тенденция рассматривать то, что является местным и знакомым, как стандарт.
Ник Кокс

Ответы:


26

Если обозначает вектор то является стандартным обозначением координаты , то естьх R м х я я х х = ( х 1 , х 2 , ... , х м ) R м .xxRmxiix

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

Если у вас есть набор из таких векторов, как бы вы обозначили вектор? Вы не можете написать , это имеет другое стандартное значение. Поэтому иногда люди пишут и именно поэтому я верю, почему Эндрю Нг делает это.i x i x ( i )nixix(i)

Т.е.

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

Я не согласен, но часто используется , то есть для повторных измерений. xij
Клифф AB

1
Да, но эквивалентно моему x ( i ) j ; что будет эквивалентно x ( i ) ? xijxj(i)x(i)
говорит амеба, восстанови Монику

1
да, это преимущество Я думаю, что иногда используется, но это можно спутать с n j = 1 x i j / m . xi.j=1nxij/m
Клифф AB

1
Если вы хотите перебрать матрицы, тогда кажется наиболее интуитивным способом сделать это. Поэтому обозначения остаются последовательными при переходе от векторов к матрицам. xmn(i)
Джош

2
@JAB Да, это должно сделать запись более явной («подсказка типа», как вы говорите). Конечно, можно согласиться использовать для i-го вектора и x i j для j-го элемента i-го вектора. Возможны различные соглашения, это только один из них. Я даже не говорю, что это лучший, просто объясняю обоснование этого. xiixijji
говорит амеба, восстанови Монику

11

Я считаю, что использование супер-сценариев не очень распространено в литературе по машинному обучению. Я должен был бы просмотреть примечания к курсу Нга, чтобы подтвердить, но если бы он использовал это там, я бы сказал, что он будет источником распространения этой записи. Это возможность. В любом случае, чтобы не быть слишком недобрым, но я не думаю, что многие студенты онлайн курса публикуют литературу по машинному обучению, поэтому эта запись не очень распространена в реальной литературе. В конце концов, это вводные курсы по машинному обучению, а не курсы PhD.

Что характерно для суперскриптов, так это для обозначения итерации алгоритма с использованием суперскриптов. Например, вы можете написать итерацию метода Ньютона как

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

где - гессиан, а θ ( t ) - градиент.H(θ(t))θ(t)

(... да, это не совсем лучший способ реализации метода Ньютона из-за обращения матрицы Гессе ...)

Здесь представляет значение θ в итерации t t h . Это наиболее распространенное (но, конечно, не только) использование суперскриптов, о которых я знаю.θ(t)θtth

РЕДАКТИРОВАТЬ: Чтобы уточнить, в первоначальном вопросе, казалось, предположить, что в нотации ML, было эквивалентно нотации статистики x i . В своем ответе я утверждаю, что это не очень распространено в литературе по ОД. Это верно. Однако, как указывает @amoeba, есть много верхним индексом записи в литературе ML для данных, но в этих случаях х ( я ) обычно не означает я т ч наблюдение одного вектора х .x(i)xix(i)ithx


1
Столкновение с использованием заключенных в скобки / заключенных в скобки верхних индексов для счетчиков итераций (обозначение, которое широко используется в широком диапазоне областей) - это действительно важная вещь, которую нужно затронуть.
Glen_b

2
Он также обычно используется для указания индекса выборки в обучающем наборе, который похож на итерацию, но не точно такой же, потому что вы обычно заканчиваете итерацию по своему обучающему набору много раз.
Рекс Керр

3
an+1=an+1a(n+1)=a(n)+1

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

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

4

Верхние индексы уже используются для возведения в степень.

В математике верхние индексы используются слева и справа в зависимости от области. Выбор всегда историческое наследие, не более того. Тот, кто первым попал в поле, установил соглашение об использовании под- или надстрочных знаков.

f(x)(n)

RiiijTik=RijCjk

jiBkl

Следовательно, выбор верхних индексов по Ng тоже чисто исторический. Нет никакой реальной причины использовать или не использовать их, или предпочесть их подписчикам. На самом деле, я считаю, что здесь люди ML используют тензорную запись. Они определенно хорошо разбираются в теме, например, см. Эту статью.


1
Еще один пример для вашей точки зрения: запись Эйнштейна
Нил Г
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.