Preprocesamiento de datos en IA y ML, calidad sobre cantidad
December 09, 2024 | 6 minutes read
Mientras que los datos en el contexto del consumo y la privacidad son un término amplio y de gran alcance, los datos que los ingenieros de software utilizan para crear algoritmos de aprendizaje automático y profundo deben ser afinados y refinados. Como las máquinas no tienen las características inherentes de la mente humana, un desarrollador de software que entrena un modelo de aprendizaje automático en conjunción con un conjunto de datos particular debe asegurarse de que dichos datos sean lo más exactos, precisos, diversos y relevantes posible para la tarea específica en cuestión. Dicho esto, el preprocesamiento de datos en relación con el aprendizaje automático se refiere a la práctica de codificar o transformar un conjunto de datos para facilitar su análisis por parte de una máquina. Debido a los costes prohibitivos asociados al aprendizaje automático, el preprocesamiento de datos es crucial para crear un conjunto de datos de calidad.
Para ilustrar mejor este punto, mientras que empresas tecnológicas multinacionales como Amazon, Google y Microsoft disponen de los recursos y las instalaciones necesarios para crear sus propios conjuntos de datos a gran escala, el equipo medio de desarrolladores de software tendrá que recurrir a conjuntos de datos gratuitos ya creados. Dicho esto, estos conjuntos de datos a menudo serán etiquetados o categorizados por personas normales y corrientes, y como tales, a menudo contendrán datos que faltan, incoherentes o inexactos. Por estas razones, el equipo de ingenieros de software en cuestión necesitaría primero procesar los datos que obtienen de un conjunto de datos disponible públicamente antes de alimentar dichos datos a un modelo de aprendizaje automático con fines de entrenamiento. Del mismo modo, el preprocesamiento de datos se lleva a cabo de acuerdo con cuatro etapas principales.
Limpieza de datos
La primera etapa del preprocesamiento de datos es la limpieza de datos. Como su nombre indica, la etapa de limpieza de datos implica un refinamiento básico de los datos contenidos en un conjunto de datos, incluidos los valores perdidos o incorrectos y los valores atípicos importantes, así como cualquier otra incoherencia que pueda surgir durante el proceso. La limpieza de datos puede llevarse a cabo de varias maneras, dependiendo del alcance y la escala de los datos con los que esté trabajando un desarrollador de software. Por ejemplo, un desarrollador que quiera entrenar un algoritmo de aprendizaje automático para identificar detalles financieros contenidos en un conjunto de datos de 100 cheques podría rellenar a mano cualquier dato incorrecto o que falte en dichos cheques. Alternativamente, una técnica de minería de datos como la regresión podría utilizarse para limpiar un conjunto de datos compuesto por miles de imágenes, sonidos o palabras diferentes, ya que hacerlo a mano sería una tarea extremadamente ardua.
Integración de datos
La segunda etapa del preprocesamiento de datos es la integración de datos. La integración de datos consiste en fusionar datos de múltiples fuentes en un único almacén de datos. Por ejemplo, un desarrollador de software que desee crear un algoritmo de IA para utilizarlo en un software de imágenes médicas probablemente necesitará integrar imágenes obtenidas de múltiples fuentes, debido a la naturaleza inherente de la atención sanitaria. Durante este proceso de integración, este desarrollador de software también podría eliminar cualquier dato redundante, como copias exactas de imágenes médicas, así como cualquier dato desajustado o fuera de lugar, en un esfuerzo por refinar aún más el conjunto de datos. Además, un conjunto de datos concreto también puede contener conflictos de valores de datos que deben resolverse antes de que los datos puedan utilizarse para entrenar un modelo de IA, como dos formatos de datos que difieren entre sí con respecto al mes y al día del año, es decir, “MM/DD/AAAA” o “DD/MM/AAAA”.
Transformación de datos
La tercera etapa del preprocesamiento de datos es la transformación de datos. Durante esta etapa, todos los datos que se han limpiado e integrado se transformarán en un formato cohesivo que pueda utilizarse para analizar dichos datos. La transformación de los datos puede llevarse a cabo de diferentes maneras. Por ejemplo, la agregación de datos puede utilizarse para resumir datos que se han obtenido de múltiples fuentes, como los datos de participación electoral que se han recogido de un estado concreto de EE.UU. durante unas elecciones presidenciales. A la inversa, la generalización es otro método que puede utilizarse durante la etapa de transformación de datos, ya que formas más específicas de datos, como la dirección de una calle dentro de una gran área metropolitana, pueden transformarse en datos sobre el país en el que se encuentra esta área.
Reducción de datos
La última etapa del preprocesamiento de datos es la de reducción de datos. Como algunos conjuntos de datos seguirán siendo extremadamente difíciles de analizar y criticar incluso después de haberlos limpiado, integrado y transformado, la etapa de reducción de datos se utiliza para formular una representación reducida de un conjunto de datos que produzca la misma calidad de datos en un volumen menor. Por ejemplo, un desarrollador de software que desee refinar un conjunto de datos para utilizarlo en un programa de software de análisis de texto podría eliminar cualquier dato superfluo del conjunto, ya que la naturaleza flexible de la comunicación humana implica que las ideas y los conceptos no tienen por qué expresarse utilizando un número determinado de palabras o frases. De este modo, la etapa de reducción de datos sirve para hacer que los datos sean más precisos y accesibles y, al mismo tiempo, reducir la cantidad de almacenamiento necesaria para conservarlos.
Nunca se insistirá lo suficiente en que la eficacia de un modelo de aprendizaje automático o de inteligencia artificial dependerá en gran medida de la calidad de los datos utilizados para entrenar el modelo. Mientras que los seres humanos pueden aprender cosas sobre la marcha, hacer inferencias y hacer preguntas a otras personas en caso de que surja alguna complicación, las máquinas obviamente no disponen de los mismos lujos. En este punto, los desarrolladores de software deben agotar todas las posibilidades a la hora de modificar los conjuntos de datos que utilizarán para entrenar sus respectivos algoritmos. Sin el preprocesamiento de datos, muchos de los avances históricos que se han producido en los campos de la visión por ordenador, la inteligencia artificial y el aprendizaje automático durante los últimos 20 años habrían sido mucho más difíciles de conseguir.