Какова теория, чтобы выбрать один элемент на основе различных критериев? - PullRequest
4 голосов
/ 14 декабря 2011

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

Я хочу назначить вес каждому из этих предметов в зависимости от того, насколько они похожи на предмет A . Различные критерии будут определять окончательный вес. Например, если item1.someProperty == otherItem.someProperty, то я увеличиваю вес на 5, если item1.anotherProperty == otherItem.anotherProperty, то я увеличиваю вес только на 1, потому что someProperty важнее, чем anotherProperty.

.

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

Так кто-нибудь знает, есть ли какая-нибудь теория, которая могла бы помочь? Или, может быть, есть лучший способ сделать то, что я пытаюсь сделать?

Ответы [ 3 ]

2 голосов
/ 14 декабря 2011

Вы можете думать о своих свойствах как об измерениях и составлять расстояние от них. Если между свойствами есть корреляция, вы также можете принять это во внимание (Google для расстояния Махаланобиса).

Но в основном это сводится к

 float distance(a, b) {
    return w1 * ABS(a.x - b.x)
         + w2 * ABS(a.y - b.y)
           ...
    ;
 } 

Вместо того, чтобы суммировать термины, вы можете суммировать квадраты (чтобы наказать большие различия), что угодно

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

2 голосов
/ 14 декабря 2011

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

2 голосов
/ 14 декабря 2011

Это, по крайней мере, внешне похоже на модель векторного пространства (VSM) для поиска информации (IR).Обычно это основано на пакетах слов, но его можно адаптировать к другим представлениям данных.

Веса, которые вы описываете, соответствуют тому, что называется "усилением поля" в VSM IR.

Но см. Также поиск ближайшего соседа .

...