# Selección de variable

En aprendizaje de máquina y estadística, selección de característica, también conocida como selección de variable, selección de atributo o selección de subconjunto variable, es el proceso de seleccionar un subconjunto de características pertinentes (variables, predictores) para su uso en construcción de modelos. Las técnicas de selección de la característica son utilizadas por cuatro razones:
   * Simplificación de modelos con el fin de hacerlas más sencillas de interpretar para los usuarios/investigadores,
   * Tiempo de entrenamiento más corto,
   * Para evitar la maldición de la dimensión (curse of dimensionality),
   * Generalización realzada por reducir overfitting (formalmente, reducción de varianza)
La premisa central cuando se utiliza una técnica de selección de características es que el dato contiene muchas redundantes o irrelevantes, y así pueden ser removidas sin incurrir en mucha pérdida de la información. Las características redundantes o irrelevantes son dos nociones distintas, pues una característica relevante puede ser redundante en la presencia de otra característica relevante con la que está fuertemente correlacionada.
Las técnicas de selección de características deben ser distinguidas de la extracción de característica, la cual crea características nuevas a partir de funciones de las características originales, mientras que la selección de característica devuelve un subconjunto de las características. Las técnicas de selección de la característica son a menudo utilizadas en dominios donde hay muchas características y comparativamente pocas muestras (o puntos de dato). Los casos arquetípicos para la aplicación de la selección de característica incluye el análisis de datos de microarrays de ADN y textos escritos, donde hay varios miles de características, y unas cuantas decenas a centenares de muestras.

## Introducción

Un algoritmo de selección de características puede ser visto como la combinación de una técnica de búsqueda para proponer nuevos subconjuntos de características, junto con una evaluación mide cuál puntúa los diferentes subconjuntos de características. El algoritmo más sencillo prueba cada subconjunto posible de las características encontrando la que minimiza el índice de error, lo que es una búsqueda exhaustiva del espacio, y es computacionalmente intratable excepto para los conjuntos de característica más pequeños. La elección de la evaluación métrica influye fuertemente en el algoritmo, y son estas evaluaciones métricas las que distinguen entre las tres categorías principales de algoritmos de selección de características: envolturas (wrappers), filtros y métodos embebidos.
* Los métodos envolvedores (wrapper methods) utilizan un modelo predictivo para puntuar subconjuntos de característica. Cada subconjunto nuevo suele entrenar un modelo, el cual está probado en un conjunto de resistencia (hold-out set). Contando el número de errores hace en el conjunto de resistencia escogido (el índice de error del modelo) da la puntuación para ese subconjunto. Como los métodos envolvedores, entrena un nuevo modelo para cada subconjunto, es computacionalmente muy intensivo, pero usualmente proporciona el conjunto de características de mejor comportamiento para aquel tipo particular de modelo.
* Los métodos de filtrado utilizan una proxy de medida en vez del índice de error para puntuar un subconjunto de características. Esta medida es escogida para sea rápido de computar, mientras todavía est'a capturando la utilidad del conjunto de características. Las medidas comunes incluyen la información mutua, la información mutua puntual, el Coeficiente de correlación de Pearson, inter/intra distancia de clase o las puntuaciones de pruebas de importancia para cada combinación clase/característica. Los filtros son normalmente menos intensivos computacionalmente que los wrappers, pero producen un conjunto de características que no está relacionado con un tipo específico de modelo predictivo. Esta carencia significa que un conjunto de características resultante de un filtro es más general que el conjunto resultante de un wrapper, normalmente dando rendimiento de predicción más bajo que un wrapper. Aun así el conjunto de característica no contiene las suposiciones de un modelo de predicción, y así es más útil para exponer las relaciones entre las características. Muchos filtros proporcionan una característica ranking en vez de un mejor subconjunto de característica explícito, y el punto de corte en el ranking es escogido vía validación cruzada. Los métodos de filtro también han sido utilizados como un paso de preprocesamiento para métodos wrappers, dejando que un wrapper sea utilizado en problemas más grandes.
* Los métodos embebidos son un grupo de técnicas atrapa-todo que realizan selección de características como parte del proceso de construcción del modelo. El ejemplar de esta aproximación es el método LASSO para construir un modelo lineal, el cual penaliza los coeficientes de regresión con una penalidad L1, disminuyendo muchos de ellos a cero. Cualquier característica con coeficiente de regresión diferente de cero es elegido por el algoritmo LASSO. Mejoras al LASSO incluyen Bolasso qué potencia las muestras, y FeaLect que puntúa todas las características basándose en análisis combinatorio de los coeficientes de regresión. Otra aproximación popular es el algoritmo de Eliminación de Característica Recursivo, generalmente utilizado con Máquinas de Soporte Vectorial para repetidamente construir un modelo y sacar características con pesos bajos. Estas aproximaciones tienden aser entre filtros y wrappers en términos de complejidad computacional.
En estadística tradicional, la forma más popular de seleccionar características es la regresión paso a paso, que es un técnica de wrapper. Es un algoritmo greedy que añade la mejor característica (o elimina la peor) en cada ronda. El problema principal de control es decidir cuándo parar el algoritmo. En aprendizaje de máquina, esto es típicamente hecho por validación cruz. En estadísticas, algunos criterios están optimizados. Esto se debe al problema inherente de anidación. Métodos más robustos han sido explorados, como ramificación y poda y red lineal por partes.

