Shortcuts

quaterion.distances.manhattan module

class Manhattan[source]

Bases: BaseDistance

Compute Manhattan distances (and its interpretation as similarities).

Note

Interpretation of Manhattan distances as similarities is based on the trick in the book “Collective Intelligence” by Toby Segaran, and it’s in the range of 0 -> 1.

static distance(x: Tensor, y: Tensor) Tensor[source]

Calculate distances, i.e., the lower the value, the more similar the samples.

Parameters:
  • x – shape: (batch_size, embedding_dim)

  • y – shape: (batch_size, embedding_dim)

Returns:

Distances - shape – (batch_size,)

static distance_matrix(x: Tensor, y: Tensor | None = None) Tensor[source]

Calculate a distance matrix, i.e., distances between all possible pairs in x and y.

Parameters:
  • x – shape: (batch_size, embedding_dim)

  • y – shape: (batch_size, embedding_dim). If y is None, it assigns x to y.

Returns:

Distance matrix - shape – (batch_size, batch_size)

static similarity(x: Tensor, y: Tensor) Tensor[source]

Calculate similarities, i.e., the higher the value, the more similar the samples.

Parameters:
  • x – shape: (batch_size, embedding_dim)

  • y – shape: (batch_size, embedding_dim)

Returns:

Similarities - shape – (batch_size,)

static similarity_matrix(x: Tensor, y: Tensor | None = None) Tensor[source]

Calculate a similarity matrix, i.e., similarities between all possible pairs in x and y.

Parameters:
  • x – shape: (batch_size, embedding_dim)

  • y – shape: (batch_size, embedding_dim). If y is None, it assigns x to y.

Returns:

Similarity matrix - shape – (batch_size, batch_size)