Versión distribuida del optimizador Stochastic Dual Coordinate Ascent (SDCA) para
modelos lineales con regularización L1 + L2. Como el objetivo de optimización global es fuertemente convexo, el optimizador optimiza el objetivo dual en cada paso. El optimizador aplica cada actualización un ejemplo a la vez. Los ejemplos se muestrean de manera uniforme, y el optimizador tiene una tasa de aprendizaje gratuita y disfruta de una tasa de convergencia lineal.
[Ascenso de coordenadas dual estocástico proximal] (http://arxiv.org/pdf/1211.2717v1.pdf).
Shai Shalev-Shwartz, Tong Zhang. 2012
$$Loss Objective = \sum f_{i} (wx_{i}) + (l2 / 2) * |w|^2 + l1 * |w|$$
[Agregar vs. promediar en la optimización distribuida primaria-dual] (http://arxiv.org/abs/1502.03508).
Chenxin Ma, Virginia Smith, Martin Jaggi, Michael I. Jordan, Peter Richtarik, Martin Takac. 2015
[Ascenso estocástico de coordenadas duales con probabilidades adaptativas] (https://arxiv.org/abs/1502.08053).
Dominik Csiba, Zheng Qu, Peter Richtarik. 2015
Clases anidadas
clase | SdcaOptimizer.Options | Los atributos opcionales para SdcaOptimizer |
Constantes
Cuerda | OP_NAME | El nombre de esta operación, como lo conoce el motor central de TensorFlow |
Métodos públicos
estáticas SdcaOptimizer.Options | adaptativo (Boolean adaptativa) |
estática SdcaOptimizer | crear ( Alcance alcance, Iterable < Operando < TInt64 >> sparseExampleIndices, Iterable < Operando < TInt64 >> sparseFeatureIndices, Iterable < Operando < TFloat32 >> sparseFeatureValues, Iterable < Operando < TFloat32 >> denseFeatures, operando < TFloat32 > exampleWeights, operando < TFloat32 > exampleLabels, iterable < operando < TInt64 >> sparseIndices, iterable < operando < TFloat32 >> sparseWeights, iterable < operando < TFloat32 >> denseWeights, operando < TFloat32 > exampleStateData, cadena lossType, flotador L1, L2 Float, numLossPartitions largas, largas numInnerIterations , opciones ... opciones) Método de fábrica para crear una clase que envuelva una nueva operación de SdcaOptimizer. |
Lista < salida < TFloat32 >> | outDeltaDenseWeights () una lista de vectores donde los valores son los pesos delta asociados con un grupo de características denso. |
Lista < salida < TFloat32 >> | outDeltaSparseWeights () una lista de vectores donde cada valor son los pesos delta asociados con un grupo de características dispersas. |
Salida < TFloat32 > | outExampleStateData () una lista de vectores que contiene los datos de estado de ejemplo actualizados. |
Métodos heredados
Constantes
OP_NAME pública final static String
El nombre de esta operación, como lo conoce el motor central de TensorFlow
Métodos públicos
estáticas pública SdcaOptimizer.Options adaptativo (Adaptive booleana)
Parámetros
adaptado | Ya sea para usar Adaptive SDCA para el bucle interno. |
---|
public static SdcaOptimizer crear ( Alcance alcance, Iterable < operando < TInt64 >> sparseExampleIndices, Iterable < operando < TInt64 >> sparseFeatureIndices, Iterable < operando < TFloat32 >> sparseFeatureValues, Iterable < operando < TFloat32 >> denseFeatures, operando < TFloat32 > exampleWeights, Operando < TFloat32 > <exampleLabels, iterable de operando < TInt64 >> sparseIndices, iterable < operando < TFloat32 >> sparseWeights, iterable < operandos < TFloat32 >> denseWeights, de operando < TFloat32 > exampleStateData, cadena lossType, flotador L1, L2 Float, numLossPartitions largas , numInnerIterations largas, opciones ... opciones)
Método de fábrica para crear una clase que envuelva una nueva operación de SdcaOptimizer.
Parámetros
alcance | alcance actual |
---|---|
sparseExampleIndices | una lista de vectores que contienen índices de ejemplo. |
sparseFeatureIndices | una lista de vectores que contienen índices de características. |
sparseFeatureValues | una lista de vectores que contiene el valor de característica asociado con cada grupo de características. |
denseFeatures | una lista de matrices que contiene los valores de características densas. |
ejemploPesos | un vector que contiene el peso asociado con cada ejemplo. |
exampleLabels | un vector que contiene la etiqueta / objetivo asociado con cada ejemplo. |
sparseIndices | una lista de vectores donde cada valor son los índices que tienen pesos correspondientes en sparse_weights. Este campo puede omitirse para el enfoque denso. |
sparseWeights | una lista de vectores donde cada valor es el peso asociado con un grupo de características dispersas. |
densos pesos | una lista de vectores donde los valores son los pesos asociados con un grupo de características denso. |
ejemploStateData | una lista de vectores que contiene los datos de estado de ejemplo. |
lossType | Tipo de pérdida primaria. Actualmente, SdcaSolver admite pérdidas logísticas, cuadradas y de bisagra. |
l1 | Fuerza de regularización simétrica l1. |
l2 | Fuerza de regularización simétrica l2. |
numLossPartitions | Número de particiones de la función de pérdida global. |
numInnerIterations | Número de iteraciones por mini-lote. |
opciones | lleva valores de atributos opcionales |
Devoluciones
- una nueva instancia de SdcaOptimizer
Lista pública < salida < TFloat32 >> outDeltaDenseWeights ()
una lista de vectores donde los valores son los pesos delta asociados con un grupo de características denso.
Lista pública < salida < TFloat32 >> outDeltaSparseWeights ()
una lista de vectores donde cada valor son los pesos delta asociados con un grupo de características dispersas.