## Selección de subconjunto

La selección de subconjuntos evalúa un subconjunto de características como un grupo por conveniencia. Los algoritmos de selección del subconjunto pueden ser separados en Wrappers, Filtros y Embebidos. Los wrappers utilizan un algoritmo de búsqueda para buscar a través del espacio de características posibles y evaluar cada subconjunto corriendo un modelo en el subconjunto. Los wrappers pueden ser computacionalmente complejos y tener un riesgo de overfitting para el modelo. Los filtros son similares a los wrappers en la aproximación de búsqueda, pero en vez de evaluar contra un modelo, evalúa un filtro más sencillo. Las técnicas embebidas son embebidas para un modelo específico.
Muchos aproximaciones de búsqueda populares utilizan escalada de cerro codicioso, el cual de manera iterativa evalúa un subconjunto de candidato de características, entonces modifica el subconjunto y evalúa si el subconjunto nuevo es una mejora sobre el viejo. La evaluación de los subconjuntos requiere una puntuado métrico que mide un subconjunto de características. La búsqueda exhaustiva es generalmente poco práctica, por lo que si algún implementador (u operador) define un punto de parada, el subconjunto de características con la puntuación más alta descubierta hasta el momento es seleccionado como el subconjunto de característica satisfactorio. El criterio de parada varía para cada algoritmo; los criterios posibles incluyen: una puntuación de subconjunto supera un umbral, el máximo permitido de tiempo de ejecución del programa fue superado, etc.
Las técnicas de búsqueda alternativas están basadas en la búsqueda de proyección de un objetivo que encuentra proyecciones de baja dimensión del dato con mayor puntuación: las características que tiene las proyecciones más grandes en el espacio de menor dimensión son las elegidas.
Aproximaciones de búsqueda incluyen:
* Exhaustivo
* Mejor primero
* Recocido Simulado
* Algoritmo genético
* Selección hacia adelante codicioso
* Eliminación hacia atrás codicioso
* Optimización de enjambre de la partícula
* Búsqueda de proyección apuntada
* Búsqueda Dispersa
* Búsqueda por Entornos Variables
Dos métricas de filtros populares para problemas de clasificación son correlación e información mutua, a pesar de que tampoco es son métricas exactas o 'medidas de distancia' en el sentido matemático, como fallan para cumplir la desigualdad triangular y así no computar cualquier 'distancia' real – tendrían que ser considerados 'puntuaciones'. Estas puntuaciones están computadas entre un candidato a característica (o conjunto de características) y la categoría de producción deseada. Aun así, hay ciertas métricas que son simplemente una función de la información mutua; ve aquí.
Otras selecciones de filtros son:
* Separación de clases
* Probabilidad de error
* Distancia entre clases
* Distancia probabilista
* Entropía
* Selección de característica basada en consitencia
* Selección de característica basada en correlación

## Criterios de optimalidad

