stringtranslate.com

Uno caliente

En circuitos digitales y aprendizaje automático , un one-hot es un grupo de bits entre los cuales las combinaciones legales de valores son solo aquellas con un solo bit alto (1) y todos los demás bajos (0). [1] Una implementación similar en la que todos los bits son '1' excepto un '0' a veces se llama one-cold . [2] En estadística , las variables ficticias representan una técnica similar para representar datos categóricos .

Aplicaciones

Circuitos digitales

La codificación one-hot se utiliza a menudo para indicar el estado de una máquina de estados . Cuando se utiliza el sistema binario , se necesita un decodificador para determinar el estado. Sin embargo, una máquina de estados one-hot no necesita un decodificador, ya que la máquina de estados está en el estado n -ésimo si, y solo si, el bit n -ésimo es alto.

Un contador de anillo con 15 estados ordenados secuencialmente es un ejemplo de una máquina de estados. Una implementación "one-hot" tendría 15 flip flops encadenados en serie con la salida Q de cada flip flop conectada a la entrada D del siguiente y la entrada D del primer flip flop conectada a la salida Q del flip flop número 15. El primer flip flop de la cadena representa el primer estado, el segundo representa el segundo estado y así sucesivamente hasta el flip flop número 15, que representa el último estado. Al reiniciar la máquina de estados, todos los flip flops se reinician a "0", excepto el primero de la cadena, que se establece en "1". El siguiente flanco de reloj que llega a los flip flops avanza el bit "hot" al segundo flip flop. El bit "hot" avanza de esta manera hasta el estado número 15, después del cual la máquina de estados regresa al primer estado.

Un decodificador de direcciones convierte de binario a representación one-hot. Un codificador de prioridad convierte de representación one-hot a binario.

Comparación con otros métodos de codificación

Ventajas
Desventajas

Procesamiento del lenguaje natural

En el procesamiento del lenguaje natural , un vector one-hot es una matriz (vector) 1 ×  N que se utiliza para distinguir cada palabra de un vocabulario de todas las demás palabras del vocabulario. [5] El vector consta de 0 en todas las celdas con la excepción de un solo 1 en una celda que se utiliza de forma única para identificar la palabra. La codificación one-hot garantiza que el aprendizaje automático no asuma que los números más altos son más importantes. Por ejemplo, el valor '8' es mayor que el valor '1', pero eso no hace que '8' sea más importante que '1'. Lo mismo ocurre con las palabras: el valor 'risa' no es más importante que 'risa'.

Aprendizaje automático y estadísticas

En el aprendizaje automático, la codificación one-hot es un método que se utiliza con frecuencia para tratar con datos categóricos. Debido a que muchos modelos de aprendizaje automático necesitan que sus variables de entrada sean numéricas, las variables categóricas deben transformarse en la parte de preprocesamiento. [6]

Los datos categóricos pueden ser nominales u ordinales . [7] Los datos ordinales tienen un orden de clasificación para sus valores y, por lo tanto, se pueden convertir en datos numéricos a través de la codificación ordinal. [8] Un ejemplo de datos ordinales serían las calificaciones en una prueba que van de la A a la F, que podrían clasificarse utilizando números del 6 al 1. Dado que no existe una relación cuantitativa entre los valores individuales de las variables nominales, el uso de la codificación ordinal puede crear potencialmente una relación ordinal ficticia en los datos. [9] Por lo tanto, la codificación one-hot se aplica a menudo a las variables nominales, con el fin de mejorar el rendimiento del algoritmo.

Para cada valor único de la columna categórica original, se crea una nueva columna en este método. Estas variables ficticias se completan con ceros y unos (1 significa VERDADERO, 0 significa FALSO). [ cita requerida ]

Debido a que este proceso crea múltiples variables nuevas, es propenso a crear un problema de "p mayúscula" (demasiados predictores) si hay muchos valores únicos en la columna original. Otra desventaja de la codificación one-hot es que causa multicolinealidad entre las variables individuales, lo que potencialmente reduce la precisión del modelo. [ cita requerida ]

Además, si la variable categórica es una variable de salida, es posible que desees convertir los valores nuevamente a una forma categórica para presentarlos en tu aplicación. [10]

En la práctica, esta transformación suele realizarse directamente mediante una función que toma datos categóricos como entrada y genera las variables ficticias correspondientes. Un ejemplo sería la función dummyVars de la biblioteca Caret en R. [11]

Véase también

Referencias

  1. ^ Harris, David y Harris, Sarah (7 de agosto de 2012). Diseño digital y arquitectura informática (2.ª ed.). San Francisco, California: Morgan Kaufmann. pág. 129. ISBN 978-0-12-394424-5.{{cite book}}: CS1 maint: varios nombres: lista de autores ( enlace )
  2. ^ Harrag, Fouzi; Gueliani, Selmene (2020). "Extracción de eventos basada en aprendizaje profundo en textos árabes sobre peligros alimentarios". arXiv : 2008.05014 . {{cite journal}}: Requiere citar revista |journal=( ayuda )
  3. ^ Xilinx. "Guía de diseño de síntesis HDL para FPGA". Sección 3.13: "Codificación de máquinas de estados". Apéndice A: "Aceleración de macros de FPGA con el enfoque One-Hot". 1995.
  4. ^ Cohen, Ben (2002). Diseño y verificación de chips reales con Verilog y VHDL . Península de Palos Verdes, California, EE. UU.: VhdlCohen Publishing. pág. 48. ISBN 0-9705394-2-8.
  5. ^ Arnaud, Émilien; Elbattah, Mahmoud; Gignon, Maxime; Dequen, Gilles (agosto de 2021). Predicción basada en PNL de especialidades médicas en el ingreso hospitalario mediante notas de triaje. 2021 IEEE 9th International Conference on Healthcare Informatics (ICHI). Victoria, Columbia Británica . págs. 548–553. doi :10.1109/ICHI52183.2021.00103 . Consultado el 22 de mayo de 2022 .
  6. ^ Brownlee, Jason. (2017). "¿Por qué codificar datos en caliente en el aprendizaje automático?". Machinelearningmastery. https://machinelearningmastery.com/why-one-hot-encode-data-in-machine-learning/
  7. ^ Stevens, SS (1946). “Sobre la teoría de las escalas de medición”. Science, New Series, 103.2684, págs. 677–680. http://www.jstor.org/stable/1671815.
  8. ^ Brownlee, Jason. (2020). "Codificaciones ordinales y one-hot para datos categóricos". Machinelearningmastery. https://machinelearningmastery.com/one-hot-encoding-for-categorical-data//
  9. ^ Brownlee, Jason. (2020). "Codificaciones ordinales y one-hot para datos categóricos". Machinelearningmastery. https://machinelearningmastery.com/one-hot-encoding-for-categorical-data//
  10. ^ Brownlee, Jason. (2017). "¿Por qué codificar datos en caliente en el aprendizaje automático?". Machinelearningmastery. https://machinelearningmastery.com/why-one-hot-encode-data-in-machine-learning/
  11. ^ Kuhn, Max. “dummyVars”. RDocumentation. https://www.rdocumentation.org/packages/caret/versions/6.0-86/topics/dummyVars