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.