El criterio de elección de optimalidad es difícil cuando hay objetivos múltiples en una tarea de selección de características. Muchos de los similares incorporan una medida de exactitud, penalizada por el número de características seleccionadas (ej. el Criterio de información bayesiano). El más viejo es el Cp de Mallows estadístico y criterio de información de Akaike (AIC). Estos añaden variables si el t-statidístico es más grande que

## Aprendizaje de estructura

Selección de característica del filtro es un caso concreto de un paradigma más general llamada Aprendizaje de Estructura. La selección de características encuentra para característica específica una variable de objetivo concreta mientras que aprendizaje de estructura encuentra las relaciones entre todas las variables, normalmente expresando estas relaciones como un grafo. Los algoritmos más comunes de aprendizaje de estructura suponen que el dato está generado por una Red bayesiana, por lo que la estructura es un modelo de un grafo dirigido. La solución óptima al problema de selección de característica de filtro es la Manta de Markov del nodo objetivo, y en una Red bayesiana, hay un Manta de Markov única para cada nodo.

## Árboles regularizados

Las características de un árbol de decisión o un árbol ensamblado han demostrado ser redundantes. Un método reciente llamado árbol regularizado puede ser utilizado para la selección del subconjunto de características. Los árboles regularizados penalizan usando una variable similar a las variables seleccionadas en nodos de previos del árbol separando el nodo actual. Árboles regularizados solo necesitan construir un modelo de árbol (o un árbol ensemble modelo) y así éste es computacionalmente eficaz.

## Visión general en metaheuristics métodos

Un metaheurística es una descripción general de un algoritmo dedicado a solucionar difíciles (típicamente problemas NP-duros) problemas de optimización para los que no hay soluciones clásicas. Generalmente, un metaheurística es un algoritmo estocástico que tiende a encontrar un óptimo global.

### Principios principales

Los métodos de selección de la característica son típicamente presentados en tres clases basados en cómo combinan el algoritmo de selección y la construcción del modelo.

#### Método de filtro

Los tipos de métodos de filtro seleccionan variables a toda costa del modelo. Están basados sólo en características generales como la correlación con la variable a pronosticar. Los métodos de filtro suprimen las variables menos interesantes. Las otras variables serán parte de una clasificación o un modelo de regresión usado para clasificar o para pronosticar datos. Estos métodos son particularmente eficaces en y resistentes al overfitting.
Sin embargo, los métodos de filtrado tienden a seleccionar variables redundantes porque no consideran las relaciones entre variables. Por tanto, son principalmente utilizados como método de preprocesamiento.

#### Método Wrapper

Los métodos wrapper evalúan subconjuntos de variables que lo permiten, aproximaciones de filtro diferente, para detectar las interacciones posibles entre variables. Las dos desventajas principales de estos métodos son :
* El riesgo creciente de overfitting cuando el número de observaciones es insuficiente.
* El tiempo de computación significativo cuándo el número de variables es grande.

#### Métodos embebidos

Los métodos embebidos han sido recientemente propuestos para intentar combinar las ventajas de los métodos anteriores. Un algoritmo de aprendizaje aprovecha su proceso de selección variable propio y realiza la selección de selección y clasificación simultáneamente.

### Aplicación de selección de característica metaheuristics

