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.