es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo calcular c(B|A) y c(A|B) en este problema de Python en particular.

Ahora calculamos la sincronización entre todos los pares posibles de filas en la matriz. Dadas dos listas A y B, cada una de N valores 0 o 1, y un valor tau entre cero y N, definimos el índice de sincronización entre A y B como:

   0,5 * (c(B|A) + c(A|B))

Sync = ———————–
sqrt(m(A)*m(B))

Donde:
– c(B|A) es el número de veces que un acento de B es precedido por un acento de A
dentro de una distancia <= tau
– c(A|B) es el número de veces que un acento de A es precedido por un acento de B
dentro de una distancia <= tau
– m(A) es el número de acentos en A
– m(B) es el número de acentos en B
y donde, recordemos, un valor de 1 en A o B representa un acento.

NOTA: si m(A) == 0 o m(B) == 0 entonces asumimos una sincronización de cero.

Por ejemplo, dadas dos secuencias y un valor de tau:
– A = [0, 0, 0, 0, 1, 0, 0, 1]
– B = [1, 0, 1, 0, 1, 0, 0, 0]
– tau = 3
obtenemos:
– c(B|A) = 1, ya que sólo el tercer acento en B (posición 4) está precedido en A por un
acento dentro de 3 posiciones (en este caso el 1 en A tiene la misma posición
que el 1 en B)
– c(A|B) = 2, ya que los dos acentos de A están precedidos en B por dos acentos dentro
de 3 posiciones
– m(A) = 2
– m(B) = 3
– Sync = 0,5 × (1 + 2) / sqrt(2×3) = 0,6123724356957946

¿Cómo se calcula c(B|A) y/o c(A|B)? Por favor, explíquenme.

[Un acento es 1, por lo tanto el tercer acento significa el tercer “1” en la lista (por lo que el tercer acento de B significa por ejemplo el tercer “1” en la lista B, es decir, la posición 4 (B [4] == tercer acento))]

He intentado entender cómo se calcula, pero me he confundido mucho.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El valor de c(B|A) se calcula de la siguiente manera:

    1. Itera a través de cada acento en la lista B (es decir, cada valor de 1 en B).
    2. Para cada acento en B, comprueba si hay un acento en la lista A que lo precede dentro de una distancia de tau.
    3. Si hay tal acento en A, incrementa el recuento de c(B|A) por 1.

    El valor de c(A|B) se calcula de manera similar:

    1. Itera a través de cada acento en la lista A (es decir, cada valor de 1 en A).
    2. Para cada acento en A, comprueba si hay un acento en la lista B que lo precede dentro de una distancia de tau.
    3. Si hay tal acento en B, incrementa el recuento de c(A|B) por 1.

    En términos más simples, c(B|A) cuenta la cantidad de veces que un acento en B es precedido por un acento en A dentro de una distancia de tau, mientras que c(A|B) cuenta la cantidad de veces que un acento en A es precedido por un acento en B dentro de una distancia de tau.

Comments are closed.