¿Es posible entrenar un modelo de aprendizaje automático si hay más características que muestras en el conjunto de datos?

Seguro. Esto se explicó bastante bien en una charla reciente de Hinton (no puedo encontrar el enlace). Parafraseando a Hinton:

Una forma segura de mejorar el rendimiento es construir un conjunto de modelos y utilizar técnicas combinadas como ROVER (rover). La gente ha ganado competiciones de ML usando tales técnicas durante mucho tiempo.

Entonces, en lugar de un DNN, podría entrenar, digamos, 10 DNN diferentes (con variaciones sutiles quizás) utilizando la misma cantidad de datos y combinar los resultados. Entonces, ahora tiene 10 veces la cantidad de parámetros del modelo con un rendimiento mejorado y el mismo tamaño de muestra de datos. Continúa argumentando que la regularización del abandono consiste básicamente en aprender [matemática] 2 ^ H [/ matemática] diferentes modelos ([matemática] H [/ matemática] es el tamaño de la capa oculta) con parámetros compartidos y la salida es la media geométrica de estos modelos

No hay magia para el aprendizaje automático. En su mayor parte, se trata de encontrar soluciones aproximadas a los sistemas de ecuaciones lineales, donde las características son los coeficientes y los parámetros son las variables cuyos valores está buscando. El álgebra lineal nos dice que para encontrar N variables, necesitamos exactamente N ecuaciones. Para tener N ecuaciones, necesitamos N características y N muestras. Entonces, la respuesta general es no, no puede entrenar un modelo de aprendizaje automático si tiene más características que observaciones. Tienes que sacrificar algunas de las características y, con ellas, parte de la fidelidad del modelo. Esto se logra mediante la ingeniería de características.

Ahora, el SVM con un núcleo no lineal parece hacer una magia muy eficiente, pero el truco del núcleo realmente solo cambia la forma de sus ecuaciones, no el número de características.

EDITAR: Si tiene 2 puntos de datos en el espacio (XYZ), definido como (x1, y1, z1) y (x2, y2, z2), puede dibujar una sola línea a través de los dos puntos. Entonces tiene 2 muestras y 3 características, y un modelo sobreajustado.

Si tiene las muestras en una matriz dispersa, lo que sucede a menudo en el mundo real, por ejemplo, (x1, y1, *), (*, y2, z2), todavía tiene 2 muestras y 3 características, y un número infinito de líneas. Para descubrir los valores faltantes, necesita al menos tantas muestras como características.

Ciertamente podrías. Pero hay altas posibilidades de sobreajuste, lo que significa que su modelo puede memorizar los datos de entrenamiento en lugar de aprender a generalizar a partir de las tendencias. Un buen modelo de ML debe generalizar los datos para que funcione igualmente bien en los datos de la prueba. Cuando hay un número relativamente alto de parámetros en comparación con el número de observaciones, el modelo podría sobreajustar los datos.

La solución al sobreajuste sería Regularización, que es agregar un parámetro de ajuste al modelo para inducir suavidad, a menudo realizado agregando un múltiplo constante al vector de peso existente.

Seguro

Simplemente use un regularizador fuerte como y la regularización SVM + L1

¿Funcionará bien? Difícil de decir.