Versione distribuita dell'ottimizzatore Stochastic Dual Coordinate Ascent (SDCA) per
modelli lineari con regolarizzazione L1 + L2. Poiché l'obiettivo di ottimizzazione globale è fortemente convesso, l'ottimizzatore ottimizza il doppio obiettivo ad ogni passaggio. L'ottimizzatore applica ogni aggiornamento un esempio alla volta. Gli esempi vengono campionati in modo uniforme e l'ottimizzatore non ha velocità di apprendimento e gode di una velocità di convergenza lineare.
[Ascesa stocastica prossimale a doppia coordinata](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|$$
[Aggiunta e media nell'ottimizzazione distribuita primale-doppia](http://arxiv.org/abs/1502.03508).
Chenxin Ma, Virginia Smith, Martin Jaggi, Michael I. Jordan, Peter Richtarik, Martin Takac. 2015
[Ascesa stocastica a doppia coordinata con probabilità adattive](https://arxiv.org/abs/1502.08053).
Dominik Csiba, Zheng Qu, Peter Richtarik. 2015
Classi nidificate
classe | SdcaOptimizer.Options | Attributi facoltativi per SdcaOptimizer |
Costanti
Corda | OP_NAME | Il nome di questa operazione, come noto al motore principale di TensorFlow |
Metodi pubblici
SdcaOptimizer.Options statico | adattivo (adattivo booleano) |
SdcaOptimizer statico | create ( Ambito di applicazione , 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, String lossType, Float l1, Float l2, Long numLossPartitions, Long numInnerIterations , Opzioni... opzioni) Metodo factory per creare una classe che racchiude una nuova operazione SdcaOptimizer. |
Elenco< Uscita < TFloat32 >> | outDeltaDenseWeights () un elenco di vettori in cui i valori sono i pesi delta associati a un gruppo di caratteristiche denso. |
Elenco< Uscita < TFloat32 >> | outDeltaSparseWeights () un elenco di vettori in cui ciascun valore rappresenta i pesi delta associati a un gruppo di caratteristiche sparse. |
Uscita < TFloat32 > | outExampleStateData () un elenco di vettori contenenti i dati di stato di esempio aggiornati. |
Metodi ereditati
Costanti
Stringa finale statica pubblica OP_NAME
Il nome di questa operazione, come noto al motore principale di TensorFlow
Metodi pubblici
pubblico statico SdcaOptimizer.Options adattivo (adattivo booleano)
Parametri
adattivo | Indica se utilizzare l'SDCA adattivo per il ciclo interno. |
---|
public static SdcaOptimizer create ( Scope scope, Iterable< Operand < TInt64 >> sparseExampleIndices, Iterable< Operand < TInt64 >> sparseFeatureIndices, Iterable< Operand < TFloat32 >> sparseFeatureValues, Iterable< Operand < TFloat32 >> denseFeatures, Operand < 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 , Numero lungoInterazioni interne, Opzioni... opzioni)
Metodo factory per creare una classe che racchiude una nuova operazione SdcaOptimizer.
Parametri
portata | ambito attuale |
---|---|
sparseEsempioIndices | un elenco di vettori che contengono indici di esempio. |
sparseFeatureIndices | un elenco di vettori che contengono indici di caratteristiche. |
sparseFeatureValues | un elenco di vettori che contiene il valore della caratteristica associato a ciascun gruppo di caratteristiche. |
Caratteristiche dense | un elenco di matrici che contengono i valori delle caratteristiche dense. |
esempioWeights | un vettore che contiene il peso associato a ciascun esempio. |
esempioLabels | un vettore che contiene l'etichetta/target associato a ciascun esempio. |
sparseIndici | un elenco di vettori in cui ciascun valore rappresenta gli indici che hanno pesi corrispondenti in sparse_weights. Questo campo potrebbe essere omesso per l'approccio denso. |
sparseWeights | un elenco di vettori in cui ciascun valore è il peso associato a un gruppo di caratteristiche sparse. |
Pesi densi | un elenco di vettori in cui i valori sono i pesi associati a un gruppo di caratteristiche denso. |
esempioStateData | un elenco di vettori contenenti i dati di stato di esempio. |
lossType | Tipo di perdita primaria. Attualmente SdcaSolver supporta perdite logistiche, squadrate e di cerniera. |
l1 | Forza di regolarizzazione simmetrica l1. |
l2 | Forza di regolarizzazione simmetrica l2. |
numLossPartitions | Numero di partizioni della funzione di perdita globale. |
numInnerIterations | Numero di iterazioni per mini-batch. |
opzioni | trasporta valori di attributi opzionali |
Ritorni
- una nuova istanza di SdcaOptimizer
elenco pubblico< Output < TFloat32 >> outDeltaDenseWeights ()
un elenco di vettori in cui i valori sono i pesi delta associati a un gruppo di caratteristiche denso.
elenco pubblico< Output < TFloat32 >> outDeltaSparseWeights ()
un elenco di vettori in cui ciascun valore rappresenta i pesi delta associati a un gruppo di caratteristiche sparse.