¿Debo comparar mi trabajo propuesto con mi implementación de los documentos relacionados anteriores o el resultado informado?

En informática, necesito comparar la precisión de mi método propuesto con los anteriores. Hay dos opciones posibles:

  1. Implementar los métodos descritos en documentos relacionados en mi propia máquina
  2. Utilizar los resultados declarados de los autores.

A veces, cuando implemento los otros papeles, los resultados son diferentes a los reclamados, por falta de detalles, parámetros e hiperparámetros. ¿Cuál es la decisión correcta? ¿Debo comparar mi trabajo con el implementado? Además, a veces los informes de los trabajos anteriores están en un conjunto de datos diferente y tengo que implementar el código. ¿Es la forma correcta?

Respuestas (4)

Diría que, como regla, solo confía en los resultados proporcionados por los autores de los artículos que cita. Realmente no se supone que debes volver a implementar su algoritmo solo para confirmar sus resultados.

Profundicemos un poco más, especialmente desde el punto de vista de un crítico. Cuando un revisor ve que su método en cierto modo es superior a un trabajo publicado anteriormente, esto es exactamente lo que espera, por lo que todos están contentos. Si no puede probar que su método es mejor porque usa un conjunto de datos diferente, es un gran problema (tanto para usted como para el revisor) y, en general, sería muy recomendable obtener los mismos datos. Tal vez, este es el primer paso a dar.

Si no puede obtener el mismo conjunto de datos e intentar volver a implementar el algoritmo, por supuesto que abre toda la lata de gusanos, ya que el revisor podría suponer con razón que su implementación es de alguna manera diferente (debido a diferentes parámetros o posibles errores) y por lo tanto incomparable . Diría que un escenario válido común para tal empresa es cuando se duda de las conclusiones del artículo original y se quiere confirmarlas o refutarlas.

Como nota al margen, creo que uno debe decidir sobre la estrategia de evaluación antes de diseñar e implementar métodos propios. Si desea avanzar en el estado del arte, es razonable consultar primero los documentos existentes y asegurarse de que puede obtener el mismo conjunto de datos que sus autores para demostrar que su método es más preciso con los mismos datos.

1) La comparación con los resultados que informan otros autores es con toda probabilidad aceptable.

2) Sin embargo, los resultados publicados no deben creerse acríticamente, por lo que es mejor (en el sentido de ser un mejor servicio a la ciencia) replicar los resultados de otros autores. Además, quién sabe, en caso de que los buenos resultados informados no se repliquen, tiene otro argumento en contra de un competidor ya favor de su método.
Si la información para hacer eso no es suficiente en el artículo que está citando (que los revisores de ese artículo deberían haber criticado en mi opinión), la forma más confiable de hacerlo es pedirle a los autores su código (si no lo es). disponible en cualquier lugar de todos modos, eso es).

3) Si los autores no comparten su código, en mi opinión, es bueno intentar replicar sus resultados usando su propio código (aunque en caso de que pueda usar los resultados publicados, no es obligatorio para su publicación, consulte el punto 1) . Si encuentra diferencias, es mejor ponerse en contacto con los autores originales al respecto, pero también está en todo su derecho de decir en su artículo que estos resultados se desvían de los originales a pesar de hacer su mejor intento por replicarlos. En cualquier caso, debe reconocer que esta es su implementación y enumerar las decisiones tomadas por usted para la implementación que no sean obvias en el documento original. Una vez más, esto es más trabajo que simplemente usar los resultados informados y, con toda probabilidad, no es necesario para su publicación.

Agrego (con retraso) que, además del valor de la publicación específica que pueda tener en mente, aprendí algunas cosas valiosas tratando de replicar el trabajo de otras personas.

4) Los otros encuestados tienen razón en comparar solo lo que es comparable, vea sus respuestas.

Esto dependería de cómo estés midiendo las cosas. Si los resultados son tiempos simples, entonces la velocidad/arquitectura de la máquina puede importar (mucho). Pero si, por ejemplo, está contando comparaciones, entonces el resultado es independiente de la velocidad de la máquina.

Asegúrese de comparar manzanas con manzanas y no manzanas con maní.

Necesito comparar la precisión de mi trabajo con otros documentos y es independiente de la velocidad y la arquitectura.
No conozco todos los parámetros, por supuesto. Pero "manzanas con manzanas" era la parte importante.

La complejidad computacional es una herramienta útil para medir el rendimiento y comparar resultados. Por ejemplo, los algoritmos de clasificación se comparan de esta manera . Pero, lo que es apropiado para ti realmente depende de lo que estés resolviendo.