Compartir a través de


maOptimizer: algoritmos de optimización

Especifica algoritmos de optimización para una red neuronal.

Uso

  adaDeltaSgd(decay = 0.95, conditioningConst = 1e-06)

  sgd(learningRate = 0.001, momentum = 0, nag = FALSE, weightDecay = 0,
    lRateRedRatio = 1, lRateRedFreq = 100, lRateRedErrorRatio = 0)

Argumentos

decay

Especifica la tasa de depreciación que se aplica a los gradientes al calcular el paso en el algoritmo de optimización adaptable ADADELTA. Esta tasa se usa para garantizar que la velocidad de aprendizaje siga progresando al dar pesos más pequeños a los gradientes remotos en el cálculo del tamaño del paso. Matemáticamente, reemplaza la media cuadrática de los gradientes por un promedio de depreciación exponencial de los gradientes cuadrados en el denominador de la regla de actualización. El valor asignado debe estar en el rango (0,1).

conditioningConst

Especifica una constante de acondicionamiento para el algoritmo de optimización adaptable ADADELTA que se utiliza para condicionar el tamaño del paso en regiones donde el promedio de depreciación exponencial de los gradientes cuadrados es pequeño. El valor asignado debe estar en el rango (0,1).

learningRate

Especifica el tamaño del paso realizado en la dirección del gradiente negativo para cada iteración del proceso de aprendizaje. El valor predeterminado es = 0.001.

momentum

Especifica los pesos de cada dimensión que controlan la contribución del paso anterior al tamaño del paso siguiente durante el entrenamiento. Esto modifica el valor de learningRate para acelerar el entrenamiento. El valor debe ser >= 0 y < 1.

nag

Si es TRUE, se utiliza el descenso de gradiente acelerado de Nesterov. Este método reduce la complejidad de oráculo del descenso de gradiente y resulta ideal para la optimización convexa fluida.

weightDecay

Especifica los pesos de escala correspondiente al tamaño del paso. Después de cada actualización de peso, los pesos de la red se escalan mediante (1 - ``learningRate * weightDecay). El valor debe ser >= 0 y < 1.

lRateRedRatio

Especifica la tasa de reducción de la velocidad de aprendizaje; es decir, la tasa en la que se reduce la velocidad de aprendizaje durante el entrenamiento. La reducción de la velocidad de aprendizaje puede evitar la mínima local. El valor debe ser > 0 y <= 1.

  • Un valor de 1.0 significa que no hay reducción.
  • Un valor de 0.9 significa que la velocidad de aprendizaje se reduce a 90 de su valor actual.
    La reducción se puede desencadenar periódicamente para que se produzca después de un número fijo de iteraciones o cuando se cumplan determinados criterios de error relativos a aumentos o disminuciones en la función de pérdida.
  • A fin de desencadenar una reducción de velocidad periódica, especifique la frecuencia. Para ello, establezca la cantidad de iteraciones entre las reducciones con el argumento lRateRedFreq.
  • Para desencadenar la reducción de la velocidad en función de un criterio de error, especifique un número en lRateRedErrorRatio.

lRateRedFreq

Establece la frecuencia de reducción de la velocidad de aprendizaje al especificar una cantidad de iteraciones entre las reducciones. Por ejemplo, si se especifica 10, la velocidad de aprendizaje disminuye una vez cada 10 iteraciones.

lRateRedErrorRatio

Especifica el criterio de error de reducción de la velocidad de aprendizaje. Si se establece en 0, se reduce la velocidad de aprendizaje si la pérdida aumenta entre las iteraciones. Si se establece en un valor fraccionario mayor que 0, se reduce la velocidad de aprendizaje si la pérdida aumenta en menos que esa fracción con respecto a su valor anterior.

Detalles

Estas funciones se pueden usar para el argumento optimizer en rxNeuralNet.

La función sgd especifica el descenso de gradiente estocástico. maOptimizer

La función adaDeltaSgd especifica el descenso de gradiente AdaDelta, que se describe en el documento "ADADELTA: An Adaptive Learning Rate Method" (ADADELTA: un método de velocidad de aprendizaje adaptable) de Matthew D.Zeiler (2012).

Value

Cadena de caracteres que contiene la especificación del algoritmo de optimización.

Autores

Microsoft Corporation Microsoft Technical Support

Referencias

ADADELTA: An Adaptive Learning Rate Method

Consulte también

rxNeuralNet,

Ejemplos


 myIris = iris
 myIris$Setosa <- iris$Species == "setosa"

 res1 <- rxNeuralNet(formula = Setosa~Sepal.Length + Sepal.Width + Petal.Width,
         data = myIris, 
         optimizer = sgd(learningRate = .002))

 res2 <- rxNeuralNet(formula = Setosa~Sepal.Length + Sepal.Width + Petal.Width,
         data = myIris, 
         optimizer = adaDeltaSgd(decay = .9, conditioningConst = 1e-05))