![>](style_images/1/nav_m.gif)
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.12.155.235] |
![]() |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Сразу оговорюсь, что по профессии я - биолог. Или би-олух, кому как нравится. Но иногда меня мучают проблемы более серьёзные, нежели биологические, или просто приходится.
На данный момент мне очень нужен алгоритм способный проэцировать из многодименционального пространства в трёх- или двумерное. Не уверен, что это называется проэкцией, поэтому попытаюсь объяснить подробнее. Положим у меня есть координаты 11-ти точек в 10-мерном пространстве (это условие сохраняется постоянно "количество измерений = количество точек - 1"). и растояние между точками пропорционально чему-то там, имеющему биологический смысл. И я бы хотел иметь эту "картинку" в 2D, так чтобы растояния между точками по-прежнему (естественно не так точно) сохроняли этот биологический смысл. Посоветуйте, пожалуйста, как это можно сделать. Что почитать? Сушествуют ли готовые алгоритмы? Где их найти? А может есть стандартные (или нестандартные) библиотеки (предпочтительно C/C++)? Заранее БОЛЬШОЕ СПАСИБО!!! |
Сообщ.
#2
,
|
|
|
Проецировать можно на разные плоскости/пространства, тебе нужно прежде всего определить - на что именно нужно проецировать. Самое простое - прямоугольная проекция на "базовые" плоскости/пространства; тут просто отбрасываешь координаты кроме двух (трех).
Вообще я сомневаюсь, чтобы у тебя получилось в 2-3-мерном пространстве отобразить зависимости расстояний между точками. Разве что ети точки лежат (почти) на одной плоскости/пространстве. А так всякая интуиция и аналоги будут при проекции теряться. Почитать можно про прямоугольное, векторное проецирование. Где? В гуглях полно. |
Сообщ.
#3
,
|
|
|
Спасибо за оперативный ответ.
Теперь я понимаю, что мне не проэкция нужна. Идея просто положить их в одну плоскость отбросив "лишние" координаты меня не устраивает. Именно, что мне нужно сохранить "смысл", хоть какую-то часть. Я где-то что-то слышал, что есть такие алгоритмы. Например, "support vector machines" - это по теме, или нет? Я просто думаю, что с моим образованием правильный алгоритм не выбрать. Вот, подсказал бы кто. |
Сообщ.
#4
,
|
|
|
А какой смысл, если не секрет?
|
Сообщ.
#5
,
|
|
|
не секрет. положим растояния пропорциональны филогенетическому родству, и подобная картинка была бы хорошей репресентацией, информотивной и полезной.
|
Сообщ.
#6
,
|
|
|
Где-то читал, что иногда используют такое "проецирование" - берут какой-нибудь объект, скажем, лицо. Тогда первая координата задает, например, отношение длины лица к его щирине, вторая координата - размер глаз, третья - степень "улыбчивости" рта, четвертая - открытость/закрытость глаз и др. характеристики (соответственно, если взять другой объект, не лицо, то характеристики будут другие. Просто там, где я читал, было приведено именно лицо). И все это рисуется на плоскости - получается как бы проекция. Таким образом получается, что близкие объекты задают близкие картинки.
|
Сообщ.
#7
,
|
|
|
Цитата Guest, 15.11.04, 15:43 филогенетическому родству Биоинженерией что-ли занимаешься или молекулярной биологией? У тебя действительно пространства такие многомерные? А чем глубинный смысл равенства Цитата yahont, 15.11.04, 14:39 ? количество измерений = количество точек - 1" |
Сообщ.
#8
,
|
|
|
Цитата Цитата Guest, 15.11.04, 15:43 филогенетическому родству Биоинженерией что-ли занимаешься или молекулярной биологией? что-то, типа Цитата У тебя действительно пространства такие многомерные? А чем глубинный смысл равенства Цитата yahont, 15.11.04, 14:39 ?количество измерений = количество точек - 1" со 100%-ной точностью я могу сохранить растояния в пространстве, где количество измерений на единицу меньше количества точек |
Сообщ.
#9
,
|
|
|
Цитата yahont, 15.11.04, 16:39 биолог биофак мгу? биоинженер? корпус "б"? ![]() по поводу вопроса: люди давно этим страдают, есть такое направление "кластерный анализ" - по матрице расстояний строят дерево, чем дальше точки отстоят от друг друга, тем раньше расходятся соответствующие ветви. наверняка ты где-либо видел деревья, построенные по результатам секвенирования 5s рибосомальной рнк. а если тебе хочется именно в двухмерном пространстве отобразить всё разнообразие, можно выделить направления с максимальным разбросом (насколько я помню, это не так сложно и даже выражается аналитически) и спроецировать все точки на эти направления. вобще ты зря укрываешь биологический смысл и обстоятельства, сопутствовавшие возникновению вопроса, без них на него всё равно не получится дать исчерпывающий ответ. |
Сообщ.
#10
,
|
|
|
Странно, но при прровании скажем кубика из 4-х мерного пространства в трехмерное, все размеры сохраняются, а вот при дальнейшем проецировании на плоскость и в одномерное уже конечно размеры теряются...
![]() |
Сообщ.
#11
,
|
|
|
Цитата Oleg_Z, 17.11.04, 06:58 при прровании скажем кубика из 4-х мерного пространства в трехмерное, все размеры сохраняются неужели ? |
Сообщ.
#12
,
|
|
|
Если я не допустил ошибку при рассуждении:
4 измерение это время. При проецировании в трехмерное пространство таколго кубика получится 2 кубика, которые как-бы соеденены линиями... что-то вроде вот такого: (только надо например из проволки делать ![]() (рисовал от руки). Или я думаю не о том, о чем думаете все вы? ![]() Прикреплённая картинка
![]() |
Сообщ.
#13
,
|
|
|
Проекция - не обязательно вдоль осей координат (а тебя время - такая ось)
|
Сообщ.
#14
,
|
|
|
А можете привести пример проекции не вдоль осей?
![]() ЗЫ: значит я думал не о том ![]() ![]() |
Сообщ.
#15
,
|
|
|
Например, в 3-мерном пр-ве проекция на плоскость x+y+z=0
|