¿Qué significa el aprendizaje de características en Machine Learning?

El aprendizaje de características es el conjunto de métodos que permiten encontrar una representación adecuada de los datos para realizar una tarea de aprendizaje automático. En otras palabras, el objetivo del aprendizaje de características es encontrar una transformación que mapee los datos en bruto en una representación que sea más adecuada para una tarea de aprendizaje automático (por ejemplo, clasificación).


Veámoslo a través de un ejemplo. Para este propósito, utilizaremos una red neuronal, que explota el concepto de aprendizaje de características por su propia naturaleza. En una red neuronal, cada capa oculta asigna sus datos de entrada a una representación interna que tiende a capturar un mayor nivel de abstracción.

Supongamos que queremos clasificar el siguiente conjunto de datos:

Figura 1. Conjunto de datos que queremos clasificar.

Tenga en cuenta que este conjunto de datos no es separable linealmente, porque no podemos separarlo usando un modelo lineal (como una red neuronal de avance sin capas ocultas) sin modificar nuestra entrada. Por ejemplo, al entrenar una red neuronal de avance sin ninguna capa oculta utilizando este conjunto de datos, obtenemos los siguientes límites de clasificación:

Figura 2. Límites de clasificación obtenidos cuando entrenamos una red neuronal de avance sin ninguna capa oculta para clasificar nuestro conjunto de datos.


Aquí es donde el aprendizaje de características hace la diferencia. Las redes neuronales pueden aprender representaciones internas de datos a través de capas ocultas, y es por eso que son tan poderosas. Acompañadas por una función de activación no lineal adecuada, las capas ocultas mapean sus datos de entrada en un espacio no lineal más abstracto.

Al aprender múltiples representaciones internas sucesivas de datos, esperamos encontrar una transformación tal que las características latentes resultantes sean linealmente separables. Una vez que lo logremos, realizar una regresión logística simple en la parte superior de la red será suficiente para hacer una clasificación precisa.


Recuerde que no pudimos separar una clase de otra con una línea recta. Ahora, imagine que tiene la Figura 1 trazada en una hoja transparente. ¿Qué harías para hacer que los datos sean linealmente separables?

Podría doblar la hoja transparente en A = B. Tenga en cuenta que ahora puede dibujar una línea recta en la hoja transparente que separa una clase de la otra. ¡Acaba de aprender una representación interna de datos que lo hace linealmente separable!

Eso es exactamente lo que hace una red neuronal. Por ejemplo, al entrenar una red neuronal de avance con una capa oculta utilizando nuestro conjunto de datos, aprende la siguiente representación interna de datos:

Figura 3. Representación interna de datos en la capa oculta. Podrías imaginar esto como una vista superior de la hoja transparente. Tenga en cuenta que ahora podríamos dibujar fácilmente una línea recta que separe una clase de la otra.

En este caso, así es como se ven los límites de clasificación:

Figura 4. Límites de clasificación obtenidos cuando entrenamos una red neuronal de avance con una capa oculta para clasificar nuestro conjunto de datos.


Finalmente, es importante agregar que una red neuronal puede aprender transformaciones mucho más complejas que plegar una hoja. Además, espero poder brindarle la intuición detrás de las representaciones internas de los datos y el aprendizaje de características .

Nota: Cada cifra de esta respuesta se ha obtenido utilizando este marco de red neuronal didáctico y minimalista que implementé desde cero: rvinas / nnn.

Las características también se denominan variables independientes, atributos y predictores.

Ingeniería de características / aprendizaje / selección son solo palabras que se explican por sí mismas relacionadas con la transformación, comprensión y selección de características.

More Interesting

¿Qué herramientas matemáticas puedes usar para analizar el comportamiento de las redes neuronales en el tiempo?

Procesamiento del lenguaje natural: ¿Hay alguna manera de medir la "informatividad" de una oración en un documento?

Cómo llamar a clasificadores y conjuntos de datos de WEKA a Netbeans IDE 7.1

¿Cuál es la mejor GPU que se utilizará para Deep Learning con presupuesto (> 400 $)?

¿Cuál es la mejor tarjeta gráfica para tareas de aprendizaje automático / Big Data?

¿Cuál es el mejor código comercial de reconocimiento facial?

¿Por qué la pérdida logística es una mejor métrica para la clasificación probabilística que RMSD?

¿Qué recursos de tutoría están disponibles para que un ingeniero aprenda Machine Learning en Quora?

¿Puedo confiar en un modelo de clasificación con validación cruzada y precisión de prueba decentes incluso si el número de observaciones es menor que el de las características?

¿Qué implica el e-Discovery?

¿Qué papel jugará la ciencia de datos en las elecciones presidenciales de 2012?

¿Qué es una explicación intuitiva de la convolución 1 × 1 en ConvNets?

¿Qué tipo de big data se genera desde internet de las cosas? ¿Cómo recopilo esos datos? ¿Puedo aplicar el aprendizaje automático para encontrar patrones en los datos?

¿Cuáles son los cursos necesarios para aprender la recuperación de información y el aprendizaje automático?

¿Qué tan popular y extendido es el aprendizaje automático en África?