sokoloff

Рейтинг
32
Регистрация
18.11.2005
PHWizard:
700 документов, размерность вектора 2000, размерность пространства 2620 (Epsilon = 10%), пусть даже нейронка 3х3х3х3..

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

T.R.O.N:
Имхо конечно, логично предположить, что doc, xml, pdf не парсятся, а просто конвертятся в plain-text. А значит и все выделения теряют смысл.

Для .pdf, по крайне мере, они парсятся не в plain text. Во всяком случае, все выделения и локальные ссылки внутри документа прекрасно видны в "View as HTML". Даже если Google вместо "View as HTML" предлагает "View as Text" (для .ps), то все равно форматирование остается.

T.R.O.N:
Яша приравнивает все что может проиндексировать к страницам сайта.
Вот это интересно. А ссылки из негипертекстовых документов тоже учитываются (во всеми вытекающими последствиями для тех, на кого ссылаются)? Года два назад пытался найти ответ на этот вопрос для Гугла -- ничего не нашел.
PHWizard:
А откуда 4? Там ведь формула О(log(n)/epsilon^2)

Ну 4-ка там спрятана под O(), см. формулировку Theorem 2.1

PHWizard:
sokoloff:
Так это самое сложное -- подобрать метрику или убедиться, что Маша и Петя попадут рядом (просто из факта, что число размерностей стало меньше, это же не следует).
А как же теорема компактности и т.п.?

Она не теорема, а гипотеза. И выражает лишь необоснованое предположение (надежду), что они попадут рядом, если удачно подобрать признаки. Но на самом деле это не обязано быть и часто не бывает так в реальности. Если вы докажете, что выбранные признаки отображают "компактные" множества в "компактные" (т.е. близкие точки в близкие, далекие в далекие и т.д. с четким определением расстояния), то тогда это можно утверждать.

PHWizard:
Т.е. 439 измерений нужно чтобы спроецировать несчастные 3 точки?

Да, и при этом это 3 любые точки. Т.е. вы как бы освобождаетесь от конкретной выборки и можете гарантировать это для любого входа.

PHWizard:
Например, система индексирует много документов, и там встречается: "Маша пошла по грибы", "Петя пошел по грибы", "Маша почистила зубы", "Петя почистил зубы". В ходе уменьшения размерности Маша и Петя проецируются рядом, а идти по грибы и чистить зубы - в другом месте, а расстояния между ними отражают насколько эти понятия связаны.
Vyacheslav Tikhonov:
Получить пространство признаков (знаний) вполне реально, если подобрать правильную метрику, то есть определить, какие признаки объекта (ключевые слова в документе) являются смысловыми.
Так это самое сложное -- подобрать метрику или убедиться, что Маша и Петя попадут рядом (просто из факта, что число размерностей стало меньше, это же не следует).

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

PHWizard:
А откуда эта формула и как выбирать эпсилон? Можно где-то почитать про это?

Формула, например, отсюда "An elementary proof of the Johnson-Lindenstrauss Lemma". Эпсилон выбираться, исходя из соображений желаемой точности. Например, вы хотите, чтобы расстояния при уменьшении размерности искажались не более, чем на 10%, значит эпсилон=0.1 .

PHWizard:
Есть такое соображение, что при уменьшении размерности тут учитываются закономерности в исходных данных, значит каким-то образом учитываются взаимодействия между словами в языке (особенно при большой входной коллекции), значит при уменьшении размерности это всё нормализуется и лингвистические факторы отфильтруются, останется только смысловая нагрузка (в данном случае в виде пространства знаний).

А как такие соображения появились?:) Ведь тут помимо известной модели закономерностей еще надо знать как именно их оставить, уменьшая размерность. Т.е. врядли это верно для любого способа уменьшения размерности.

Со сходствами сложнее, для них меньше известно. В этой области лучше, если есть возможность, работать с метриками. Но в случае, если у вас интуитивное понятие сходства смоделировано, например, косинусом между векторами, то там тоже есть аналоги уменьшения размерности.

Насчет размерности для SOM не скажу, но у этих методов, как мне кажется, разные цели... Хотя, если задача всего лишь визуализировать небольшую коллекцию и есть основания предполагать, что документы организованы в VSM проще, чем просто любые точки (например, ложаться на какую-то поверхность или вытянуты вдоль оси), то возможно и SOM будет работать так же как и методы типа PCA. А dimensionality reduction это более мощное средство, которе применимо к целым пространствам и не зависит от конкретной коллекции. Уменьшается размерность всего пространства с равномерными гарантиями для любой пары точек, не зависимо от того как они расположены в пространстве.

