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.