Ir al contenido principal

Diagrama de temas

    • 2.2 Formular el problema relacionado con el aprendizaje automát

      • Formulación de problemas


        Para obtener los mejores resultados posibles con AA, debe tomarse el tiempo para comprender realmente el problema que intenta resolver. La formulación de problemas es el proceso de identificación de una problemática que debe solucionarse y redactarse en términos que sean comprensibles y procesables. Hacer esto bien es fundamental porque guiará su elección y preparación de datos de entrada y selección del algoritmo de AA. Además, en última instancia, le permitirá determinar cuándo ha alcanzado un modelo que cumpla con sus requisitos.

        Tom M. Mitchell, en su libro de 1997, Machine Learning, definió formalmente el aprendizaje automático de la siguiente manera: "Se dice que un programa de computador aprende de la experiencia (E) con respecto a alguna clase de tareas (T) y medida de rendimiento (P) si su rendimiento en tareas T, según lo medido por P, mejora con la experiencia E".

        Dado que la experiencia, las tareas y el rendimiento son los elementos esenciales del aprendizaje automático, asegúrese de enmarcar el problema para tener en cuenta cada uno de estos elementos. En la tabla siguiente se describe un enfoque general que puede usar.


        Elemento
        Descripción
        Enmarque el problema.
        Registre una descripción del problema que pretende resolver, escrita claramente como si planease entregarla a otra persona para su posterior desarrollo. El proceso de tener que poner el problema en palabras le ayudará a pensar y aclarar sus intenciones. Siga un patrón como el siguiente:
        - Tarea (T): lo que el algoritmo debe lograr, por ejemplo, "Predecir el precio de venta de una tarjeta coleccionable".
        - Experiencia (E): el conjunto de datos utiliza el algoritmo para aprender, por ejemplo, "Registros de transacciones de tarjetas coleccionables en varios sitios web".
        - Rendimiento (P): cómo evaluará el rendimiento del modelo, por ejemplo, "¿Qué tan cerca estuvo el precio de venta previsto del precio de venta real?". La forma de medir esto depende del tipo de tarea que realice el algoritmo.
        Identifique por qué se debe resolver el problema.
        Los aspectos de esto incluyen los siguientes:

        - Justificación: identificar por qué necesita resolver este problema le ayudará a evaluar el resultado, hacer los arreglos apropiados a medida que genera la solución y determinar cuándo ha logrado lo que se propuso hacer.

        - Beneficios: identifique quién se beneficiará de la solución y cómo. Esta información será útil si necesita obtener la aceptación de partes interesadas o financiadores, o para vender a otros en función de la necesidad de recursos adicionales o tiempo para hacer el trabajo. También será útil hacer referencia a cuando intente determinar cómo evaluará el éxito.

        - Duración y uso: identifique quién usará la solución y durante cuánto tiempo se usará. Esto le ayudará a determinar qué tan "pulida" debe estar la solución, cómo necesitará respaldarla y a considerar los requisitos de implementación si habrá otros usuarios.
        Asegurarse de que tiene claras estas cosas le ayudará a resolver el problema correcto, de una manera que realmente generará los beneficios que estaba buscando en primer lugar.
        Nota: Es más fácil explicar la justificación para resolver un problema cuando se puede mostrar cómo se alinea con los objetivos principales, que pueden denominarse indicadores clave de rendimiento (KPI).
        Proporcione información de fondo que lo ayudará a resolver el problema.
        Como recordatorio para usted mismo si está desarrollando la solución, o para brindar orientación a otras personas que trabajarán con usted o para usted, mientras piensa en el problema, documente cosas como las siguientes:

        - Supuestos: una lista de supuestos sobre el problema, como, por ejemplo:
        - fuentes de datos cuyo uso es aceptable o inaceptable;
        - requisitos operativos especiales, como los entornos de software que debe utilizar;
        - negocio u otro contexto de marco, como los marcos de tiempo del proyecto, quién usará la solución, etc.

        - Problemas de referencia: una lista de problemas similares que ha resuelto a través del aprendizaje automático aplicado. Esta lista lo guiará hacia el abordaje que podría adoptar para implementar una solución.
        Decida si el problema es adecuado para IA/AA.
        Una vez que haya definido claramente el problema, puede explorar si es más apropiado resolverlo como un problema de IA/AA o como un problema de programación tradicional.




      • Análisis tradicional frente a aprendizaje automático


        El proceso de desarrollo de una solución basada en el aprendizaje automático es diferente al análisis tradicional. Los profesionales deben ajustar su enfoque de resolución de problemas cuando buscan implementar soluciones de aprendizaje automático.

        Nota: Tanto en el análisis tradicional como en el aprendizaje automático, los profesionales suelen escribir código para realizar el análisis.

        Figura 1. El análisis tradicional comparado con el aprendizaje automático.


        Tanto el análisis tradicional como el aprendizaje automático implican algoritmos, que son conjuntos de reglas que definen cómo se deben procesar los datos.

        En el análisis tradicional, el analista examina el problema, saca conclusiones sobre cómo debe resolverse y desarrolla un algoritmo escrito específicamente para resolver el problema. Por ejemplo, un analista puede observar tendencias históricas en el mercado de valores, sacar conclusiones sobre ciertos patrones exhibidos por esas tendencias y luego escribir código para implementar un algoritmo específico para aplicar estos patrones a las tendencias actuales del mercado de valores con el fin de hacer predicciones.

        En un escenario de aprendizaje automático, el analista determina el tipo de tarea que debe realizarse (por ejemplo, predecir el precio futuro de una acción en función de las tendencias actuales), luego el analista ensambla un conjunto de datos de ejemplo y considera qué tipo de algoritmo de aprendizaje sería apropiado para realizar la tarea requerida en el conjunto de datos. El analista pone la máquina en movimiento con un algoritmo adecuado, que la máquina utiliza para procesar el conjunto de datos. Después de que la máquina produce una solución, el analista evalúa qué tan bien funciona esa solución en un conjunto de datos diferente, realizando ajustes y haciendo que la máquina se vuelva a entrenar hasta que se logren resultados aceptables.

        Los algoritmos de aprendizaje suelen utilizar enfoques estadísticos para revelar patrones dentro del conjunto de datos que se pueden usar posteriormente en nuevos conjuntos de datos para realizar predicciones. Dado que el conjunto de datos en sí desempeña un papel tan destacado en el entrenamiento de la máquina para resolver el problema, el aprendizaje automático a menudo se describe como controlado por datos.

      • Aprendizaje supervisado


        El aprendizaje supervisado es un enfoque del aprendizaje automático que implica proporcionar valores conocidos de la variable que está intentando predecir como parte de los datos de entrada. Consulte el siguiente ejemplo: usted tiene una hoja de cálculo de datos de salud de las personas que participaron en un estudio. Los datos están en una tabla, con cada persona como una fila, varias características de cada persona como columnas, como el peso, la altura, la presión arterial, etc. La columna final que registra un "sí" o "no" en cuanto a si esta persona tiene o no una enfermedad cardíaca.

        Estos datos tienen tres dimensiones :


        Ejemplo: la instancia individual de datos. Esto corresponde a las filas de una tabla y, en el ejemplo de registros de salud, se refiere a personas individuales.
        Característica: cada propiedad o característica mensurable de un ejemplo. Esto corresponde a las columnas de una tabla, y en el ejemplo, se refiere al peso corporal, la altura, la presión arterial, etc. de una persona.
        Etiqueta: la variable que está intentando predecir para nuevas muestras de datos. En el ejemplo, esto se refiere a un individuo que tiene un "sí" o "no" para la enfermedad cardíaca.


        En resumen, este conjunto de datos se introduce en el algoritmo como entrada. Se dice que el algoritmo se entrena en este conjunto de datos como parte de su proceso de aprendizaje.

        Figura 1. Entrenar un algoritmo de aprendizaje supervisado para predecir la presencia de enfermedades cardíacas en pacientes.


        Con el aprendizaje supervisado, usted elige uno o más algoritmos para entrenar con estos datos, incluida la etiqueta de enfermedad cardíaca. La máquina entonces puede usar el aprendizaje automático para analizar los datos y realizar predicciones sobre nuevos conjuntos de datos para determinar razonablemente si las personas en estos nuevos registros tienen enfermedad cardíaca o no.


        Información adicional

        Para obtener información adicional sobre las características, consulte aquí.


      • Aprendizaje sin supervisión


        El aprendizaje sin supervisión es una estrategia de aprendizaje automático en el que el algoritmo no tiene valores conocidos para la etiqueta. En otras palabras, al algoritmo no se le dice explícitamente lo que necesita predecir, ya que esta información no se proporciona como parte de los datos de entrenamiento. Usando el ejemplo de registros de salud, la columna que registra si alguien tiene o no una enfermedad cardíaca no se marcaría como la etiqueta para que el algoritmo prediga.

        En los datos de entrenamiento para el aprendizaje sin supervisión, se siguen proporcionando los ejemplos y las características y el algoritmo debe encontrar elementos comunes en ellos. Normalmente, identifica elementos comunes juntando y agrupando datos similares como parte de su entrenamiento. El algoritmo decide si estos elementos comunes existen o no en nuevos conjuntos de datos para realizar predicciones. Las personas con pesos y niveles de presión arterial más altos podrían correlacionarse, por lo que el algoritmo podría agrupar a estas personas. Estos grupos pueden permitir a los profesionales médicos tomar mejores decisiones sobre a quién examinar o tratar y cómo.

        Debido a que no implica etiquetas como parte del entrenamiento, el aprendizaje sin supervisión puede ser más difícil de implementar de manera efectiva. El aprendizaje sin supervisión basado en la agrupación se utiliza en la investigación genética mediante la agrupación de patrones de ADN para analizar la evolución biológica. En el mundo de los negocios, puede ayudar a agrupar clientes para que una empresa pueda comunicarse con diferentes grupos de clientes de manera más efectiva.

        Figura 1. Entrenar un algoritmo de aprendizaje sin supervisión para identificar patrones.


        Aprendizaje semisupervisado

        El aprendizaje semisupervisado es una combinación de aprendizaje supervisado y sin supervisión. En un conjunto de datos, normalmente tendrá muchos ejemplos sin etiquetar y algunos ejemplos etiquetados. Esta estrategia semisupervisada es particularmente útil en los casos en que el etiquetado de todos los datos llevaría mucho tiempo, o sería prohibitivo en términos de costos o inviable. Etiquetar solo algunos de los datos puede no ser ideal, pero puede mejorar el rendimiento del modelo sobre el aprendizaje sin supervisión estándar. En última instancia, el objetivo es lograr un equilibrio entre la sobrecarga involucrada en el etiquetado de datos y el poder predictivo real del modelo.


      • Aprendizaje por refuerzo


        El aprendizaje por refuerzo es una forma de entrenar un algoritmo mediante el uso del concepto de recompensa acumulativa. Una máquina, a veces llamada agente, debe usar el ensayo y error para lograr objetivos en un entorno complejo e incierto. Para lograr los objetivos identificados, la IA recompensará o penalizará a la máquina por las acciones realizadas. Una recompensa es básicamente un cálculo que se programa en el agente que especifica cómo el profesional de IA quiere que actúe el agente. En otras palabras, la recompensa le dice al agente "la acción que acabas de tomar fue buena", lo que incentiva al agente a realizar acciones similares. La máquina trata de maximizar la recompensa, aprendiendo así a usar tácticas más sofisticadas para completar tareas a medida que aprende.

        El aprendizaje por refuerzo funciona de manera óptima en situaciones en las que la máquina puede aprender de manera efectiva a través de ensayo y error. Los robots que se mueven o realizan otras acciones independientes en el mundo físico a menudo usan el aprendizaje por refuerzo, al igual que los computadores que juegan juegos como ajedrez, damas y go. En el siguiente ejemplo, si un agente que juega al ajedrez realiza lo que se considera un movimiento "bueno" en respuesta al movimiento de un oponente, el agente recibirá una recompensa. La recompensa puede ser algo tan simple como agregar un 1 a un contador, pero generalmente implica matemáticas mucho más complejas.

        Figura 1. Una máquina en entrenamiento para jugar al ajedrez usando el aprendizaje por refuerzo.

      • Resultados del aprendizaje automático


        Cuando planifique un abordaje para un problema de aprendizaje automático, comience con el objetivo en mente. Identifique el resultado que desea. El tipo de resultado que desea se relaciona de forma directa con el tipo de algoritmo que configurará el modelo de aprendizaje automático que usará.

        Figura 1. Tipos de algoritmos de aprendizaje automático, con ejemplos de cómo se utilizan.
        Aquí, se describen los resultados frecuentes.
        Resultado
        Descripción
        Regresión
        En función de una o más variables de entrada, prediga la variable de resultado obtenida.
        La regresión estima cuánto impacto tienen dos variables cuantitativas entre sí. La regresión se puede utilizar para lo siguiente:
        Realizar una predicción. Por ejemplo, en función de los patrones de crecimiento de un canal de YouTube, un algoritmo de regresión podría predecir el crecimiento en el número de suscriptores del propietario del canal.
        Determinar si un valor sigue un patrón previsto. Por ejemplo, un investigador social podría encuestar a las personas que ganan diferentes salarios y pedirles que clasifiquen su felicidad y vean si hay una fuerte correlación entre el nivel salarial y la felicidad.
        Clasificación
        En función de una nueva instancia de datos, identificar la clase a la que pertenece.

        La meta puede ser colocar simplemente la instancia de datos en una clase o categoría predefinidas. Por ejemplo, el software de reconocimiento óptico de caracteres (OCR) puede utilizar la clasificación para clasificar un carácter como una letra conocida o desconocida.
        Agrupación en clústeres
        Sin ningún conocimiento previo de la estructura de un conjunto de datos, identifique los componentes que pertenecen a un grupo en común.

        Este resultado ayuda a revelar la composición y estructura de un conjunto determinado de datos. Cada clúster se caracteriza por un conjunto contenido de puntos de datos y un centroide de clúster. El centroide del clúster es básicamente la media (promedio) de todos los puntos de datos que contiene el clúster, en todas las características. Por ejemplo, los datos sobre la altura, el peso y la actividad física podrían usarse para agrupar a los miembros del plan de salud para que aquellos con mayor riesgo de enfermedad cardíaca puedan recibir intervenciones.

        Nota: Es bastante común mezclar varios modos de aprendizaje y resultados en el curso de la realización de un flujo de trabajo de aprendizaje automático en particular. Por ejemplo, puede comenzar con un algoritmo no supervisado para seleccionar el conjunto mínimo de características necesarias (columnas) en el conjunto de datos de entrenamiento. A continuación, puede emplear un abordaje supervisado, como la regresión o la clasificación, para generar el modelo de aprendizaje automático real.

      • Aleatoriedad e incertidumbre en los modelos de aprendizaje automático


        El aprendizaje automático se basa en los campos matemáticos de la estadística y la probabilidad. Aunque la estadística y la probabilidad a menudo se mencionan juntas, y a veces se usan indistintamente, se tratan de asuntos ligeramente diferentes. Las estadísticas analizan la aleatoriedad en eventos pasados mientras que la probabilidad se basa en patrones identificados por las estadísticas para predecir eventos futuros. El aprendizaje automático está fuertemente controlado por datos y, en general, hay varios aspectos de la aleatoriedad de esos datos: qué puntos de datos se muestrean, el orden en que se muestrean, los ejemplos que se usan para enseñar y probar un modelo, etc.

        No solo hay aleatoriedad en los datos, sino que también puede haber aleatoriedad entre los diferentes algoritmos del aprendizaje automático. Dos algoritmos diferentes pueden arrojar resultados similares, por ejemplo, clasificar las muestras de agua en función de las características químicas del agua. Pero pueden generar resultados ligeramente diferentes solo porque los algoritmos siguen pasos diferentes para obtener sus resultados. También pueden tener diferentes características de rendimiento. Por ejemplo, un algoritmo puede tardar unos segundos en ejecutarse, mientras que otro tarda minutos. Un algoritmo puede funcionar mejor con conjuntos de datos pequeños, mientras que otro tiende a funcionar mejor con conjuntos de datos grandes.

        Figura 1. Diferentes imágenes de caninos se introducen en el mismo algoritmo. El algoritmo clasifica una como un lobo y la otra como un perro.

        Figura 2. La misma imagen de un canino se introduce en dos algoritmos diferentes. El primer algoritmo identifica al animal como un lobo mientras que el segundo lo identifica como un perro.
        Los modelos obtenidos en el aprendizaje automático a menudo se describen utilizando el término estocástico. Con el modelo estocástico, las muestras de datos individuales son inherentemente aleatorias y no se pueden predecir a la perfección. Pero todo junto, se puede demostrar que todo el conjunto de datos sigue un patrón general. Al analizar los patrones generales establecidos por todo el conjunto, en promedio puede hacer predicciones razonablemente buenas sobre muestras de datos individuales.

        La naturaleza aleatoria de los modelos de aprendizaje automático produce cierta incertidumbre, que debe controlarse para generar buenos modelos. Para reducir la incertidumbre en los modelos de aprendizaje automático, se debe utilizar la probabilidad a su favor. Si diferentes conjuntos de datos y diferentes algoritmos producirán incertidumbre en los resultados, entonces obtener más variedad en esos aspectos lo ayudará a incluir la incertidumbre en sus modelos. 
        Asegúrese de que los datos estén limpios y sean los correctos para permitir que sus patrones sean más evidentes.

        Por ejemplo, para contrarrestar el factor de incertidumbre, puede utilizar estrategias como:

        Ejecución del mismo algoritmo en repetidas ocasiones y en varios ejemplos diferentes.
        Ejecución de varios algoritmos diferentes, prueba de los modelos resultantes y selección del que genere los mejores resultados.
        Ejecución de varios algoritmos diferentes, permitiendo que cada uno emita su "voto" con base en la respuesta y tome la "sabiduría de la multitud" como respuesta.
        Selección de los datos correctos (relevantes para el problema).
        Reducción del ruido (valores de datos que son incorrectos o engañosos, lo que dificulta que los algoritmos de aprendizaje automático encuentren los patrones importantes en los datos).


        Figura 3. Un ejemplo de un voto entre diferentes algoritmos, en el que la mayoría de los algoritmos clasifican al animal como un lobo.

        Información adicional

        Más información sobre la incertidumbre en los modelos de aprendizaje automático, ingresa aquí


      • Formulación del problema relacionado con el aprendizaje automático



      • Selección de un resultado derivado del aprendizaje automático