Форум сайта python.su
Рекомендую перечитать свои посты. По ним решительно нельзя понять что именно вы делаете. Поэтому пока вы понятно не объясните суть решаемой задачи оказать вам помощь считаю невозможным.
Надеяться что есть волшебные матричные алгоритмы которые решат более или менее сложную задачу не думая над этой задачей глупо.
Офлайн
Для общего случая: пейджинг, кеширование. Соответственно, грамотная организация данных.
Офлайн
Рекомендую перечитать свои посты. По ним решительно нельзя понять что именно вы делаете. Поэтому пока вы понятно не объясните суть решаемой задачи оказать вам помощь считаю невозможным.
Надеяться что есть волшебные матричные алгоритмы которые решат более или менее сложную задачу не думая над этой задачей глупо.
есть б.д. преступников 100000 фото - сравнить новое лицо с базой.потому, что это частный случай того, что я описал выше.
Отредактировано mrgloom (Май 13, 2013 09:22:34)
Офлайн
Да это все просто делается. Сначала применяется алгоритм специфический для предметной области, и лица жмутся до 5 -10 числовых характеристик, потом применяется классический RTree. При необходимости задача легко раскидывается на вычислительный кластер…
Но чтобы эту задачу решили в общем виде для пространства большой размерности я не слышал, найдете обязательно напишите.
Поэтому я и написал что нужно описание предметной области. Думаю для абстрактной постановки: “есть много больших векторов ….” она просто не решаема на современной технике.
По поводу PCA - он имеет смысл только в том случае когда данные реально имеют ФИЗИЧЕСКУЮ структуру которая позволяет надеяться на эффективное сжатие (опять нужно пониманиие не на уровне вектор с 1000 компонентов, а реально что это такое, а вы упорно делаете из этого большую тайну) . Если я вам случайные вектора в алгоритм суну, то PCA вообще ничего не даст.
Офлайн
Почему именно RTree ? опять же вы знаете реализации которые не зависят от размера данных?
PCA да для данных имеющих зависимость, кстати вроде бы нет нормального метода чтобы автоматически определить оптимальное кол-во собственных векторов.
Офлайн
mrgloomон поддерживает поиск соседей.
Почему именно RTree ?
mrgloom- потренируйтесь Доказать: не существует алгоритма трудоемкость которого не зависит от длины векторов. Уверен легко найдете доказательство.
которые не зависят от размера данных
mrgloomДля начала надо определить критерий оптимальности, а потом можно обсуждать.
чтобы автоматически определить оптимальное кол-во собственных векторов.
Отредактировано doza_and (Май 14, 2013 20:33:21)
Офлайн
mrgloom
Почему именно RTree ?
он поддерживает поиск соседей.
потренируйтесь Доказать: не существует алгоритма трудоемкость которого не зависит от длины векторов. Уверен легко найдете доказательство.я хочу не от длины вектора, а от размера базы.
Для начала надо определить критерий оптимальности, а потом можно обсуждать.допустим у меня было N сэмплов и там k классов и я взял и разбил на тестовую и обучающую выборки и влоб посчитал через евклидову метрику
Отредактировано mrgloom (Май 15, 2013 09:59:29)
Офлайн
по идее можно не только размер вектора сжимать, но и размер базы заменяя сэмплы 1 класса цетройдом их кластера.
так же по идее чтобы использовать обычный PCA, а не итеративный можно было бы кластеризовать предварельно базу до приемлимого размера, хотя для этого потребуется итеративный метод кластеризации.
хотя вот вроде есть
http://blog.revolutionanalytics.com/2011/06/kmeans-big-data.html
Офлайн
вот вроде бы то о чем я как раз говорил
http://www.cs.cmu.edu/~epxing/Class/10701/reading/icmr2011_nvtree.pdf
http://csce.uark.edu/~jgauch/library/Video-Retrieval/Lejsek.2009.pdf
и вот еще неплохой обзор
http://stackoverflow.com/questions/5751114/nearest-neighbors-in-high-dimensional-data
Отредактировано mrgloom (Май 15, 2013 11:41:11)
Офлайн
Очень интересные ссылки. Спасибо.
Извините я наверное неправильно понял ваши возможности.
Системы для которых предназначены NV деревья:
“The experiments in this section were run on DELL Pow-
erEdge 1850 machines running Gentoo Linux (2.6.7 kernel),
each equipped with two 3GHz Intel Pentium 4 processors,
2GB of DDR2-memory, 1MB CPU cache, and two (or more)
140GB 10Krpm SCSI disks with the ReiserFS file system.”
Вы пишете питон скрипт для кластера из 2000 машин?
mrgloomда нет разницы это примерно одно и тоже.
почему не kd-tree например?
Офлайн