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.
[Proximal Stochastic Dual Coordinate Ascent] (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|$$
[Adicionando vs. Média na Otimização Primária-Dual Distribuída] (http://arxiv.org/abs/1502.03508).
Chenxin Ma, Virginia Smith, Martin Jaggi, Michael I. Jordan, Peter Richtarik, Martin Takac. 2015
[Subida de Coordenadas Duplas Estocásticas com Probabilidades Adaptativas] (https://arxiv.org/abs/1502.08053).
Dominik Csiba, Zheng Qu, Peter Richtarik. 2015
Classes aninhadas
classe | SdcaOptimizer.Options | Atributos opcionais para SdcaOptimizer |
Constantes
Fragmento | OP_NAME | O nome desta operação, conforme conhecido pelo motor principal TensorFlow |
Métodos Públicos
estáticos SdcaOptimizer.Options | adaptativo (booleano adaptativo) |
estática SdcaOptimizer | criar ( Scope escopo, 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, corda lossType, Float L1, L2, Float numLossPartitions longas, numInnerIterations longas , opções ... opções) Método de fábrica para criar uma classe envolvendo uma nova operação SdcaOptimizer. |
List < Output < TFloat32 >> | outDeltaDenseWeights () uma lista de vetores onde os valores são os pesos delta associados a um grupo de recursos densos. |
List < Output < TFloat32 >> | outDeltaSparseWeights () uma lista de vetores em que cada valor são os pesos delta associados a um grupo de recursos esparsos. |
Output < TFloat32 > | outExampleStateData () uma lista de vetores contendo os dados de estado de exemplo atualizados. |
Métodos herdados
Constantes
nome_op final String public static
O nome desta operação, conforme conhecido pelo motor principal TensorFlow
Métodos Públicos
public static SdcaOptimizer.Options adaptativa (Adaptive Boolean)
Parâmetros
adaptativo | Se deve usar Adaptive SDCA para o loop interno. |
---|
public static SdcaOptimizer criar ( Scope escopo, 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, corda lossType, Float L1, L2, Float numLossPartitions longas , numInnerIterations longas, Options ... opções)
Método de fábrica para criar uma classe envolvendo uma nova operação SdcaOptimizer.
Parâmetros
alcance | 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 o valor do recurso associado a cada grupo de recurso. |
denseFeatures | uma lista de matrizes que contém os valores de recursos densos. |
exampleWeights | um vetor que contém o peso associado a cada exemplo. |
exampleLabels | um vetor que contém o rótulo / alvo associado a cada exemplo. |
sparseIndices | uma lista de vetores onde cada valor são os índices que têm pesos correspondentes em sparse_weights. Este campo pode ser omitido para a abordagem densa. |
sparseWeights | uma lista de vetores onde cada valor é o peso associado a um grupo de recursos esparsos. |
densosWeights | uma lista de vetores onde os valores são os pesos associados a um grupo de recursos densos. |
exampleStateData | uma lista de vetores contendo os dados de estado de exemplo. |
lossType | Tipo de perda primária. Atualmente SdcaSolver suporta perdas logísticas, quadradas e dobradiças. |
l1 | Força de regularização simétrica l1. |
12 | 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 de 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 densos.
Lista pública < saída < TFloat32 >> outDeltaSparseWeights ()
uma lista de vetores em que cada valor são os pesos delta associados a um grupo de recursos esparsos.