Versão distribuída do otimizador Stochastic Dual Coordinate Ascent (SDCA) para
modelos lineares com regularização L1 + L2. Como o objetivo de otimização global é fortemente convexo, o otimizador otimiza o objetivo duplo em cada etapa. O otimizador aplica cada atualização, um exemplo de cada vez. Os exemplos são amostrados uniformemente e o otimizador não tem taxa de aprendizagem e desfruta de taxa de convergência linear.
[Ascensão de Coordenada Dupla Estocástica 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|$$
[Adição vs. Média na Otimização Primal-Dual Distribuída](http://arxiv.org/abs/1502.03508).
Chenxin Ma, Virginia Smith, Martin Jaggi, Michael I. Jordan, Peter Richtarik, Martin Takac. 2015
[Ascensão estocástica de coordenadas duplas com probabilidades adaptativas](https://arxiv.org/abs/1502.08053).
Dominik Csiba, Zheng Qu, Peter Richtarik. 2015
Classes aninhadas
| aula | SdcaOptimizer.Options | Atributos opcionais para SdcaOptimizer | |
Constantes
| Corda | OP_NAME | O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow |
Métodos Públicos
| SdcaOptimizer.Options estático | adaptativo (adaptativo booleano) |
| SdcaOptimizer estático | create ( Escopo de escopo , Iterable< Operando < TInt64 >> sparseExampleIndices, Iterable< Operando < TInt64 >> sparseFeatureIndices, Iterable< Operando < TFloat32 >> sparseFeatureValues, Iterable< Operando < TFloat32 >> densaFeatures, Operando < TFloat32 > exemploPesos, Operando < TFloat32 > exampleLabels, Iterable< Operando < TInt64 >> sparseIndices, Iterable< Operando < TFloat32 >> sparseWeights, Iterable< Operando < TFloat32 >> DenseWeights, Operando < TFloat32 > exampleStateData, String lossType, Float l1, Float l2, Long numLossPartitions, Long numInnerIterations , Opções... opções) Método de fábrica para criar uma classe que envolve uma nova operação SdcaOptimizer. |
| Lista< Saída <TFloat32> > | outDeltaDenseWeights () uma lista de vetores onde os valores são os pesos delta associados a um grupo de recursos denso. |
| Lista< Saída <TFloat32> > | outDeltaSparseWeights () uma lista de vetores onde cada valor são os pesos delta associados a um grupo de recursos esparsos. |
| Saída < TFloat32 > | outExampleStateData () uma lista de vetores contendo os dados de estado de exemplo atualizados. |
Métodos herdados
Constantes
String final estática pública OP_NAME
O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow
Métodos Públicos
public static SdcaOptimizer.Options adaptativo (booleano adaptativo)
Parâmetros
| adaptativo | Se deve usar o Adaptive SDCA para o loop interno. |
|---|
public static SdcaOptimizer create ( Escopo de escopo , Iterable< Operando < TInt64 >> sparseExampleIndices, Iterable< Operando < TInt64 >> sparseFeatureIndices, Iterable< Operando < TFloat32 >> sparseFeatureValues, Iterable< Operando < TFloat32 >> densaFeatures, Operando < TFloat32 > exampleWeights, Operando < TFloat32 > exampleLabels, Iterable< Operando < TInt64 >> sparseIndices, Iterable< Operando < TFloat32 >> sparseWeights, Iterable< Operando < TFloat32 >> DenseWeights, Operando < TFloat32 > exampleStateData, String lossType, Float l1, Float l2, Long numLossPartitions , Long numInnerIterations, Opções... opções)
Método de fábrica para criar uma classe que envolve uma nova operação SdcaOptimizer.
Parâmetros
| escopo | escopo atual |
|---|---|
| sparseExampleIndices | uma lista de vetores que contêm índices de exemplo. |
| sparseFeatureIndices | uma lista de vetores que contêm índices de recursos. |
| sparseFeatureValues | uma lista de vetores que contém valores de recursos associados a cada grupo de recursos. |
| recursos densos | uma lista de matrizes que contém os valores de recursos densos. |
| exemploPesos | um vetor que contém o peso associado a cada exemplo. |
| exemploRótulos | um vetor que contém o rótulo/destino associado a cada exemplo. |
| índices esparsos | uma lista de vetores onde cada valor são os índices que possuem pesos correspondentes em sparse_weights. Este campo pode ser omitido para a abordagem densa. |
| pesos esparsos | uma lista de vetores onde cada valor é o peso associado a um grupo de recursos esparsos. |
| pesos densos | uma lista de vetores onde os valores são os pesos associados a um grupo de recursos denso. |
| exemploStateData | uma lista de vetores contendo os dados de estado de exemplo. |
| tipo de perda | Tipo de perda primária. Atualmente o SdcaSolver suporta perdas logísticas, quadradas e de dobradiça. |
| l1 | Força de regularização simétrica l1. |
| l2 | Força de regularização simétrica l2. |
| numLossPartitions | Número de partições da função de perda global. |
| numInnerIterations | Número de iterações por minilote. |
| opções | carrega valores de atributos opcionais |
Devoluções
- uma nova instância do SdcaOptimizer
Lista pública< Saída < TFloat32 >> outDeltaDenseWeights ()
uma lista de vetores onde os valores são os pesos delta associados a um grupo de recursos denso.
Lista pública< Saída < TFloat32 >> outDeltaSparseWeights ()
uma lista de vetores onde cada valor são os pesos delta associados a um grupo de recursos esparsos.