Ищу название алгоритма - страница 4

 
wmlab:

Спасибо, почитаю.


пожалста)))

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

Например:

Если метрика обычное расстояние, то здесь явно 2 кластера

а здесь может и один подойдет

Чтобы это автоматизировать, а не отбирать в ручную, лучше использовать для начала самоорганизующиеся карты Кохонена Есть кстати для экселя бесплатные библиотеки

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

 

МБ примерно это Вы ищете? Сабж не понятен, я тупой, наверное, или малограмотный.

 
wmlab:

Задача такова - есть набор точек с неким набором свойств каждая. С помощью сложной функции можно посчитать "расстояние" между двумя любыми точками. Требуется расположить точки в одну линию так, чтобы соблюсти максимально точно отношения расстояний между ними. Т.е. близкие точки должны быть рядом. Есть ли готовый алгоритм для этого?

Плаваю немного в нейросетях, но, кажется, для плоскости (не линии) используется сеть Кохонена.

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

Ни первое ни второе. Требуется преобразование векторов в число, характеризующее положение точки. Отношения расстояний между точками в гиперкубе должны ПРИМЕРНО соотвествовать отношению их расстояний на линии.
 
wmlab:

Ни первое ни второе. Требуется преобразование векторов в число, характеризующее положение точки. Отношения расстояний между точками в гиперкубе должны ПРИМЕРНО соотвествовать отношению их расстояний на линии.

Подсчет расстояний между точками - для это нужна евклидова мера расстояния (самая распространенная мера):

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

 
wmlab:

Требуется преобразование векторов в число, характеризующее положение точки.

Вот это делают самоорганизующиеся карты признаков Кохонена, с одним "но". На классической СКП положение точки задается двумя координатами - это наглядное представление данных. То есть, СКП Кохонена позволяет проецировать многомерное пространство признаков в двухмерное.

И, что интересно, можно свернуть двухмерное пространство в одномерное. это просто сделать! Получиться, скажем, одномерный массив размером 10 000, на котором все ваши точки прекрасно расположаться. Одна точка будет иметь координату 3, другая, 103, и т.д. И, самое главное свойство СКП, это то, что расстояние между точками на получившейся карте будет достаточно репрезентировать расстояния между точками в гиперкубе. Вот так.

 
Похоже, на ваш вопрос есть ответ )
 

Примерно так это работает )))

 

Сразу прошу прощения у топикстартера, за то что задаю вопрос в его теме, просто не люблю плодить ветки...

..........

1) Провожу оптимизацию трех параметров ТС с выключенным ГА.

2) В результате получаю допустим 10 000 наборов параметров оптимизации.

3) После отбора по определенным критериям остается 500 наборов.

Задача:

- как из множества в 500 удовлетворяющих неким требованиям наборов выбрать, к примеру, 3 набора параметров

с условием что они максимально удалены, не похожи друг на друга.

Например, на рисунке после отбора срез прошел по плоскости обозначенной красной линией.



И, если не сложно, прошу показать "на пальцах" как это расчитать по приведенному ниже примеру набора параметров:



 
lasso:

Сразу прошу прощения у топикстартера, за то что задаю вопрос в его теме, просто не люблю плодить ветки...

..........

1) Провожу оптимизацию трех параметров ТС с выключенным ГА.

2) В результате получаю допустим 10 000 наборов параметров оптимизации.

3) После отбора по определенным критериям остается 500 наборов.

Задача:

- как из множества в 500 удовлетворяющих неким требованиям наборов выбрать, к примеру, 3 набора параметров

с условием что они максимально удалены, не похожи друг на друга.

Например, на рисунке после отбора срез прошел по плоскости обозначенной красной линией.



И, если не сложно, прошу показать "на пальцах" как это расчитать по приведенному ниже примеру набора параметров:




Позвольте предложить такой ответ: 3 параметра укладываются в трехмерную систему координат. Визуально ищите 3 наиболее удаленные точки. Это приблизительный способ.

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

Причина обращения: