есть любой из множества способов, вы можете определить, как похожи два вектора, хотя я подозреваю, что не все из них, строго говоря, меры корреляции. Если вы заинтересованы в использовании величины векторов и их разности, то очевидной метрикой будет относительная величина вектора разностей и средняя величина двух заданных векторов. Например даны векторы X
и Y
, которые не являются и 0, можно вычислить метрику M
:
2∙||X-Y||
M = -------------
||X|| + ||Y||
Теперь это будет несколько реверс то, что вы ищете, где значения, близкие к 0 представляют собой векторы, являются относительно близкими друг к другу, и на самом деле нет никакой зависимости от того, насколько это может получиться. Однако есть способы получить M'
на основе M
. Один из способов сделать это могут быть:
M' = 1-2∙atan(M)/π
Другим способом получить M'
на основе вашего описания является использование экспоненциального распада, как в:
M' = exp(-M)
В любом случае M'
будет 1, когда векторы идентичны и будут асимптотически приближаться к 0, тем больше их разность относительно их средних длин.
Мне неизвестно какое-либо формальное имя, данное этому подходу (это не значит, что его нет). Я просто сделал это на основе того, что я воспринимал как ваши требования.Тем не менее, я до сих пор не совсем понимаю, что именно вы ищете, поэтому, если это не то, что вам нужно, то укажите, почему это не сработает для вас, чтобы я или другие люди могли лучше понимать ваши требования и предлагать лучше решение.
Точечный продукт двух нормированных векторов находится в диапазоне от (0,1). Это сработает. – duffymo
Спасибо, но я действительно хочу, чтобы он использовал Евклидовское расстояние/или что-то «очень» похоже. – DavidK
Вы, очевидно, не понимаете векторы. Как вы нормализуете вектор? Использование евклидова расстояния. Точечный продукт включает в себя оба. – duffymo