![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
11.5 CV anidado para la selección de algoritmos (Evaluación del modelo L11, parte 4)
11.5 CV anidado para la selección de algoritmos (Evaluación del modelo L11, parte 4)
Muy bien, profundicemos en el tema de la selección de algoritmos computacionales. En esta discusión, nos centraremos en una técnica llamada validación cruzada anidada y exploraremos algunos ejemplos de código en el próximo video. Antes de profundizar en la validación cruzada anidada, recapitulemos rápidamente algunos puntos clave que cubrimos anteriormente.
Anteriormente, discutimos el método de retención de tres vías como un medio de selección de modelos. Aquí hay un breve resumen del proceso: comenzamos dividiendo nuestro conjunto de datos original en un conjunto de entrenamiento y un conjunto de prueba. A continuación, dividimos aún más el conjunto de entrenamiento en un conjunto de entrenamiento más pequeño y un conjunto de validación. El conjunto de entrenamiento se usa, junto con un algoritmo de aprendizaje automático y valores de hiperparámetros específicos, para entrenar un modelo. Al iterar a través de varias configuraciones de hiperparámetros, obtenemos múltiples modelos con sus respectivas actuaciones. Finalmente, seleccionamos el modelo con el rendimiento más alto, medido en el conjunto de validación, y evaluamos su rendimiento final en el conjunto de prueba. Es importante incluir un conjunto de pruebas independiente para mitigar cualquier sesgo de selección introducido durante la selección del modelo.
Ahora, revisemos el concepto usando una figura diferente para ayudar a nuestra comprensión. En este diagrama, podemos visualizar tres escenarios. En el primer escenario, evaluamos un solo modelo que se entrena en el conjunto de entrenamiento y se prueba en el conjunto de prueba sin ningún ajuste del modelo. Este enfoque es adecuado cuando no se requiere ajuste del modelo.
En el segundo escenario, evaluamos múltiples modelos en los mismos conjuntos de entrenamiento y prueba. Cada modelo se entrena con diferentes configuraciones de hiperparámetros, y seleccionamos el mejor rendimiento en función del rendimiento del conjunto de prueba. Sin embargo, usar el conjunto de prueba varias veces para la selección del modelo puede introducir un sesgo de selección, lo que hace que este enfoque sea menos deseable.
El tercer escenario corresponde al método de retención de tres vías que discutimos anteriormente. Se entrenan varios modelos en el conjunto de entrenamiento con diferentes configuraciones de hiperparámetros. A continuación, el conjunto de validación se utiliza para seleccionar el modelo de mejor rendimiento, que posteriormente se evalúa en el conjunto de prueba. Este enfoque ayuda a mitigar el sesgo de selección mediante el uso de un conjunto de validación separado para la clasificación del modelo.
Si bien el método de retención de tres vías es efectivo, un mejor enfoque es la validación cruzada de k-fold, que cubrimos en nuestra discusión anterior. Este método divide los datos en k pliegues, con cada pliegue tomando turnos como conjunto de validación mientras que el resto sirve como conjunto de entrenamiento. Este enfoque es particularmente beneficioso cuando el conjunto de datos tiene un tamaño limitado. Para conjuntos de datos más grandes, la retención de tres vías aún puede ser una opción viable, especialmente en el aprendizaje profundo donde los tamaños de los conjuntos de datos suelen ser más grandes y entran en juego consideraciones adicionales como la convergencia del modelo.
Ahora, avancemos y analicemos la validación cruzada anidada, que nos lleva un paso más allá al comparar diferentes algoritmos. Supongamos que queremos comparar algoritmos como K-vecinos más cercanos, árboles de decisión, aumento de gradiente y bosques aleatorios. Cada algoritmo se someterá a un ajuste de hiperparámetros para seleccionar el mejor modelo. Introducimos otro bucle en el procedimiento de validación cruzada, lo que da como resultado una validación cruzada anidada. El ciclo externo es responsable de la evaluación del modelo, mientras que el ciclo interno se enfoca en el ajuste de hiperparámetros. Este procedimiento de dos pasos hace que la validación cruzada anidada sea más compleja que la validación cruzada de pliegues k normal, ya que comprende esencialmente dos validaciones cruzadas de pliegues k anidados.
Para comprender mejor este proceso, veamos una ilustración que comienza con nuestro conjunto de datos original. Imagine que tenemos un conjunto de prueba independiente para la evaluación final, pero por ahora, nuestro conjunto de entrenamiento principal será suficiente. Similar a la validación cruzada de k-pliegues, iteramos a través de un ciclo para un número específico de pliegues, digamos cinco en este caso. En cada iteración, los datos se dividen en pliegues de entrenamiento y un pliegue de prueba. Sin embargo, en lugar de entrenar el modelo únicamente en el pliegue de entrenamiento y evaluarlo en el pliegue de prueba, procedemos al siguiente paso.
En el siguiente paso, tomamos uno de los pliegues de entrenamiento, como el que se encuentra en la parte inferior del diagrama, y lo dividimos en un conjunto de entrenamiento más pequeño y un conjunto de validación. El conjunto de entrenamiento más pequeño se usa para entrenar diferentes modelos con varias configuraciones de hiperparámetros, mientras que el conjunto de validación se usa para seleccionar el modelo con mejor rendimiento.
Una vez que se completa el ciclo interno para el pliegue de entrenamiento actual, tenemos un modelo seleccionado con su configuración de hiperparámetro correspondiente. Luego evaluamos este modelo en el pliegue de prueba del bucle externo, que no se usó durante el bucle interno.
El proceso continúa para cada pliegue en el bucle exterior. Cada vez, se muestra un pliegue diferente como pliegue de prueba, mientras que los pliegues restantes se utilizan para entrenamiento y validación. Esto garantiza que cada pliegue se utilice como conjunto de prueba y de validación, y que cada modelo se evalúe en un conjunto de datos diferente. El rendimiento final del modelo se determina promediando el rendimiento de todos los pliegues.
La validación cruzada anidada nos ayuda a comparar diferentes algoritmos al proporcionar una estimación más sólida de su rendimiento. Al repetir el proceso de validación cruzada anidado varias veces, podemos obtener estimaciones de rendimiento más confiables y estables.
En resumen, la validación cruzada anidada es una técnica que combina los beneficios de la selección de modelos y el ajuste de hiperparámetros. Nos permite comparar diferentes algoritmos evaluando su desempeño en múltiples pliegues de datos y seleccionando el mejor modelo basado en iteraciones anidadas de validación cruzada. Este enfoque ayuda a mitigar el sesgo de selección y proporciona una estimación más precisa del rendimiento del algoritmo.
En el próximo video, exploraremos ejemplos de código para demostrar cómo se implementa en la práctica la validación cruzada anidada. Estén atentos para la próxima parte de esta serie.
11.6 CV anidado para el ejemplo de código de selección de algoritmo (Evaluación del modelo L11, parte 4)
11.6 CV anidado para el ejemplo de código de selección de algoritmo (Evaluación del modelo L11, parte 4)
Muy bien, ahora que hemos discutido el concepto detrás de la validación cruzada anidada, profundicemos en un ejemplo de código. Este ejemplo lo ayudará a comprender mejor la validación cruzada anidada desde una perspectiva computacional. Además, resultará útil para sus proyectos de clase al comparar algoritmos.
En primer lugar, los ejemplos de código se pueden encontrar en GitHub. Los he subido a nuestro repositorio de clases regular con el nombre "l11_code". Hay tres cuadernos disponibles: "verbose_one", "verbose_two" y "compact". Los tres cuadernos producen los mismos resultados, pero difieren en su enfoque de implementación.
En el cuaderno "verbose_one", he adoptado un enfoque más manual utilizando el método de plegado en k estratificado manualmente. Por otro lado, en el cuaderno "verbose_two", he utilizado la función cross_validate. Finalmente, en el cuaderno "compacto", he usado cross_val_score. Cada cuaderno proporciona diferentes niveles de información cuando se analiza. Por ahora, recomiendo comenzar con el cuaderno "verbose_one" ya que ya está familiarizado con el objeto plegado en k estratificado.
Antes de continuar, vale la pena mencionar que el enfoque de implementación que elija no tiene un impacto significativo en los resultados. Sin embargo, no recomendaría usar el cuaderno "compacto", ya que proporciona menos información sobre los conjuntos de hiperparámetros. Más adelante, puedo mostrarles brevemente cómo se ven los conjuntos de hiperparámetros después de discutir el siguiente contenido.
Ahora, examinemos el cuaderno "verbose_one", que demuestra el enfoque manual para la validación cruzada anidada. En este cuaderno, encontrará una ilustración de la validación cruzada anidada y cómo funciona. El proceso implica un bucle externo que ejecuta los bucles internos. Para cada lazo exterior, el pliegue se divide en porciones de entrenamiento y de prueba. Luego, la parte de entrenamiento se pasa al bucle interno, que realiza el ajuste de hiperparámetros o la selección del modelo. Esto se puede lograr mediante la búsqueda en cuadrícula, como aprendimos en la lección anterior.
En el cuaderno, encontrará los pasos de configuración necesarios, como la importación de bibliotecas y módulos necesarios. Estos incluyen la búsqueda de cuadrícula para el ajuste del modelo en el bucle interno, la división del conjunto de datos mediante la validación cruzada estratificada de k-fold, la canalización, los escalares estándar y los clasificadores que queremos comparar. A los efectos de este ejemplo, estamos utilizando una versión más pequeña del conjunto de datos "emnes", que consta de 5000 ejemplos de entrenamiento para mantener intacta la viabilidad computacional. Además, el 20 % del conjunto de datos se reserva como datos de prueba, lo que nos permite comparar el rendimiento de la validación cruzada anidada con el rendimiento del conjunto de prueba.
En el futuro, inicializamos los clasificadores que usaremos. El primer clasificador es un clasificador de regresión logística, específicamente un clasificador de regresión logística multinomial. Este clasificador también se conoce como regresión softmax en aprendizaje profundo. Aunque no lo hemos cubierto en esta clase, lo cubriremos en "Estadísticas 453". La razón detrás del uso de este clasificador es tener una gama más amplia de algoritmos para comparar. Además, es relativamente rápido en comparación con otros algoritmos. Otro clasificador relativamente rápido que consideramos es la máquina de vectores de soporte, específicamente la lineal. Al incluir estos clasificadores, nuestro objetivo es comparar varias configuraciones de hiperparámetros.
Es importante tener en cuenta que los clasificadores basados en árboles de decisión, como el propio árbol de decisión y el clasificador de bosque aleatorio, no requieren escalado de parámetros. Por lo tanto, solo realizamos escalas para los otros clasificadores. Para facilitar esto, utilizamos tuberías, que combinan el escalador estándar con el clasificador respectivo. Por lo tanto, la canalización puede verse como el clasificador en sí. Para cada clasificador, definimos una grilla de hiperparámetros que buscaremos. Estas cuadrículas contienen los parámetros que queremos ajustar para cada clasificador. Por ejemplo, en la regresión logística, consideramos la penalización del peso de la regularización y diferentes puntos fuertes de la regularización. Los vecinos más cercanos implican considerar el número de vecinos más cercanos y la distancia.
En el cuaderno "verbose_one", después de definir los clasificadores y sus respectivas cuadrículas de hiperparámetros, pasamos a configurar los bucles externo e interno para la validación cruzada anidada.
El bucle externo utiliza una validación cruzada estratificada de k-fold para dividir el conjunto de datos en conjuntos de entrenamiento y prueba. Itera sobre los pliegues y realiza un seguimiento del índice de pliegue, los índices de entrenamiento y los índices de prueba. Para cada pliegue, los datos de entrenamiento se dividen aún más en conjuntos de entrenamiento y validación para el bucle interno.
El bucle interno realiza la selección del modelo o el ajuste de hiperparámetros mediante la búsqueda en cuadrícula. Itera sobre la cuadrícula de hiperparámetros para cada clasificador y utiliza los conjuntos de entrenamiento y validación del ciclo externo para encontrar los mejores hiperparámetros para cada combinación. La búsqueda de cuadrícula busca exhaustivamente la cuadrícula de hiperparámetros especificada y evalúa el rendimiento de cada combinación mediante la validación cruzada.
Una vez que se completa el ciclo interno, se registran los mejores hiperparámetros para cada clasificador. Luego, el desempeño de los modelos seleccionados se evalúa en el conjunto de prueba, que se reservó al principio. Las métricas de evaluación, como exactitud, precisión, recuperación y puntaje F1, se calculan para cada clasificador.
Finalmente, se muestran los resultados de la validación cruzada anidada y la evaluación del conjunto de pruebas, lo que le permite comparar el rendimiento de diferentes clasificadores y sus configuraciones de hiperparámetros.
Es importante tener en cuenta que los cuadernos "verbose_two" y "compact" brindan implementaciones alternativas de validación cruzada anidada mediante la función cross_validate y la función cross_val_score, respectivamente. Estas funciones manejan algunos de los pasos de validación cruzada automáticamente, simplificando el código. Sin embargo, pueden proporcionar información menos detallada en comparación con el cuaderno "verbose_one".
Espero que esta descripción general lo ayude a comprender los ejemplos de código y cómo se implementa la validación cruzada anidada. Siéntase libre de explorar los cuadernos y experimentar con diferentes conjuntos de datos y clasificadores para comprender mejor el concepto.
12.0 Descripción general de la clase (L12 Model Eval 5: Métricas de rendimiento)
12.0 Descripción general de la clase (L12 Model Eval 5: Métricas de rendimiento)
Hola a todos,
Espero que todos hayan tenido un maravilloso descanso de Acción de Gracias y hayan podido relajarse y recargar energías antes de las últimas semanas del semestre. Si bien es lamentable que el semestre esté llegando a su fin, todavía hay mucho que esperar, en particular las presentaciones de sus proyectos. Estoy emocionado de ver lo que ha creado en función del contenido que cubrimos en esta clase y ser testigo de la creatividad y la aplicación de su conocimiento de aprendizaje automático.
En las próximas dos semanas, tengo algunos planes para el tiempo que nos queda juntos. Esta semana, cubriré la evaluación del modelo y me centraré en cinco métricas de rendimiento y evaluación. El objetivo es ampliar su perspectiva más allá de la precisión y los errores de clasificación. Exploraremos varias métricas que pueden ayudar a evaluar los modelos de aprendizaje automático de manera efectiva. No anticipo que este tema tome mucho tiempo, así que si tenemos más tiempo, también tocaré la selección de funciones. Anteriormente compartí material de autoaprendizaje sobre este tema, ya que sabía que tal vez no tuviéramos tiempo para cubrirlo extensamente. Quiero ser consciente de los desafíos que plantea el aprendizaje en línea y no abrumarlo con demasiados temas en un período breve. Entiendo que todos ustedes tienen mucho en sus planes, incluida la Tarea 3, que vence el 4 de diciembre, y sus presentaciones de proyectos en formato de video el 6 de diciembre.
Con respecto a las presentaciones de proyectos, la próxima semana crearé páginas de Canvas donde puede insertar sus presentaciones. Además, configuraré un formato de cuestionario para votar los premios del proyecto, incluido el proyecto más creativo, la mejor presentación oral y la mejor visualización. Estos premios serán determinados por sus votos. Creo que agregará un elemento de diversión al proceso. Organizaré todo para la próxima semana, lo que significa que no habrá conferencias. Sin embargo, recomiendo enfáticamente que todos vean las presentaciones del proyecto. Se otorgarán puntos por completar encuestas relacionadas con las presentaciones. También es justo ver las presentaciones de los demás, ya que todos se esfuerzan mucho. Podemos tener discusiones y hacer preguntas en Piazza o explorar otras plataformas que permitan la interacción. Consideraré la mejor manera de facilitar este compromiso.
Antes de sumergirnos en la lección de hoy, quiero recordarles acerca de las evaluaciones del curso. Nuestro departamento solicitó que proporcione comentarios sobre cómo le fue en el semestre. Este año ha sido diferente debido al formato en línea, por lo que sus ideas serán valiosas. Publicaré los enlaces para las evaluaciones del curso en Canvas. Sería muy apreciado si pudiera tomarse el tiempo para completarlos. Sin embargo, quiero enfatizar que no hay penalización si elige no completarlos. Es simplemente una solicitud para recopilar sus comentarios.
Dicho esto, comencemos con la Lección 5 sobre métricas de desempeño y evaluación. Hemos recorrido un largo camino en la evaluación de modelos, comenzando con descomposiciones de varianza de sesgo para comprender el ajuste excesivo y el ajuste insuficiente. Exploramos el método de retención para la división de conjuntos de datos y sus dificultades, construyendo intervalos de confianza utilizando el método de aproximación normal, técnicas de remuestreo como retención repetida y arranque, y validación cruzada para la selección de modelos. La semana pasada, discutimos las pruebas estadísticas para las comparaciones de modelos y algoritmos, incluida la validación cruzada anidada. Hoy, nuestro enfoque estará en las métricas de evaluación.
Comenzaremos discutiendo la matriz de confusión, que difiere de la matriz de confusión de McNemar cubierta la semana pasada. De la matriz de confusión, podemos derivar métricas como la tasa de falsos positivos, la tasa de verdaderos positivos y otras, que serán útiles cuando profundicemos en la característica operativa del receptor. Además, exploraremos la precisión, la recuperación, la puntuación F1, el coeficiente de correlación de Matthews y la precisión equilibrada. Este último es particularmente útil en los casos en que existen desequilibrios de clase dentro del conjunto de datos. Hacia el final, abordaremos la extensión de las métricas binarias a la configuración multiclase, con la excepción de la precisión equilibrada, que ya es compatible con la clasificación multiclase.
En el próximo video, comenzaremos nuestra discusión con la matriz de confusión.
12.1 Matriz de confusión (L12 Model Eval 5: Performance Metrics)
12.1 Matriz de confusión (L12 Model Eval 5: Performance Metrics)
Comencemos discutiendo la matriz de confusión y su significado. En la conferencia, el orador mencionó que no prepararon notas de la conferencia debido a varias razones, como el final ocupado del semestre y haber cubierto el tema en un libro de aprendizaje automático de Python. Sugirieron consultar el Capítulo 6 del libro para obtener más detalles.
La matriz de confusión es una herramienta utilizada para evaluar el rendimiento de un clasificador de aprendizaje automático. Muestra la comparación entre las etiquetas de clase pronosticadas y las etiquetas de clase reales en un problema de clasificación supervisado. La matriz nos ayuda a comprender qué tan bien está funcionando el clasificador y qué etiquetas de clase tiende a confundir.
La matriz de confusión generalmente se representa en un formato de dos por dos, también conocido como matriz de contingencia. Consta de cuatro componentes: verdaderos positivos (TP), falsos negativos (FN), falsos positivos (FP) y verdaderos negativos (TN). La clase "positiva" se refiere a la clase de interés que queremos predecir, mientras que la clase "negativa" se refiere a la otra clase.
Los verdaderos positivos (TP) son las instancias que pertenecen a la clase positiva y están correctamente identificadas como tales por el clasificador. Por otro lado, los falsos negativos (FN) son instancias de la clase positiva que se predicen incorrectamente como negativas.
De manera similar, los falsos positivos (FP) son instancias de la clase negativa que se pronostican incorrectamente como positivas. Por último, los verdaderos negativos (TN) son instancias de la clase negativa que se identifican correctamente como negativas.
Al analizar estos componentes, podemos calcular varias métricas de rendimiento. La conferencia mencionó dos métricas comunes: precisión de clasificación y error de clasificación. La precisión de la clasificación se calcula dividiendo la suma de verdaderos positivos y verdaderos negativos por el número total de predicciones. Por otro lado, el error de clasificación se calcula como uno menos la precisión.
Luego, el orador presentó el conjunto de datos de Wisconsin sobre el cáncer de mama, que contiene información sobre los diagnósticos de cáncer de mama. Explicaron que el conjunto de datos tiene varias columnas, incluido un número de identificación para cada paciente y características extraídas de imágenes digitalizadas de núcleos de células cancerosas.
Para preparar el conjunto de datos para la clasificación, el orador usó un codificador de etiquetas de scikit-learn para transformar las etiquetas de clases de cadenas (malignas y benignas) en etiquetas de números enteros (0 y 1). Dividieron el conjunto de datos en un conjunto de entrenamiento (80%) y un conjunto de prueba (20%).
A continuación, el disertante demostró cómo trazar una matriz de confusión usando un clasificador vecino más cercano k. Hicieron hincapié en la importancia del escalado de características para los clasificadores KNN y mencionaron el uso de un escalar estándar y una canalización para el preprocesamiento.
Para visualizar la matriz de confusión, el orador usó la función confusion_matrix de la biblioteca mlxtend. La matriz de confusión resultante se mostró usando matplotlib, con los verdaderos positivos en la esquina inferior derecha y los verdaderos negativos en la esquina superior izquierda.
Además, el orador mencionó algunos parámetros opcionales de la función confusion_matrix, como show_absolute y show_normed. Estos parámetros permiten la personalización de la visualización, incluida la visualización de los números absolutos o los valores normalizados.
Finalmente, el orador discutió las métricas derivadas de la matriz de confusión, como la tasa de verdaderos positivos, la tasa de falsos positivos, la tasa de falsos negativos y la tasa de verdaderos negativos. Estas métricas son importantes para evaluar el rendimiento del clasificador y se explorarán más en relación con la curva característica del operador del receptor (ROC) en discusiones posteriores.
En general, la matriz de confusión proporciona información valiosa sobre el rendimiento de un clasificador, lo que nos permite evaluar su capacidad para predecir correctamente las etiquetas de clase.
12.2 Precisión, recuperación y puntuación F1 (Evaluación del modelo L12 5: métricas de rendimiento)
12.2 Precisión, recuperación y puntuación F1 (Evaluación del modelo L12 5: métricas de rendimiento)
En el video anterior, discutimos la matriz de confusión, que es una herramienta útil para evaluar modelos de clasificación. Nos permite calcular el número de verdaderos positivos, falsos positivos, verdaderos negativos y falsos negativos. También exploramos la tasa positiva verdadera y la tasa negativa verdadera. Ahora, ampliaremos nuestra comprensión introduciendo tres métricas adicionales: precisión, recuperación y puntaje F1.
Comencemos con la precisión. La precisión se calcula dividiendo el número de verdaderos positivos por la suma de verdaderos positivos y falsos positivos. Los verdaderos positivos son las instancias que se pronostican correctamente como positivas, mientras que los falsos positivos son las instancias que se pronostican incorrectamente como positivas. En el contexto de la clasificación de spam, por ejemplo, los verdaderos positivos representan los correos electrónicos correctamente identificados como spam, mientras que los falsos positivos se refieren a los correos electrónicos que no son spam clasificados incorrectamente como spam. La precisión mide la exactitud de las predicciones positivas y responde a la pregunta: ¿Cuántos de los correos electrónicos no deseados predichos son realmente spam?
A continuación, tenemos el recuerdo, que también se conoce como la tasa de verdaderos positivos. La recuperación se calcula dividiendo el número de verdaderos positivos por la suma de verdaderos positivos y falsos negativos. Los verdaderos positivos representan las instancias predichas correctamente como positivas y los falsos negativos representan las instancias predichas incorrectamente como negativas. La recuperación indica cuántos de los casos positivos reales se identificaron correctamente como positivos. En otras palabras, mide la efectividad de un clasificador para capturar instancias positivas.
Otra métrica importante es la puntuación F1, que combina precisión y recuperación en un solo valor. Se calcula tomando la media armónica de precisión y recuperación, ponderada por un factor de dos. La puntuación F1 proporciona una medida equilibrada del rendimiento de un clasificador, teniendo en cuenta tanto la precisión como la recuperación. Es especialmente útil cuando queremos evaluar un modelo que funciona bien tanto en precisión como en recuperación.
Todas estas métricas tienen un rango entre cero y uno, siendo uno el mejor valor posible. En términos de terminología, la sensibilidad y la especificidad se usan más comúnmente en biología computacional, mientras que la precisión y la recuperación son populares en tecnología de la información, ciencias de la computación y aprendizaje automático. Al elegir qué métricas usar en un artículo o estudio, es importante tener en cuenta las convenciones del campo específico.
Para comprender mejor la precisión y la recuperación, visualicémoslos usando un diagrama útil de Wikipedia. En esta visualización, consideramos la clase positiva (por ejemplo, correos electrónicos no deseados) como todo lo que está a la izquierda y la clase negativa como todo lo que está a la derecha. La precisión está representada por los verdaderos positivos divididos por todos los positivos predichos, mientras que el recuerdo está representado por los verdaderos positivos divididos por todos los positivos reales.
Además, tenemos otras dos métricas de uso común: sensibilidad y especificidad. La sensibilidad es otro término para recordar, que representa la verdadera tasa positiva. La especificidad, por otro lado, es el número de verdaderos negativos dividido por el número de negativos. Complementa la sensibilidad y se enfoca en la identificación precisa de instancias negativas.
Ahora, analicemos el coeficiente de correlación de Matthews. Inicialmente diseñado para evaluar las predicciones de estructura secundaria de proteínas en biología, este coeficiente mide la correlación entre las etiquetas verdaderas y predichas. Puede considerarse como una contrapartida de clasificación binaria al coeficiente de correlación de Pearson. Similar a la r de Pearson, el coeficiente de correlación de Matthews varía de -1 a 1, donde 1 indica una coincidencia perfecta entre las etiquetas verdaderas y predichas. Es particularmente útil en problemas de clases desequilibradas, donde una clase tiene significativamente más ejemplos que la otra.
Para calcular estas métricas, puede usar funciones proporcionadas por scikit-learn, como precision_score, replace_score, f1_score y matthews_corrcoef. Estas funciones toman las etiquetas verdaderas y las etiquetas predichas como entradas y devuelven los valores métricos correspondientes. Como alternativa, puede utilizar estas métricas en la búsqueda de cuadrículas y el ajuste de hiperparámetros, proporcionando la métrica deseada como un argumento de cadena.
Para problemas de varias clases, cuando desea utilizar métricas como precisión, recuperación, puntaje F1 o coeficiente de correlación de Matthews, debe aplicar una solución alternativa. Un enfoque es utilizar la función make_scorer de scikit-learn. Esta función le permite crear un objeto de puntuación para una métrica específica.
Por ejemplo, si desea utilizar la puntuación F1 para un problema de varias clases, puede crear un objeto de puntuación utilizando make_scorer y establecer el parámetro promedio en "macro" o "micro". La opción "macro" calcula la métrica de forma independiente para cada clase y luego toma el promedio, mientras que la opción "micro" considera el número total de verdaderos positivos, falsos negativos y falsos positivos en todas las clases.
Es importante tener en cuenta que la elección entre el promedio "macro" y "micro" depende del problema y los requisitos específicos de su análisis.
Además de usar estas métricas individualmente, también puede aplicarlas en la búsqueda de cuadrículas y el ajuste de hiperparámetros. En lugar de utilizar la precisión de la clasificación como métrica de puntuación, puede proporcionar la métrica deseada como un argumento de cadena en el proceso de búsqueda de cuadrícula. Esto le permite optimizar su modelo en función de la métrica elegida, proporcionando una evaluación más completa que solo confiar en la precisión.
Recuerde que cuando trabaje con problemas de varias clases y aplique estas métricas, es crucial comprender las opciones de promedio y elegir el método adecuado en función de sus necesidades específicas.
En resumen, en este video, cubrimos métricas de evaluación adicionales para modelos de clasificación, incluida la precisión, el recuerdo, la puntuación F1 y el coeficiente de correlación de Matthews. Estas métricas brindan información valiosa sobre el rendimiento de un clasificador, considerando factores como verdaderos positivos, falsos positivos y falsos negativos. Al usar estas métricas, puede obtener una comprensión más profunda de qué tan bien está funcionando su modelo y tomar decisiones informadas en su análisis o investigación. En el próximo video, profundizaremos en la precisión equilibrada, las curvas de características operativas del receptor (ROC) y la extensión de las métricas binarias a configuraciones de varias clases, ampliando nuestro conocimiento de las técnicas de evaluación en las tareas de clasificación.
12.3 Precisión equilibrada (L12 Model Eval 5: Métricas de rendimiento)
12.3 Precisión equilibrada (L12 Model Eval 5: Métricas de rendimiento)
Muy bien, profundicemos ahora en el concepto de precisión equilibrada, que es particularmente útil cuando se trata de problemas de desequilibrio de clases en tareas de clasificación. El desequilibrio de clases ocurre cuando una clase tiene una cantidad significativamente mayor de etiquetas que otra clase. Para ilustrar esto, consideremos un problema de clasificación de clases múltiples usando el ejemplo de las flores de Iris, específicamente Iris setosa, Iris versicolor e Iris virginica.
Por lo general, calculamos la precisión de la predicción sumando los valores en la diagonal de la matriz de confusión y dividiéndolos por el número total de ejemplos. En el ejemplo dado, tenemos 3 etiquetas para Clase cero, 769 etiquetas para Clase uno y 18 etiquetas para Clase dos. Como puede ver, existe un desequilibrio en las clases, ya que la Clase Uno tiene una mayor cantidad de ejemplos en comparación con las otras dos clases. Si calculamos la precisión regular, sería de alrededor del 80%, influenciado principalmente por la gran cantidad de ejemplos de Clase Uno.
Sin embargo, es posible que la precisión regular no proporcione una representación precisa del rendimiento del modelo, especialmente cuando el enfoque debe estar en lograr predicciones equilibradas para todas las clases. En tales casos, la métrica de precisión equilibrada tiene como objetivo proporcionar una evaluación más equitativa al otorgar el mismo peso a cada clase.
Para calcular la precisión equilibrada, consideramos cada clase como la clase positiva y fusionamos las clases restantes en la clase negativa. Por ejemplo, centrémonos primero en la Clase Cero. Tratamos a la Clase Cero como la clase positiva y combinamos la Clase Uno y la Clase Dos como la clase negativa. Al analizar la matriz de confusión, podemos determinar los verdaderos positivos, verdaderos negativos, falsos positivos y falsos negativos para la Clase Cero. Este proceso se repite para cada clase, creando problemas de clasificación binaria separados.
En Python, puede usar la función precision_score de la biblioteca mlxtend para calcular la precisión equilibrada. Esta función funciona de manera similar a precision_score de scikit-learn, pero incluye una funcionalidad adicional para calcular la precisión de la clasificación binaria. Al especificar el método como binario y proporcionar la etiqueta positiva, puede calcular la precisión binaria para cada clase. Además, puede usar el parámetro promedio como "macro" o "micro" para calcular la precisión promedio por clase directamente.
En el ejemplo proporcionado, se recrea la matriz de confusión y se calculan la precisión regular, la precisión promedio por clase (precisión equilibrada) y las precisiones binarias. Las precisiones binarias corresponden a cada clase tratada como etiqueta positiva por separado. Al promediar las precisiones binarias, obtiene la precisión equilibrada. En este caso, la precisión balanceada es de aproximadamente 86%.
La precisión equilibrada, o la precisión promedio por clase, proporciona una evaluación justa del desempeño de un clasificador en problemas de varias clases con desequilibrio de clases. Considera cada clase por igual y ofrece información sobre la capacidad del modelo para predecir todas las clases con precisión.
Continuando, analicemos ahora la curva de características operativas del receptor (ROC), otra métrica de evaluación importante en el aprendizaje automático. La curva ROC es una representación gráfica del rendimiento de un clasificador binario y proporciona información valiosa sobre el equilibrio entre la tasa de verdaderos positivos (TPR) y la tasa de falsos positivos (FPR) en diferentes umbrales de clasificación.
Para comprender la curva ROC, primero definamos la tasa de verdaderos positivos (TPR) y la tasa de falsos positivos (FPR). TPR, también conocido como sensibilidad o recuerdo, mide la proporción de instancias positivas reales que el clasificador identifica correctamente. Se calcula como el número de verdaderos positivos dividido por la suma de verdaderos positivos y falsos negativos:
TPR = Verdaderos Positivos / (Verdaderos Positivos + Falsos Negativos)
Por otro lado, la tasa de falsos positivos (FPR) mide la proporción de instancias negativas reales que se clasifican incorrectamente como positivas. Se calcula como el número de falsos positivos dividido por la suma de falsos positivos y verdaderos negativos:
FPR = Falsos Positivos / (Falsos Positivos + Verdaderos Negativos)
Para construir la curva ROC, las predicciones del clasificador se clasifican según sus puntajes de clasificación o probabilidades. Al variar el umbral de clasificación, podemos generar diferentes valores de TPR y FPR. A partir del umbral que clasifica todas las instancias como positivas (lo que da como resultado un TPR de 1 y un FPR de 1), disminuimos gradualmente el umbral, clasificando menos instancias como positivas y, en consecuencia, reduciendo tanto el TPR como el FPR.
Trazar la TPR contra la FPR para cada valor de umbral nos da la curva ROC. La curva ilustra el rendimiento del clasificador en varios puntos operativos, siendo el escenario ideal una curva que abraza la esquina superior izquierda, lo que indica un TPR alto y un FPR bajo para todos los valores de umbral.
Además de la curva ROC, otra métrica importante derivada de ella es el Área bajo la curva ROC (AUC-ROC). El AUC-ROC cuantifica el rendimiento general del clasificador calculando el área bajo la curva ROC. Un clasificador perfecto tiene un AUC-ROC de 1, lo que indica que logra un TPR de 1 mientras mantiene un FPR de 0. Por el contrario, un clasificador aleatorio tiene un AUC-ROC de 0,5, ya que no funciona mejor que el azar.
La curva ROC y AUC-ROC proporcionan un análisis exhaustivo del rendimiento de un clasificador binario, independientemente del umbral de clasificación elegido. Nos permite comparar diferentes clasificadores o diferentes configuraciones del mismo clasificador, lo que permite tomar decisiones informadas sobre la selección del modelo.
Para calcular la curva ROC y AUC-ROC en Python, varias bibliotecas como scikit-learn ofrecen funciones convenientes. Estas funciones toman las etiquetas verdaderas y las probabilidades o puntajes pronosticados como entradas y devuelven el FPR, TPR y los umbrales para la curva ROC, así como el valor AUC-ROC.
En resumen, la curva ROC y AUC-ROC son herramientas valiosas para evaluar y comparar el rendimiento de los clasificadores binarios. Brindan información sobre el equilibrio entre las tasas de verdaderos positivos y falsos positivos en diferentes umbrales de clasificación, lo que permite una toma de decisiones informada en la selección del modelo.
12.4 Características de funcionamiento del receptor (Modelo L12 Eval 5: Métricas de rendimiento)
12.4 Características de funcionamiento del receptor (Modelo L12 Eval 5: Métricas de rendimiento)
El tema de discusión gira en torno a la curva característica operativa del receptor (ROC). Esta curva, también conocida como curva característica operativa del receptor (ROC), puede sonar como un trabalenguas debido a su nombre complejo. El término "característica operativa del receptor" se origina en el campo de los operadores de receptores de radar que trabajaron con tecnologías como la determinación de la dirección de radio. Inicialmente, se utilizó en este contexto. Sin embargo, ha ganado popularidad en el campo del aprendizaje automático debido a su capacidad para combinar dos métricas esenciales: la tasa de verdaderos positivos y la tasa de falsos positivos.
La curva ROC se construye variando el umbral de predicción. Para ilustrar esto, consideremos un ejemplo. En problemas de clasificación binaria, tenemos dos clases: Clase cero y Clase uno. En lugar de tener una simple decisión de clasificación binaria, podemos asignar una probabilidad de membresía de clase a cada ejemplo. Esta probabilidad se puede determinar utilizando varios clasificadores, como la regresión logística, los k vecinos más cercanos o los árboles de decisión. Por ejemplo, en el caso de k-vecinos más cercanos, la probabilidad de pertenencia a la clase se puede calcular como la proporción de las ocurrencias de una clase sobre la otra en la vecindad.
Consideremos un ejemplo usando el algoritmo de k-vecinos más cercanos. Supongamos que tenemos un conjunto de vecinos y queremos determinar la probabilidad de pertenencia a la clase para un ejemplo específico. Si observamos que de los cinco vecinos más cercanos, tres pertenecen a la clase cero y dos pertenecen a la clase uno, la probabilidad de pertenencia a la clase para la clase cero se calcularía como 3/5, que es 0,6, y para la clase uno como 2/5. , que es 0,4. Estas probabilidades se pueden ajustar en función de un umbral.
El umbral representa el punto en el que tomamos la decisión entre Clase Cero y Clase Uno. Por ejemplo, si establecemos el umbral en 0,5, cualquier probabilidad por encima de 0,5 se clasificaría como Clase Uno, y cualquier probabilidad por debajo de 0,5 se clasificaría como Clase Cero. En la regresión logística, 0,5 se usa comúnmente como umbral. Sin embargo, el umbral puede ser arbitrario y depende de nuestros objetivos, si queremos optimizar para la tasa de verdaderos positivos, la tasa de falsos positivos o cualquier otro criterio. La elección del umbral también incluye una regla de desempate, como seleccionar la clase más baja en caso de empate.
La curva de características operativas del receptor (ROC) ilustra el rendimiento de un clasificador al trazar la tasa de verdaderos positivos (TPR) en el eje y y la tasa de falsos positivos (FPR) en el eje x. Cada punto de la curva corresponde a un valor de umbral diferente. Al cambiar el umbral, podemos observar cómo se ve afectado el rendimiento del clasificador en términos de la tasa de verdaderos positivos y la tasa de falsos positivos. La curva representa la sensibilidad del clasificador a diferentes valores de umbral, lo que nos permite analizar su comportamiento de manera integral.
En términos de precisión, generalmente usamos un umbral fijo, como 0.5, para determinar la asignación de clase. Sin embargo, para la curva característica operativa del receptor, exploramos la sensibilidad del clasificador cambiando el umbral. Al hacerlo, podemos evaluar el impacto de los distintos umbrales en la tasa de falsos positivos y la tasa de verdaderos positivos. La curva muestra diferentes puntos correspondientes a diferentes umbrales, como 0,3, 0,4, 0,5, 0,6, etc. Cada punto de la curva representa el rendimiento del clasificador para un umbral específico.
Ahora, profundicemos en el concepto de umbral y su relación con la probabilidad de pertenencia a la clase. Anteriormente, vimos una figura que representaba una característica en el eje x y el límite de decisión se desplazaba. Sin embargo, esto fue simplemente una abstracción para ayudar a comprender. En realidad, el eje x representa la probabilidad de pertenecer a una clase.
Entonces, continuando desde donde lo dejamos, explicaré más el fragmento de código. Después de calcular las probabilidades para la clase uno, usamos la función roc_curve de scikit-learn para calcular la tasa de falsos positivos (fpr) y la tasa de verdaderos positivos (tpr) para diferentes umbrales. La función roc_curve toma las etiquetas verdaderas (y_true) y las probabilidades pronosticadas (y_scores) como entradas y devuelve fpr, tpr y umbrales.
A continuación, usamos la función roc_auc_score para calcular el área bajo la curva característica operativa del receptor (AUC-ROC). Esta métrica proporciona un valor único que resume el rendimiento del clasificador en todos los umbrales posibles. Un AUC-ROC más alto indica un mejor rendimiento de clasificación. Calculamos el AUC-ROC para los conjuntos de entrenamiento y prueba por separado.
Finalmente, trazamos la curva ROC usando Matplotlib. El gráfico muestra la curva ROC para el conjunto de entrenamiento en azul y el conjunto de prueba en naranja. También agregamos etiquetas y una leyenda a la trama para una mejor interpretación.
Al visualizar las curvas ROC y calcular el AUC-ROC, podemos evaluar el rendimiento del clasificador y compararlo entre los conjuntos de entrenamiento y prueba. Si el AUC-ROC está cerca de 1, indica un buen clasificador con una alta tasa de verdaderos positivos y una baja tasa de falsos positivos. Por otro lado, un AUC-ROC cercano a 0,5 sugiere un clasificador aleatorio o ineficaz.
En resumen, el fragmento de código demuestra cómo utilizar la curva característica operativa del receptor (ROC) y el área bajo la curva (AUC) como métricas de evaluación para un problema de clasificación binaria. La curva ROC visualiza el equilibrio entre la tasa de verdaderos positivos y la tasa de falsos positivos en diferentes umbrales de predicción, mientras que AUC-ROC proporciona un valor único para cuantificar el rendimiento del clasificador.
12.5 Ampliación de la métrica binaria a problemas multiclase (Evaluación del modelo L12 5: métricas de rendimiento)
12.5 Ampliación de la métrica binaria a problemas multiclase (Evaluación del modelo L12 5: métricas de rendimiento)
En esta clase, discutimos varios clasificadores que se pueden extender para trabajar con configuraciones de varias clases. Los árboles de decisión, los k vecinos más cercanos, el aumento de gradiente, los bosques aleatorios y otros clasificadores manejan de forma natural los problemas de varias clases. Sin embargo, puede encontrar clasificadores como la regresión logística o las máquinas de vectores de soporte que son más adecuadas para la clasificación binaria. En tales casos, necesitamos encontrar formas de extender estos clasificadores binarios para manejar múltiples clases.
Un enfoque es la estrategia "uno contra el resto" o "uno contra todos", también conocida como OvR u OvA. Este enfoque implica dividir el problema de clases múltiples en problemas de clasificación binaria separados. Cada clase se trata como la clase positiva en un clasificador binario, mientras que las clases restantes se tratan como la clase negativa. Por ejemplo, si tenemos tres clases (círculos amarillos, cuadrados rojos y triángulos azules), creamos tres clasificadores binarios: uno para clasificar los círculos amarillos frente al resto, uno para los cuadrados rojos frente al resto y otro para los triángulos azules frente al resto. descansar. Durante el entrenamiento, ajustamos los tres clasificadores, y durante la predicción, ejecutamos los tres clasificadores y elegimos el que tiene la puntuación de confianza más alta.
Otro enfoque es la estrategia de "uno contra uno", donde ajustamos un clasificador binario para cada par de clases. Si tenemos tres clases, tendríamos tres clasificadores binarios: uno para clasificar círculos amarillos frente a cuadrados rojos, uno para círculos amarillos frente a triángulos azules y otro para cuadrados rojos frente a triángulos azules. Durante la predicción, ejecutamos todos los clasificadores y usamos la votación por mayoría para determinar la etiqueta de clase final.
Tanto las estrategias OvR como OvO nos permiten extender los clasificadores binarios para manejar problemas de clases múltiples. Sin embargo, OvO puede ser computacionalmente costoso, especialmente cuando el número de clases es grande, ya que requiere el ajuste de múltiples clasificadores.
Al evaluar el rendimiento de los clasificadores de varias clases, necesitamos ampliar las métricas de clasificación binaria para manejar varias clases. Dos enfoques comunes para hacer esto son los promedios micro y macro. El micropromedio implica calcular la precisión, la recuperación y la puntuación F1 agregando los verdaderos positivos y los falsos positivos de todas las clases. El promedio macro implica calcular la precisión, la recuperación y la puntuación F1 para cada clase por separado y luego promediarlos. El promedio micro trata cada instancia o predicción por igual, mientras que el promedio macro pondera todas las clases por igual. Además, existe el enfoque ponderado, que considera el desequilibrio de clases teniendo en cuenta el número de instancias verdaderas para cada etiqueta.
En scikit-learn, puede especificar el método de promedio (micro, macro o ponderado) al usar métricas de clasificación como precisión, recuperación y puntaje F1. Por ejemplo, puede usar promedio='micro' o promedio='macro' para calcular la métrica promedio micro o macro, respectivamente. También está la característica operativa del receptor (ROC) y la puntuación del área bajo la curva (AUC), que se pueden calcular mediante la función roc_auc_score. El método de promedio predeterminado para ROC AUC es macro.
Lidiar con el desequilibrio de clases es otro desafío en la clasificación multiclase. Se pueden utilizar técnicas como el sobremuestreo y el submuestreo para abordar este problema. La biblioteca de aprendizaje desequilibrado proporciona métodos adicionales para manejar el desequilibrio de clases y es compatible con scikit-learn.
En general, la evaluación de modelos en la clasificación de clases múltiples implica la extensión de clasificadores binarios, la elección de métodos de promedio apropiados para las métricas de evaluación y la consideración del desequilibrio de clases. Si bien no pudimos cubrir todos los detalles en esta clase, hay recursos como la documentación de la biblioteca de aprendizaje desequilibrado que brindan más información sobre estos temas.
13.0 Introducción a la selección de funciones (L13: Selección de funciones)
13.0 Introducción a la selección de funciones (L13: Selección de funciones)
¡Hola a todos! Espero que todos hayan tenido un semestre productivo y hayan obtenido un conocimiento valioso de esta clase. Entiendo que este semestre ha sido bastante intenso para la mayoría de nosotros, por lo que no quería agregar más estrés al abrumarlos con contenido adicional. Sin embargo, me disculpo por no poder cubrir ciertos temas como se prometió en el plan de estudios. Para compensarlo, he preparado algunas conferencias adicionales durante las vacaciones de invierno, a partir de hoy.
En esta serie de videos, me enfocaré en la reducción de la dimensionalidad, específicamente en dos métodos: selección de características y extracción de características. Estas técnicas son increíblemente útiles e importantes de entender. En la lección de hoy, nos sumergiremos en la selección de características, explorando cómo funciona, por qué es esencial y sus aplicaciones prácticas. En el próximo conjunto de videos, cubriremos la extracción de funciones como un enfoque alternativo.
Antes de profundizar en los detalles de la selección y extracción de funciones, analicemos brevemente el concepto de reducción de dimensionalidad y por qué es importante. La reducción de dimensionalidad tiene como objetivo reducir la cantidad de características en un conjunto de datos. Por ejemplo, considere el conocido conjunto de datos Iris, que consta de cuatro características: longitud del sépalo, anchura del sépalo, longitud del pétalo y anchura del pétalo. En la selección de características, elegimos un subconjunto de estas características, como el ancho del sépalo y la longitud del pétalo, para usar en nuestros algoritmos de aprendizaje automático. Por otro lado, la extracción de características implica la creación de nuevas características a través de técnicas como transformaciones lineales. El análisis de componentes principales (PCA) es uno de esos métodos que combina múltiples características en un espacio de características más pequeño.
En esta serie de conferencias, nuestro enfoque principal es la selección de características, donde seleccionamos características originales del conjunto de datos. La reducción de la dimensionalidad, en general, implica la creación de espacios de funciones más pequeños. Ahora, ¿por qué nos preocupamos por estos espacios de características de dimensiones más pequeñas? Exploremos algunas razones:
Maldición de la dimensionalidad: los clasificadores de aprendizaje automático a menudo tienen dificultades a medida que aumenta la cantidad de características. Pueden sufrir de sobreajuste, en particular algoritmos como K-vecinos más cercanos y árboles de decisión. Reducir el conjunto de funciones puede mejorar el rendimiento de dichos algoritmos.
Eficiencia computacional: grandes conjuntos de datos con numerosas características pueden ser computacionalmente costosos de procesar. Al reducir el conjunto de funciones, podemos mejorar el rendimiento computacional sin sacrificar el rendimiento predictivo.
Recopilación de datos más sencilla: a veces, un subconjunto de funciones más simple puede generar un rendimiento similar en comparación con un subconjunto de funciones más grande. Esto puede hacer que la recopilación de datos sea más fácil y rentable, ya que la recopilación de ciertas características puede ser más barata o más accesible.
Espacio de almacenamiento: almacenar grandes cantidades de datos puede ser un desafío y costoso. Las técnicas de selección y extracción de características ayudan a reducir la dimensionalidad de los datos, haciendo que el almacenamiento sea más factible y eficiente.
Interpretabilidad: comprender las características puede ayudar a interpretar algoritmos complejos de aprendizaje automático. Es especialmente crucial en dominios donde se requieren explicaciones, como las solicitudes de tarjetas de crédito de los clientes, donde los clientes tienen derecho a conocer la base de las decisiones tomadas por los sistemas automatizados.
Para resumir, la reducción de la dimensionalidad se puede dividir en dos subproblemas: selección de características y extracción de características. En la lección de hoy, nos centraremos en la selección de características. En la próxima lección, discutiremos la extracción de características con más detalle.
Para ilustrar la importancia de la selección de características, permítanme compartir un ejemplo de un proyecto de colaboración con bioquímicos que estudian peces lamprea marina. El objetivo era encontrar un inhibidor federal del receptor de mon para controlar la población de lampreas marinas en los Grandes Lagos. Utilizamos la selección de características para comprender qué características moleculares eran cruciales. Al evaluar el rendimiento de diferentes subconjuntos de funciones mediante un clasificador de aprendizaje automático, descubrimos que ciertas funciones simples, como la cantidad de oxígenos de azufre, eran muy informativas. Agregar más funciones no mejoró significativamente el rendimiento, lo que indica que estas funciones simples fueron las más importantes para nuestra tarea de clasificación. Este conocimiento nos guió en la detección de millones de moléculas y, finalmente, en encontrar un compuesto que mostró una inhibición prometedora.
En la señal de feromonas en un porcentaje significativo usando solo las características seleccionadas. Este ejemplo demuestra el poder de la selección de características para identificar componentes o características clave que contribuyen al resultado deseado.
Ahora, profundicemos en la selección de características y su relevancia. La selección de funciones es una subcategoría de la reducción de la dimensionalidad, cuyo objetivo es reducir la cantidad de funciones o variables en un conjunto de datos mientras se conserva la información relevante y significativa. El objetivo final es simplificar el conjunto de datos y mejorar la eficiencia computacional, la interpretabilidad y el rendimiento predictivo.
Hay varias razones por las que la selección de características es importante y beneficiosa. En primer lugar, la maldición de la dimensionalidad plantea un desafío en el aprendizaje automático. A medida que aumenta la cantidad de características, ciertos algoritmos pueden experimentar una disminución del rendimiento o volverse más propensos al sobreajuste. Al reducir el conjunto de funciones, podemos mitigar estos problemas y mejorar la precisión y confiabilidad de los modelos, especialmente para algoritmos como los vecinos más cercanos K y los árboles de decisión.
En segundo lugar, la eficiencia computacional es una consideración importante cuando se trata de grandes conjuntos de datos. El costo computacional de entrenar y probar modelos de aprendizaje automático aumenta con la cantidad de características. Al seleccionar un subconjunto de funciones relevantes, podemos reducir la carga computacional y acelerar el proceso sin sacrificar el rendimiento.
Además, la selección de características permite una recopilación de datos más sencilla. A veces, un subconjunto simplificado de funciones puede proporcionar un rendimiento predictivo similar en comparación con un conjunto de funciones más grande. Esto es particularmente valioso cuando la recopilación de datos se vuelve desafiante o costosa. Por ejemplo, en el contexto del diagnóstico médico, la identificación de características fáciles de obtener que aún arrojen resultados precisos puede ahorrar recursos y hacer que el proceso sea más accesible para los pacientes.
Además, la selección de funciones ayuda a optimizar el espacio de almacenamiento. Con el crecimiento exponencial de la generación de datos, almacenar y administrar grandes conjuntos de datos se convierte en una preocupación importante. Al seleccionar funciones relevantes, podemos reducir los requisitos de almacenamiento sin comprometer el rendimiento general o la información obtenida de los datos.
Además, la interpretabilidad juega un papel crucial, especialmente cuando se trata de sistemas automatizados o dominios regulados. La selección de características ayuda a identificar las características más influyentes e interpretables, lo que permite una mejor comprensión y explicación del proceso de toma de decisiones. En contextos donde los requisitos legales o éticos exigen explicaciones para las decisiones, la selección de características puede facilitar el cumplimiento y la responsabilidad.
En resumen, la reducción de la dimensionalidad, en particular la selección de características, ofrece numerosas ventajas en varios dominios. Al seleccionar las funciones más informativas, podemos mitigar la maldición de la dimensionalidad, mejorar la eficiencia computacional, simplificar la recopilación de datos, optimizar el espacio de almacenamiento y mejorar la interpretabilidad. Estos beneficios contribuyen a modelos de aprendizaje automático más precisos y eficientes y permiten una comprensión más profunda de problemas complejos.
En las próximas conferencias, exploraremos la extracción de características como otra técnica de reducción de dimensionalidad. La extracción de características implica transformar las características originales en un nuevo conjunto de características a través de métodos como el análisis de componentes principales (PCA). Este proceso nos permite capturar información relevante mientras se reduce la dimensionalidad. Al comprender tanto la selección como la extracción de características, podemos aprovechar la técnica adecuada en función de las características y los requisitos específicos del conjunto de datos y el problema en cuestión.
Entonces, en la próxima lección, profundizaremos en la extracción de características y exploraremos sus técnicas, ventajas y aplicaciones. Estén atentos mientras continuamos nuestro viaje a través del fascinante mundo de la reducción de la dimensionalidad y su impacto en el aprendizaje automático.
13.1 Las diferentes categorías de selección de funciones (L13: Selección de funciones)
13.1 Las diferentes categorías de selección de funciones (L13: Selección de funciones)
En el video anterior, exploramos el concepto de selección de características como una subcategoría de reducción de dimensionalidad. La selección de características implica seleccionar subconjuntos de características de un conjunto de datos para mejorar el rendimiento de los modelos de aprendizaje automático. Discutimos varias motivaciones para la selección de funciones, como mejorar el rendimiento predictivo y la eficiencia computacional, optimizar el espacio de almacenamiento y obtener información sobre los datos.
Ahora, profundicemos en las diferentes categorías de algoritmos de selección de características: métodos de filtro, métodos incrustados y métodos de envoltorio. Los métodos de filtro se enfocan en las propiedades intrínsecas de las características mismas y no involucran un modelo o clasificador. Analizan características en función de sus características individuales, como la varianza o las correlaciones por pares. Por ejemplo, calcular la varianza de una característica ayuda a determinar su utilidad para distinguir entre diferentes ejemplos de entrenamiento. Si los valores de las características se distribuyen a lo largo del eje, indica su importancia. Por otro lado, las características altamente correlacionadas sugieren redundancia y una de ellas puede eliminarse sin perder mucha información. Los métodos de filtro a menudo se denominan estadísticas univariadas o bivariadas, ya que analizan variables individuales o pares.
Los métodos integrados, como su nombre lo indica, incorporan la selección de características dentro del algoritmo de aprendizaje. Estos métodos están integrados en el proceso de optimización del modelo y tienen como objetivo optimizar la función objetivo. Un ejemplo son los árboles de decisión, donde las características se seleccionan internamente mientras crece el árbol. El árbol de decisiones elige la característica que maximiza la ganancia de información en cada división, lo que resulta en la selección de características importantes. Las características no utilizadas en el árbol de decisión final pueden considerarse menos importantes.
Los métodos de envoltura están estrechamente alineados con el objetivo de optimizar el rendimiento predictivo. Estos métodos implican ajustar un modelo a diferentes subconjuntos de características y seleccionar o eliminar características en función del rendimiento del modelo. Al comparar el rendimiento de los modelos entrenados en diferentes subconjuntos de funciones, podemos determinar la importancia de cada función. Por ejemplo, si la eliminación de una función provoca una disminución significativa de la precisión, sugiere que la función es importante para el rendimiento del modelo. Los métodos de envoltorio proporcionan información valiosa sobre la importancia de las características mediante el uso directo de la precisión del modelo.
Si bien los métodos de envoltura ofrecen una selección de funciones precisa, pueden ser costosos desde el punto de vista computacional, especialmente cuando se trata de grandes conjuntos de funciones. El proceso de ajustar modelos a diferentes subconjuntos y evaluar su desempeño puede llevar mucho tiempo. Por el contrario, los métodos de filtro son computacionalmente más eficientes, pero es posible que no proporcionen resultados tan precisos como los métodos de envoltura. La compensación entre precisión y eficiencia computacional es una consideración crucial en la selección de características.
En los próximos videos, profundizaremos en cada categoría de algoritmos de selección de funciones. Exploraremos los métodos de filtro con más detalle, seguidos de los métodos incrustados y los métodos de contenedor. Al comprender estas técnicas, podemos obtener una comprensión integral de la selección de funciones y cómo se puede aplicar para mejorar los modelos de aprendizaje automático.
Estén atentos para el próximo video, donde discutiremos los métodos de filtrado en profundidad.