Чому в машинному навчанні замість підписок використовуються надписи?


20

Я беру курс Ендрю Нґ з машинного навчання через Coursera . Для рівнянь замість підписок використовуються суперскрипти. Наприклад, у наступному рівнянні замість використовується : x ix(i)xi

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

Мабуть, це звичайна практика. Моє запитання: навіщо використовувати надписи замість підписок? Надписи вже використовуються для експоненції. Зрозуміло, я, здається, зможу розмежовувати між випадками використання верхніх сценаріїв та експоненціації, звертаючи увагу на наявність чи в дужках думок, але це все ще здається заплутаним.


4
Я підозрюю, що це можливо тому, що деякі люди з інформатики не розбираються в стандартних математичних позначеннях, і тому складають власні позначення. Актуарі роблять це теж іноді, і страшно, коли ви переходите до складніших понять.
rocinante

5
Чи є iіндексація над розміром набору даних або над елементами вектора x? Якщо перший, це абсолютно стандарт. Якщо останнє, це абсолютно нестандартно. А причина, по якій використовується суперскрипт, полягає в тому, що іноді ви хочете посилатися на елемент вектора за допомогою індексу.
Рекс Керр

4
@rocinante lol немає, це тому, що підписки вже взяті для індексації векторів.
Ніл G

4
@rocinante Це досить нахабно. Що щодо противаріантних векторів / позначення Ейнштейна ?
Буде Вузден

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

Відповіді:


26

Якщо позначає вектор то є стандартним позначенням для ї координати , тобтоx R m x i i x x = ( x 1 , x 2 , , x m ) R m .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
Кліф АВ

1
Так, але еквівалентно моєму x ( i ) j ; що було б еквівалентом x ( i ) ? xijxj(i)x(i)
Амеба каже, що повернеться до Моніки

1
так, це перевага. Я думаю, використовується іноді, але це можна переплутати з n j = 1 x i j / m . xi.j=1nxij/m
Cliff AB

1
Якщо ви хочете перебрати матриці, то видається найбільш інтуїтивним способом зробити це. Тому позначення залишаються послідовними при переході від векторів до матриць. xmn(i)
Джош

2
@JAB Так, це зробить позначення більш явними ("натяк на тип", як ви говорите). Звичайно, можна погодитися використовувати для i -го вектора і x i j для j -го елемента i -го вектора. Можливі різні умовності, це лише одна з них. Я навіть не кажу, що це найкраще, просто пояснюю обґрунтування цього. xiixijji
Амеба каже: Відновити Моніку

11

Як ви заявили, використання супер-сценаріїв я вважаю, що не дуже часто зустрічається в машинній літературі. Мені доведеться переглянути нотатки курсу НГ, щоб підтвердити, але якщо він буде використовувати це, я б сказав, що він був би джерелом поширення цього позначення. Це можливість. Так чи інакше, не бути надто доброзичливим, але я не думаю, що багато студентів в мережі Інтернет публікують літературу про машинне навчання, тому це позначення не дуже поширене у власній літературі. Зрештою, це вступні курси з машинного навчання, а не курси доктора наук.

Що дуже спільно для супер-скриптів, це позначати ітерацію алгоритму за допомогою супер-скриптів. Наприклад, ви можете написати ітерацію методу Ньютона як

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

де - гессіан і θ ( t ) - градієнт.H(θ(t))θ(t)

(... так, це не зовсім найкращий спосіб реалізувати метод Ньютона через інверсію гессіанської матриці ...)

Тут представляє значення θ в ітерації t t h . Це найпоширеніше (але, звичайно, не тільки) використання супер-скриптів, про які я знаю.θ(t)θtth

EDIT: Для уточнення, в первісному питанні, виявився , припустити , що в позначеннях М.Л., був еквівалентний статистичної - х х я нотація. У своїй відповіді я стверджую, що це по-справжньому поширене в літературі про ML. Це правда. Однак, як вказує @amoeba, в літературі про ML є досить багато надписних нотацій, але в цих випадках x ( i ) зазвичай не означає i t h спостереження одного вектора x .x(i)xix(i)ithx


1
Зіткнення із застосуванням круглих чи скорбованих суперскриптів для підрахунків ітерацій (позначення, що є загальним для використання в широкому діапазоні областей) - справді важлива річ.
Glen_b -Встановити Моніку

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

3
Я також бачив підрахунки ітерацій, помічені за допомогою підписок ( ), а також у рядку ( a ( n + 1 ) = a ( n ) + 1 ). Ось чому, використовуючи певні позначення, я зазвичай ставлю щось на початку, щоб розібратись (наприклад, сказати "у наступній серії, бла-бла-бла", а потім покласти математику). Таким чином, якими б позначеннями не користувалися, читачі можуть (сподіваємось) інтуїти сенс для потенційно неоднозначних випадків, а не в тому, щоб здогадуватися, виходячи з відомих їм умов. an+1=an+1a(n+1)=a(n)+1
JAB

1
Я згоден з @JAB. Загалом, я не думаю, що людям, які пишуть і використовують код, запозичувати нотації з програмного забезпечення в математичних методах лікування, не думаю. Наприклад, і, контерентно, люди з обчисленнями випереджають багато математичних груп у використанні чистих позначень, таких як , що оцінюються як 1, якщо істинно, і 0, якщо помилково, замість непотрібних формалізмів, таких як I ( x > 0 ) ; тут я просто слідую за Дональдом Кнутом. (x>0)Я(х>0)
Нік Кокс

@NickCox Я зазвичай бачу форму тоді, коли мова йде про ймовірність; інакше x > 0 - лише обмеження нерівності. Що стосується математичних рівнянь, то вони або розбиваються на кусочні уявлення, або вони просто представляють саме рівняння як нерівність, оскільки інакше може викликати неоднозначність. (Це схоже на те, як = у математиці є більш тонким, ніж будь-яка мова, або в більшості мов програмування; вона вводить обмеження чи визначення, а не фактичне призначення чи перевірку рівності.)Я(х>0)х>0====
JAB

4

Надписи вже використовуються для експоненції.

У математиці надписи використовуються ліворуч та праворуч залежно від галузі. Вибір - це завжди історична спадщина, не більше того. Хто вперше потрапив у поле, встановив умову використання під- або надзаписів.

f(х)(н)

RiiijТiк=RijСjк

jiБкл

Отже, вибір надписів від Ng теж суто історичний. Немає жодних реальних причин використовувати або не користуватися ними, або віддавати перевагу підпискам. Власне, я вважаю, що тут люди, що займаються МЛ, використовують тензорні позначення. Вони, безумовно, добре розбираються в темі, наприклад, дивіться цей документ.


1
Ще один приклад для вашої точки зору: Позначення Ейнштейна
Ніл G
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.