Version distribuée de l'optimiseur Stochastic Dual Coordonnée Ascent (SDCA) pour
modèles linéaires avec régularisation L1 + L2. L’objectif d’optimisation global étant fortement convexe, l’optimiseur optimise le double objectif à chaque étape. L'optimiseur applique chaque mise à jour un exemple à la fois. Les exemples sont échantillonnés uniformément et l'optimiseur est sans taux d'apprentissage et bénéficie d'un taux de convergence linéaire.
[Ascension stochastique proximale à double coordonnée] (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|$$
[Ajout ou moyenne dans l'optimisation Primal-Dual distribuée] (http://arxiv.org/abs/1502.03508).
Chenxin Ma, Virginia Smith, Martin Jaggi, Michael I. Jordan, Peter Richtarik, Martin Takac. 2015
[Ascension stochastique à double coordonnée avec probabilités adaptatives](https://arxiv.org/abs/1502.08053).
Dominik Csiba, Zheng Qu, Peter Richtarik. 2015
Classes imbriquées
classe | SdcaOptimizer.Options | Attributs facultatifs pour SdcaOptimizer |
Constantes
Chaîne | OP_NAME | Le nom de cette opération, tel que connu par le moteur principal TensorFlow |
Méthodes publiques
statique SdcaOptimizer.Options | adaptatif (booléen adaptatif) |
statique SdcaOptimizer | créer ( Scope scope, Iterable< Operand < TInt64 >> sparseExampleIndices, Iterable< Operand < TInt64 >> sparseFeatureIndices, Iterable< Operand < TFloat32 >> sparseFeatureValues, Iterable< Operand < TFloat32 >> denseFeatures, Operand < TFloat32 > exampleWeights, Operand < TFloat32 > exampleLabels, Iterable< Operand < TInt64 >> sparseIndices, Iterable< Operand < TFloat32 >> sparseWeights, Iterable< Operand < TFloat32 >> denseWeights, Operand < TFloat32 > exampleStateData, String lossType, Float l1, Float l2, Long numLossPartitions, Long numInnerIterations , Options... options) Méthode d'usine pour créer une classe encapsulant une nouvelle opération SdcaOptimizer. |
Liste< Sortie < TFloat32 >> | outDeltaDenseWeights () une liste de vecteurs où les valeurs sont les poids delta associés à un groupe de fonctionnalités dense. |
Liste< Sortie < TFloat32 >> | outDeltaSparseWeights () une liste de vecteurs où chaque valeur correspond aux poids delta associés à un groupe de fonctionnalités clairsemé. |
Sortie < TFloat32 > | outExampleStateData () une liste de vecteurs contenant les exemples de données d'état mises à jour. |
Méthodes héritées
Constantes
chaîne finale statique publique OP_NAME
Le nom de cette opération, tel que connu par le moteur principal TensorFlow
Méthodes publiques
public statique SdcaOptimizer.Options adaptatif (booléen adaptatif)
Paramètres
adaptatif | S'il faut utiliser Adaptive SDCA pour la boucle interne. |
---|
public static SdcaOptimizer créer ( Scope scope, Iterable< Operand < TInt64 >> sparseExampleIndices, Iterable< Operand < TInt64 >> sparseFeatureIndices, Iterable< Operand < TFloat32 >> sparseFeatureValues, Iterable< Operand < TFloat32 >> denseFeatures, Operand < TFloat32 > exampleWeights, Opérande < TFloat32 > exampleLabels, Iterable< Operand < TInt64 >> sparseIndices, Iterable< Operand < TFloat32 >> sparseWeights, Iterable< Operand < TFloat32 >> denseWeights, Operand < TFloat32 > exampleStateData, String lossType, Float l1, Float l2, Long numLossPartitions , Nombre longInnerItérations, Options... options)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération SdcaOptimizer.
Paramètres
portée | portée actuelle |
---|---|
sparseExampleIndices | une liste de vecteurs qui contiennent des exemples d'indices. |
sparseFeatureIndices | une liste de vecteurs qui contiennent des indices de caractéristiques. |
sparseFeatureValues | une liste de vecteurs qui contient la valeur de caractéristique associée à chaque groupe de caractéristiques. |
denseCaractéristiques | une liste de matrices qui contient les valeurs des caractéristiques denses. |
exemplePoids | un vecteur qui contient le poids associé à chaque exemple. |
exempleÉtiquettes | un vecteur qui contient l'étiquette/cible associée à chaque exemple. |
indices clairsemés | une liste de vecteurs où chaque valeur correspond aux indices qui ont des poids correspondants dans sparse_weights. Ce champ peut être omis pour l'approche dense. |
poids clairsemés | une liste de vecteurs où chaque valeur est le poids associé à un groupe de fonctionnalités clairsemé. |
densePoids | une liste de vecteurs où les valeurs sont les poids associés à un groupe de fonctionnalités dense. |
exempleStateData | une liste de vecteurs contenant les exemples de données d'état. |
Type de perte | Type de perte primaire. Actuellement, SdcaSolver prend en charge les pertes logistiques, carrées et charnières. |
l1 | Force de régularisation symétrique l1. |
l2 | Force de régularisation symétrique l2. |
numLossPartitions | Nombre de partitions de la fonction de perte globale. |
numInnerItérations | Nombre d'itérations par mini-lot. |
choix | porte des valeurs d'attributs facultatifs |
Retours
- une nouvelle instance de SdcaOptimizer
liste publique < Sortie < TFloat32 >> outDeltaDenseWeights ()
une liste de vecteurs où les valeurs sont les poids delta associés à un groupe de fonctionnalités dense.
liste publique < Sortie < TFloat32 >> outDeltaSparseWeights ()
une liste de vecteurs où chaque valeur correspond aux poids delta associés à un groupe de fonctionnalités clairsemé.