Vamos a pensarlo:
Esto es como ajustar, por ejemplo, una aproximación polinómica a una función dada. Lo que haría en ese caso es expresar el error entre su función y su aproximación polinómica en términos de los parámetros de la función de aproximación (por ejemplo, coeficientes polinómicos) y luego minimizar el error.
Para redes neuronales, calculará el error entre la salida de la red y la función deseada. Este cálculo de error puede ser simbólico / analítico (como en dx ^ 2 / dx = 2x), o numérico (usando cálculos numéricos, en puntos de muestra de las funciones). Creo que expresar analíticamente una gran red neuronal sería prohibitivo. Por lo tanto, el enfoque práctico sería calcular el error numéricamente (por ejemplo, revisar muchos valores de entrada posibles y calcular las salidas y luego los errores); y luego minimiza el error. Pero entonces, la forma práctica de hacerlo es básicamente el entrenamiento de una red.
- ¿Qué técnicas son buenas para suavizar los clics de las consultas de cola larga en los motores de búsqueda?
- ¿Por qué no utilizamos la regresión logística para grandes conjuntos de datos de características?
- Cómo aprender machine learning para construir startups
- ¿Por qué el preentrenamiento no supervisado actúa como un regularizador en arquitecturas profundas?
- Como programador novato, ¿realmente necesito conocer toda la documentación de un lenguaje o marco de programación para comenzar, o lo aprenderé acumulativamente mientras trabajo en un proyecto pequeño?
En resumen, la forma más práctica de adaptar una red neuronal a una función dada es a través del entrenamiento convencional, que es casi por definición, si lo piensas. Pero si está preguntando si podría hacer este ajuste completamente en el dominio analítico / simbólico, no creo que sea posible, excepto en algunos casos muy limitados.