Насчет размерности. Если быть точнее, то размерность вам понадобится 4*ln(n)/epsilon^2. При этом с большой вероятностью (1/n^2) расстоянием между любыми точками сохраниться в пределах (1-\epsilon)D(x,y)<=D'(x,y)<=(1+\epsilon)D(x,y). Чтобы узнать сколько это точно, вам надо задаться желаемым epsilon.

При этом расстояния между ними должны (по идее) отображать релевантность ближе к идеалу, чем евклидовы расстояния между входными векторами. Верно?

Не совсем понял. Расстояния между "уменьшеными" векторами будут удовлетворять неравенству выше с какой-то вероятностью. И все.

Если идеал -- это то сходство, которое понимается человеком, то начать лучше его отражать они могут только случайно.

Если идеал -- это эвклидово расстояние между исходными векторами, то опять же см. неравенство. В зависимости от значения epsilon они могут принимать близкие или не очень близкие значения к исходному.

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

Изометрически скорее всего не получится, но обычно и не надо, тем более для визуализации. Если у вас исходная метрика l_2 (т.е. эвклидова), то вам повезло и приближенно постороить вложение в то же l_2, уменьшающее размерность практически с любой точность, можно. Механизм -- лемма Джонсона-Линденштрауса (используются случайные гауссовые матрицы). При этом размерность целевого пространства для вложения нормы будет пропорциональна логарифму числа точек, расстояния между которыми необходимо сохранить в пределах и обратно пропорциональна квадрату требуемой точности. Т.е. особо надеяться уместить много точек на плоскости да и в объеме не стоит.

Более реально, что вам надо построить вложение, не зная заранее множества точек. Тогда вероятность, что расстояние между случаной парой точек искажилось уж слишком сильно, будет пропорциональной e^\Omega(d'/\epsilon^2), где d' -- требуемая размерность, \epsilon -- ошибка ((1-\epsilon)D(x,y)<=D'(x,y)<=(1+\epsilon)D(x,y))

Для неэвклидовых метрик типа l_1 вопрос сложнее. Есть результат, что такой же финт как с l_2 невозможен. Но есть вполне адекватные замены, вкладывающие не в l_1, а строящие некий скетч, вычислив по которому определенную функцию, можно оценить исходное расстояние.

vuhrust:
аналитической системы поиска отклонений, аномалий в тексте. Какие и как выбирать показатель с текста я без понятия. Наверно что-то в сторону Data|Text Mining

Это может быть также в сторону bias detection, stream comparison/computations, outlayer detection. Но это большая область с мощным мат. аппаратом и очень сильными результатами. В магистерской можно и загрузнуть.

В более прикладной сфере -- это fraud/anomaly detection, но как данные там обычно не тексты рассматриваются.

Если руководитель таки хочет видеть какие-то аномалии, то, наверное, стоит обратить внимание на алгоритмы alignment-а, вычисления строковых метрик и способы их ускорения. Тогда можно считать, что полученная версия документа есть в каком-то смысле аномалией по отношению к исходному тексту (отредактированной в некоторых местах). Только уточните с ним, что он понимает под аномалиями, на всякий случай:)

bvd:
попробуйте чуть-чуть изменить условия

Как вариация на тему: еще возможно определять плагиатность документов по близости в какой-нибудь из метрик редактирования (lcs, хэмминг, классической Левенштайна, с переставлениями, с передвижением/копированием/удалением/реверсией блоков, etc)

См. также различные варианты метрик на строках ( http://www.dcs.shef.ac.uk/~sam/stringmetrics.html ), но это далеко не полный список.

В общем, надо определится, что есть плагиат в вашей конкретной области и для выбранного множества входных данных.

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

А что (для начала, по крайне мере) мешает считать мусор отдельной рубрикой? Вопрос, конечно, сразу возникнет о разнообразии семейства разделяющих поверхностей. Но, если оно позволяет отделить "сложный" мусор, то такой подход разделит и его, и настояшие рубрики.

Например в классическом СВМ у вас вряд ли получится исключить нерелевантные документы (исходя из того, что количество классов к кторым приписываются документы будет равно числу классов обучающего множества и невозможно построить гиперплоскость между релевантными и всеми остальными документами)

Да, но попытаться можно. Например, SoftSVM или пытаться угадать ядро, которые разделит классы.

123
Всего: 28