Categoría: Articulos relacionados

  • Comprensión del problema

    Conser-vision Practice Area: Image Classification

    En este proyecto se abordará la competición Conser-vision Practice Area: Image Classification, organizada por DrivenData, cuyo objetivo consiste en desarrollar un modelo de Visión por Computador capaz de identificar automáticamente diferentes especies animales a partir de imágenes capturadas mediante cámaras trampa instaladas en el Parque Nacional de Taï, en África Occidental.

    Contexto del problema

    Las cámaras trampa se han convertido en una herramienta imprescindible para el estudio y la conservación de la fauna salvaje. Estos dispositivos permanecen instalados durante largos periodos de tiempo y capturan fotografías automáticamente cuando detectan movimiento o cambios de temperatura.

    Gracias a este sistema es posible monitorizar poblaciones animales sin interferir en su comportamiento natural. Sin embargo, esta ventaja también genera un importante desafío: la enorme cantidad de imágenes producidas.

    Un único proyecto de conservación puede generar cientos de miles o incluso millones de fotografías, muchas de ellas sin animales o con especies difíciles de identificar. Revisar manualmente todas estas imágenes supone miles de horas de trabajo para los investigadores.

    La aplicación de técnicas de Inteligencia Artificial permite automatizar gran parte de este proceso, acelerando el análisis de los datos y facilitando el estudio de los ecosistemas.

    Problema a resolver

    El objetivo del proyecto consiste en desarrollar un modelo de clasificación de imágenes capaz de identificar correctamente la especie presente en cada fotografía obtenida por las cámaras trampa.

    Cada imagen deberá clasificarse en una de las siguientes categorías:

    • Antelope Duiker
    • Bird
    • Blank (sin animales)
    • Civet Genet
    • Hog
    • Leopard
    • Monkey Prosimian
    • Rodent

    Una característica especialmente interesante de esta competición es que las imágenes del conjunto de prueba proceden de ubicaciones completamente diferentes a las utilizadas durante el entrenamiento. Esto obliga al modelo a aprender las características propias de cada especie en lugar de memorizar el entorno donde fue capturada la fotografía.

    Objetivos del proyecto

    El objetivo principal consiste en desarrollar un modelo de Deep Learning capaz de clasificar automáticamente las especies presentes en las imágenes con un elevado nivel de precisión y una buena capacidad de generalización.

    Para ello se plantean los siguientes objetivos específicos:

    • Comprender la estructura del conjunto de datos.
    • Analizar las características visuales de las diferentes especies.
    • Diseñar un proceso adecuado de preparación de imágenes.
    • Aplicar técnicas de Transfer Learning utilizando modelos preentrenados.
    • Evaluar diferentes arquitecturas de Visión por Computador.
    • Optimizar el rendimiento del modelo mediante técnicas de aumento de datos.
    • Generar predicciones compatibles con el formato requerido por la competición.

    Criterios de éxito

    El éxito del proyecto no dependerá únicamente de obtener una buena posición en la clasificación de la competición.

    También se considerarán los siguientes aspectos:

    • Desarrollar un pipeline completamente reproducible.
    • Documentar todas las fases del proyecto.
    • Aplicar una metodología estructurada de Ciencia de Datos.
    • Obtener un modelo con buena capacidad de generalización sobre nuevas localizaciones.
    • Publicar el proyecto completo como recurso educativo para otros profesionales y estudiantes.

    Partes interesadas

    Aunque el proyecto se desarrolla dentro de una competición de Ciencia de Datos, la solución tiene aplicaciones reales y beneficia a diferentes grupos de interés.

    Los principales beneficiarios son los investigadores dedicados a la conservación de la biodiversidad, que podrán reducir significativamente el tiempo necesario para clasificar las imágenes obtenidas mediante cámaras trampa.

    Las organizaciones dedicadas a la protección del medio ambiente también podrán utilizar este tipo de modelos para mejorar el seguimiento de poblaciones animales y acelerar el análisis de grandes volúmenes de información.

    Finalmente, este proyecto constituye un caso práctico de aplicación de técnicas modernas de Deep Learning y Visión por Computador, por lo que también resulta de interés para estudiantes y profesionales del ámbito de la Inteligencia Artificial.

    Restricciones del proyecto

    La competición establece una serie de limitaciones que deben respetarse durante el desarrollo del modelo.

    No está permitido utilizar conjuntos de datos externos para el entrenamiento, por lo que únicamente podrán emplearse las imágenes proporcionadas por la organización.

    Asimismo, las predicciones deberán generarse siguiendo exactamente el formato especificado por la competición y el rendimiento del modelo se evaluará mediante la métrica Multi-class Log Loss.

    Riesgos

    Durante el desarrollo del proyecto pueden aparecer diferentes dificultades que afecten al rendimiento del modelo.

    Entre los principales riesgos destacan:

    • Desbalance entre las diferentes clases.
    • Sobreajuste al fondo de las imágenes.
    • Baja capacidad de generalización entre distintas ubicaciones.
    • Variaciones importantes en iluminación y condiciones meteorológicas.
    • Imágenes nocturnas obtenidas mediante infrarrojos.
    • Animales parcialmente ocultos por la vegetación.
    • Fotografías donde no aparece ningún animal.

    Todos estos aspectos deberán analizarse durante las siguientes fases del proyecto para diseñar un modelo robusto y capaz de enfrentarse a escenarios reales.

    Alcance del proyecto

    Este proyecto se centra exclusivamente en la clasificación automática de especies animales presentes en imágenes individuales.

    Quedan fuera del alcance tareas más complejas como la detección de objetos, la segmentación de imágenes, la localización exacta de los animales o la identificación individual de ejemplares concretos.

    Conclusiones

    Comprender correctamente el problema constituye el primer paso para desarrollar una solución de Inteligencia Artificial eficaz.

    En este proyecto, el objetivo va mucho más allá de entrenar un modelo con una buena puntuación en una competición. Se pretende construir un flujo de trabajo completo, reproducible y bien documentado que sirva como ejemplo práctico de aplicación de técnicas modernas de Visión por Computador a un problema real de conservación de la biodiversidad.

    En el siguiente artículo se abordará la fase de Analytic Approach, donde se justificará la elección de las técnicas de Machine Learning y Deep Learning más adecuadas para resolver este problema.

  • Predict H1N1 and Seasonal Flu Vaccines – Problem Description

    ¿Es posible predecir si las personas se vacunaron contra la gripe H1N1 y la gripe estacional utilizando la información que compartieron sobre sus antecedentes, opiniones y hábitos de salud?

    En este desafío, analizaremos la vacunación, una medida clave de salud pública para combatir las enfermedades infecciosas. Las vacunas inmunizan a las personas, y una vacunación suficiente en una comunidad puede reducir aún más la propagación de enfermedades mediante la inmunidad colectiva.

    DrivenData. (2020). Flu Shot Learning: Predict H1N1 and Seasonal Flu Vaccines. Retrieved [Month Day Year] from https://www.drivendata.org/competitions/66/flu-shot-learning

    Al momento del lanzamiento de este concurso, las vacunas contra el virus COVID-19 aún están en desarrollo y no están disponibles. En cambio, el concurso retomará la respuesta de salud pública a otra pandemia reciente de una enfermedad respiratoria importante. A partir de la primavera de 2009, una pandemia causada por el virus de la influenza H1N1, conocida coloquialmente como “gripe porcina”, se extendió por todo el mundo. Los investigadores estiman que, en el primer año, fue responsable de entre 151.000 y 575.000 muertes a nivel mundial .

    En octubre de 2009, la vacuna contra el virus de la gripe H1N1 estuvo disponible para el público. Entre finales de 2009 y principios de 2010, Estados Unidos realizó la Encuesta Nacional sobre la Gripe H1N1 de 2009. Esta encuesta telefónica preguntaba a los participantes si habían recibido las vacunas contra la gripe H1N1 y la gripe estacional, además de incluir preguntas sobre sí mismos. Estas preguntas adicionales abarcaban sus antecedentes sociales, económicos y demográficos, sus opiniones sobre los riesgos de la enfermedad y la eficacia de la vacuna, y sus comportamientos para mitigar la transmisión. Una mejor comprensión de cómo estas características se asocian con los patrones de vacunación individuales puede orientar futuras iniciativas de salud pública.

    Descripción del problema

    Tu objetivo es predecir la probabilidad de que las personas reciban sus vacunas contra la gripe H1N1 y la gripe estacional. Específicamente, predecirás dos probabilidades: una para h1n1_vacciney otra para seasonal_vaccine. Cada fila del conjunto de datos representa a una persona que respondió a la Encuesta Nacional sobre la Gripe H1N1 de 2009

    Etiquetas

    Para esta competición, existen dos variables objetivo:

    • h1n1_vaccine– Si el encuestado recibió la vacuna contra la gripe H1N1.
    • seasonal_vaccine– Si el encuestado recibió la vacuna contra la gripe estacional.

    Ambas son variables binarias. Algunos encuestados no recibieron ninguna de las vacunas, otros solo una y algunos ambas. Esto se formula como un problema de etiquetas múltiples (y no de clases múltiples).

    Las características de este conjunto de datos

    Se le proporciona un conjunto de datos con 36 columnas. La primera columna respondent_id es un identificador único y aleatorio. Las 35 características restantes se describen a continuación.

    Para todas las variables binarias: 0= No; 1= Sí.

    • h1n1_concern– Nivel de preocupación por la gripe H1N1.
      • 0= Nada preocupado; 1= No muy preocupado; 2= Algo preocupado; 3= Muy preocupado.
    • h1n1_knowledge– Nivel de conocimiento sobre la gripe H1N1.
      • 0= Sin conocimiento; 1= Un poco de conocimiento; 2= Mucho conocimiento.
    • behavioral_antiviral_meds– Ha tomado medicamentos antivirales. (binario)
    • behavioral_avoidance– Ha evitado el contacto cercano con otras personas que presenten síntomas similares a los de la gripe. (binario)
    • behavioral_face_mask– Ha comprado una mascarilla. (binario)
    • behavioral_wash_hands– Se ha lavado las manos con frecuencia o ha usado desinfectante para manos. (binario)
    • behavioral_large_gatherings– Ha reducido el tiempo en grandes reuniones. (binario)
    • behavioral_outside_home– Ha reducido el contacto con personas ajenas a su hogar. (binario)
    • behavioral_touch_face– Ha evitado tocarse los ojos, la nariz o la boca. (binario)
    • doctor_recc_h1n1– El médico recomendó la vacuna contra la gripe H1N1. (binario)
    • doctor_recc_seasonal– El médico recomendó la vacuna contra la gripe estacional. (binario)
    • chronic_med_condition– Presenta alguna de las siguientes afecciones médicas crónicas: asma u otra afección pulmonar, diabetes, una afección cardíaca, una afección renal, anemia falciforme u otro tipo de anemia, una afección neurológica o neuromuscular, una afección hepática o un sistema inmunitario debilitado debido a una enfermedad crónica o a medicamentos tomados para una enfermedad crónica. (binario)
    • child_under_6_months– Mantiene contacto estrecho y regular con un niño menor de seis meses. (binario)
    • health_worker– Es un trabajador de la salud. (binario)
    • health_insurance– Tiene seguro médico. (binario)
    • opinion_h1n1_vacc_effective– Opinión del encuestado sobre la eficacia de la vacuna contra la gripe H1N1.
      • 1= Nada efectivo; 2= No muy efectivo; 3= No lo sé; 4= Algo efectivo; 5= Muy efectivo.
    • opinion_h1n1_risk– Opinión del encuestado sobre el riesgo de contraer la gripe H1N1 sin vacunarse.
      • 1= Muy bajo; 2= Algo bajo; 3= No lo sé; 4= Algo alto; 5= Muy alto.
    • opinion_h1n1_sick_from_vacc– Preocupación del encuestado por enfermarse tras recibir la vacuna contra la gripe H1N1.
      • 1= Nada preocupado; 2= No muy preocupado; 3= No lo sé; 4= Algo preocupado; 5= Muy preocupado.
    • opinion_seas_vacc_effective– Opinión del encuestado sobre la eficacia de la vacuna contra la gripe estacional.
      • 1= Nada efectivo; 2= No muy efectivo; 3= No lo sé; 4= Algo efectivo; 5= Muy efectivo.
    • opinion_seas_risk– Opinión del encuestado sobre el riesgo de contraer la gripe estacional sin vacunarse.
      • 1= Muy bajo; 2= Algo bajo; 3= No lo sé; 4= Algo alto; 5= Muy alto.
    • opinion_seas_sick_from_vacc– Preocupación del encuestado por enfermarse tras recibir la vacuna contra la gripe estacional.
      • 1= Nada preocupado; 2= No muy preocupado; 3= No lo sé; 4= Algo preocupado; 5= Muy preocupado.
    • age_group– Grupo de edad del encuestado.
    • education– Nivel educativo declarado por el propio participante.
    • race– Raza del encuestado.
    • sex– Sexo del encuestado.
    • income_poverty– Ingresos anuales del hogar del encuestado con respecto a los umbrales de pobreza del Censo de 2008.
    • marital_status– Estado civil del encuestado.
    • rent_or_own– Situación de vivienda del encuestado.
    • employment_status– Situación laboral del encuestado.
    • hhs_geo_region– Residencia del encuestado según una clasificación geográfica de 10 regiones definida por el Departamento de Salud y Servicios Humanos de los Estados Unidos. Los valores se representan como cadenas cortas de caracteres aleatorios.
    • census_msa– Residencia del encuestado dentro de áreas estadísticas metropolitanas (MSA, por sus siglas en inglés) según lo define la Oficina del Censo de los Estados Unidos.
    • household_adults– Número de otros adultos en el hogar, con un máximo de 3.
    • household_children– Número de niños en el hogar, con el código superior 3.
    • employment_industry– Tipo de industria en la que trabaja el encuestado. Los valores se representan como cadenas cortas de caracteres aleatorios.
    • employment_occupation– Tipo de ocupación del encuestado. Los valores se representan como cadenas cortas de caracteres aleatorios.

    Ejemplo de datos de características

    Por ejemplo, una sola fila del conjunto de datos tiene estos valores:

    CampoValor
    preocupación h1n11
    conocimiento h1n10
    medicamentos antivirales conductuales0
    evitación conductual0
    mascarilla facial conductual0
    lavado de manos conductual0
    grandes reuniones de comportamiento0
    comportamiento_fuera_del_hogar1
    cara_táctil_conductual1
    doctor_recc_h1n10
    doctor_recc_estacional0
    condición médica crónica0
    niño_menor_de_6_meses0
    trabajador de la salud0
    seguro_de_salud1
    opinión_vacuna_h1n1_eficaz3
    riesgo_de_opinión_h1n11
    opinión_h1n1_enfermo_por_vacuna2
    opinión_vacuna_mar_eficaz2
    opinión_riesgo_marítimo1
    opinión_mareo_por_vacuna2
    grupo_de_edad55 – 64 años
    educación< 12 años
    carreraBlanco
    sexoFemenino
    pobreza de ingresosPor debajo del umbral de pobreza
    Estado civilNo estoy casado
    alquilar o comprarPropio
    estado_laboralNo forma parte de la fuerza laboral.
    región_geográfica_hhsbueyjgsf
    censo_msaNo MSA
    adultos del hogar0
    niños del hogar0
    industria del empleoYaya
    empleo_ocupaciónYaya

    Métrica de rendimiento

    El rendimiento se evaluará según el área bajo la curva ROC (AUC) para cada una de las dos variables objetivo. La media de estas dos puntuaciones constituirá la puntuación global. Un valor más alto indica un mejor rendimiento.

    En Python, puedes calcular esto usando sklearn.metrics.roc_auc_score para esta configuración multietiqueta con el parámetro average="macro"predeterminado.

    Formato de envío

    El formato del archivo de envío consta de tres columnas: respondent_idh1n1_vaccine, y seasonal_vaccine. Las predicciones para las dos variables objetivo deben ser probabilidades flotantes que oscilen entre 0.01.0. Dado que la competencia utiliza el área bajo la curva ROC (AUC) como métrica de evaluación, los valores que envíe deben ser las probabilidades de que una persona haya recibido cada vacuna, no etiquetas binarias.

    Como se trata de un problema de etiquetas múltiples, las probabilidades de cada fila no tienen por qué sumar uno.

    Por ejemplo, si predijiste…

    vacuna h1n1vacuna estacional
    ID del encuestado
    267070,50,7
    267080,50,7
    267090,50,7
    267100,50,7
    267110,50,7

    Las primeras líneas del .csvarchivo que envíe se verían así:

    respondent_id,h1n1_vaccine,seasonal_vaccine
    26707,0.5,0.7
    26708,0.5,0.7
    26709,0.5,0.7
    26710,0.5,0.7
    26711,0.5,0.7
    ...