Esto es una encuesta de la aplicación de las metaheurísticas de selección de característica utilizados recientemente en la literatura. Esta encuesta fue realizada por J. Hammon en su tesis.
| Aplicación | Algoritmo | Aproximación | classifier | Función de evaluación | Ref |
| SNPs | Selección de característica que utiliza Semejanza de Característica | Filtro | r2 | Phuong 2005 |
| SNPs | Algoritmo genético | Wrapper | Árbol de decisión | Exactitud de clasificación (10-pliegue) | Shah 2004 |
| SNPs | HillClimbing | Filtro + Wrapper | Naive Bayesiano | Suma residual pronosticada de plazas | Mucho tiempo 2007 |
| SNPs | Simulado Annealing | Naive bayesian | Exactitud de clasificación (5-pliegue) | Ustunkar 2011 |
| Segmentos parole | Colonia de hormigas | Wrapper | Red Neuronal artificial | MSE | Al-ani 2005 |
| Marketing | Simulado Annealing | Wrapper | Regresión | AIC, r2 | Meiri 2006 |
| Economía | Simulado Annealing, Algoritmo Genético | Wrapper | Regresión | BIC | Kapetanios 2005 |
| Masa espectral | Algoritmo genético | Wrapper | Regresión Lineal múltiple, Parcial Menos Plazas | Raíz-malo-error cuadrado de predicción | Broadhurst 2007 |
| Spam | Binario PSO + Mutación | Wrapper | Árbol de decisión | weighted Costó | Zhang 2014 |
| Microarray | Tabu Búsqueda + PSO | Wrapper | Máquina de Vector del soporte, K Vecinos más Cercanos | Distancia euclidiana | Chuang 2009 |
| Microarray | PSO + Algoritmo genético | Wrapper | Máquina de Vector del soporte | Exactitud de clasificación (10-pliegue) | Alba 2007 |
| Microarray | El algoritmo genético + Iteró Búsqueda Local | Embedded | Máquina de Vector del soporte | Exactitud de clasificación (10-pliegue) | Duval 2009 |
| Microarray | Búsqueda Local iterada | Wrapper | Regresión | Probabilidad posterior | Hans 2007 |
| Microarray | Algoritmo genético | Wrapper | K Vecinos más cercanos | Exactitud de clasificación (Deja-un-fuera cruz-validación) | Jirapech-Umpai 2005 |
| Microarray | Algoritmo Genético híbrido | Wrapper | K Vecinos más cercanos | Exactitud de clasificación (Deja-un-fuera cruz-validación) | Oh 2004 |
| Microarray | Algoritmo genético | Wrapper | Máquina de Vector del soporte | Sensibilidad y especificidad | Xuan 2011 |
| Microarray | Algoritmo genético | Wrapper | Todo paired Máquina de Vector del Soporte | Exactitud de clasificación (Deja-un-fuera cruz-validación) | Peng 2003 |
| Microarray | Algoritmo genético | Embedded | Máquina de Vector del soporte | Exactitud de clasificación (10-pliegue) | Hernandez 2007 |
| Microarray | Algoritmo genético | Híbrido | Máquina de Vector del soporte | Exactitud de clasificación (Deja-un-fuera cruz-validación) | Huerta 2006 |
| Microarray | Algoritmo genético | Máquina de Vector del soporte | Exactitud de clasificación (10-pliegue) | Muni 2006 |
| Microarray | Algoritmo genético | Wrapper | Máquina de Vector del soporte | EH-DIALL, CLUMP | Jourdan 2004 |
| La enfermedad de Alzheimer | Welch t-prueba | Filtro | kernel Máquina de vector del soporte | Exactitud de clasificación (10-pliegue) | Zhang 2015 |
| Visión de ordenador | Selección de Característica infinita | Filtro | Independiente | Precisión mediana, ROC AUC | Roffo 2015 |
| Microarrays | Eigenvector Centrality FS | Filtro | Independiente | Precisión mediana, Exactitud, ROC AUC | Roffo & Melzi 2016 |
| XML | Simétrico Tau (ST) | Filtro | Estructural Associative Classiﬁcatión | Exactitud, Cobertura | Shaharanee & Hadzic 2014 |

## Selección de característica embebidas en algoritmos de aprendizaje

Algunos algoritmos de aprendizaje realizan la selección de características como parte de su operación global. Estos incluyen:
* Árboles regularizados, p. ej. regularized el bosque aleatorio implementado en el RRF paquete
* Árbol de decisión
* Memetic Algoritmo
* Aleatorio multinomial logit (RMNL)
* Redes que codifican coche con un bottleneck-capa
* Submodular Selección de característica
* Aprendizaje local basado en selección de características. Comparado con métodos tradicionales, no implica cualquier búsqueda heurística, puede fácilmente controlar problemas multi-clase, y trabaja paraproblemas lineales y no lineales . Está apoyado por una fundación teórica fuerte. Los experimentos numéricos mostraron que el método puede conseguir una solución cercana al óptimo incluso cuándo el dato contiene >1M características irrelevantes.