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 no tiene tasa de aprendizaje y disfruta de una tasa de convergencia lineal.
[Ascenso de coordenadas duales 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|$$
[Sumar versus promediar en optimización dual primaria distribuida] (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.Opciones | Atributos opcionales para SdcaOptimizer |
Constantes
Cadena | OP_NOMBRE | El nombre de esta operación, como lo conoce el motor central de TensorFlow. |
Métodos públicos
Opciones estáticas de SdcaOptimizer. | adaptativo (adaptativo booleano) |
SdcaOptimizer estático | crear ( Alcance alcance, Iterable< Operando < TInt64 >> sparseExampleIndices, Iterable< Operando < TInt64 >> sparseFeatureIndices, Iterable< Operando < TFloat32 >> sparseFeatureValues, Iterable< Operando < TFloat32 >> densaFeatures, Operando < TFloat32 > exampleWeights, Operando < TFloat32 > exampleLabels, Iterable< Operand < TInt64 >> sparseIndices, Iterable< Operand < TFloat32 >> sparseWeights, Iterable< Operand < TFloat32 >> densoWeights, Operand < TFloat32 > exampleStateData, String lossType, Float l1, Float l2, Long numLossPartitions, Long numInnerIterations , Opciones... opciones) Método de fábrica para crear una clase que envuelve una nueva operación 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 contienen los datos de estado de ejemplo actualizados. |
Métodos heredados
Constantes
Cadena final estática pública OP_NAME
El nombre de esta operación, como lo conoce el motor central de TensorFlow.
Métodos públicos
público estático SdcaOptimizer.Options adaptativo (booleano adaptativo)
Parámetros
adaptado | Si se debe utilizar SDCA adaptable para el bucle interno. |
---|
creación estática pública de SdcaOptimizer (alcance del alcance , Iterable < Operando < TInt64 >> sparseExampleIndices, Iterable < Operando < TInt64 >> sparseFeatureIndices, Iterable < Operando < TFloat32 >> sparseFeatureValues, Iterable < Operando < TFloat32 >> densaFeatures, Operando < TFloat32 > exampleWeights, Operando < TFloat32 > etiquetas de ejemplo, Iterable < Operando < TInt64 >> índices dispersos, Iterable < Operando < TFloat32 >> pesos dispersos, Iterable < Operando < TFloat32 >> pesos densos, Operando < TFloat32 > ejemploStateData, String lossType, Float l1, Float l2, Long numLossPartitions , Long numInnerIterations, Opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación SdcaOptimizer.
Parámetros
alcance | alcance actual |
---|---|
índices de ejemplo dispersos | una lista de vectores que contienen índices de ejemplo. |
índices de características dispersas | una lista de vectores que contienen índices de características. |
valores de características dispersas | una lista de vectores que contiene el valor de característica asociado con cada grupo de características. |
características densas | una lista de matrices que contiene los valores de características densas. |
ejemploPesos | un vector que contiene el peso asociado a cada ejemplo. |
ejemploEtiquetas | un vector que contiene la etiqueta/objetivo asociado con cada ejemplo. |
índices dispersos | 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. |
pesos dispersos | una lista de vectores donde cada valor es el peso asociado con un grupo de características dispersas. |
pesos densos | una lista de vectores donde los valores son los pesos asociados con un grupo de características denso. |
ejemploEstadoDatos | una lista de vectores que contienen los datos de estado de ejemplo. |
tipo de pérdida | 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. |
numIteracionesInteriores | Número de iteraciones por minilote. |
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.
Salida pública <TFloat32> outExampleStateData ()
una lista de vectores que contienen los datos de estado de ejemplo actualizados.