Распределенная версия оптимизатора стохастического двойного координатного восхождения (SDCA) для
линейные модели с регуляризацией L1+L2. Поскольку глобальная цель оптимизации является сильно выпуклой, оптимизатор оптимизирует двойную цель на каждом этапе. Оптимизатор применяет каждое обновление по одному примеру. Примеры выбираются равномерно, а оптимизатор не требует скорости обучения и имеет линейную скорость сходимости.
[Проксимальное стохастическое восхождение по двойной координате] (http://arxiv.org/pdf/1211.2717v1.pdf).
Шай Шалев-Шварц, Тонг Чжан. 2012 год
$$Loss Objective = \sum f_{i} (wx_{i}) + (l2 / 2) * |w|^2 + l1 * |w|$$
[Сложение и усреднение в распределенной первично-двойной оптимизации] (http://arxiv.org/abs/1502.03508).
Ченсинь Ма, Вирджиния Смит, Мартин Джагги, Майкл И. Джордан, Питер Рихтарик, Мартин Такач. 2015 год
[Стохастический подъем по двум координатам с адаптивными вероятностями] (https://arxiv.org/abs/1502.08053).
Доминик Чиба, Чжэн Цюй, Петер Рихтарик. 2015 год
Вложенные классы
сорт | SdcaOptimizer.Параметры | Дополнительные атрибуты для SdcaOptimizer |
Константы
Нить | OP_NAME | Название этой операции, известное основному движку TensorFlow. |
Публичные методы
статический SdcaOptimizer.Options | адаптивный (логический адаптивный) |
статический SdcaOptimizer | create ( Область видимости, Iterable< Operand < TInt64 >> sparseExampleIndices, Iterable< Operand < TInt64 >> sparseFeatureIndices, Iterable< Operand < TFloat32 >> sparseFeatureValues, Iterable< Operand < TFloat32 >> DensityFeatures, Operand < TFloat32 > exampleWeights, Operand < TFloat32 > exampleLabels, Iterable< Operand < TInt64 >> sparseIndices, Iterable< Operand < TFloat32 >> sparseWeights, Iterable< Operand < TFloat32 >> DensityWeights, Operand < TFloat32 > exampleStateData, String lossType, Float l1, Float l2, Long numLossPartitions, Long numInnerIterations , Опции... варианты) Фабричный метод для создания класса, обертывающего новую операцию SdcaOptimizer. |
Список< Вывод <TFloat32> > | outDeltaDenseWeights () список векторов, значениями которых являются дельта-веса, связанные с плотной группой объектов. |
Список< Вывод <TFloat32> > | outDeltaSparseWeights () список векторов, где каждое значение представляет собой дельта-веса, связанные с разреженной группой объектов. |
Вывод <TFloat32> | outExampleStateData () список векторов, содержащих обновленные данные о состоянии примера. |
Унаследованные методы
Константы
общедоступная статическая финальная строка OP_NAME
Название этой операции, известное основному движку TensorFlow.
Публичные методы
общедоступный статический SdcaOptimizer.Options адаптивный (логический адаптивный)
Параметры
адаптивный | Использовать ли Adaptive SDCA для внутреннего цикла. |
---|
public static SdcaOptimizer create ( Область видимости , Iterable< Operand < TInt64 >> sparseExampleIndices, Iterable< Operand < TInt64 >> sparseFeatureIndices, Iterable< Operand < TFloat32 >> sparseFeatureValues, Iterable< Operand < TFloat32 >> DensityFeatures, Operand < TFloat32 > exampleWeights, Operand < TFloat32 > exampleLabels, Iterable< Operand < TInt64 >> sparseIndices, Iterable< Operand < TFloat32 >> sparseWeights, Iterable< Operand < TFloat32 >> DensityWeights, Operand < TFloat32 > exampleStateData, String lossType, Float l1, Float l2, Long numLossPartitions , Длинные numInnerIterations, Опции... опции)
Фабричный метод для создания класса, обертывающего новую операцию SdcaOptimizer.
Параметры
объем | текущий объем |
---|---|
разреженныйПримерИндексы | список векторов, которые содержат примеры индексов. |
разреженныйОсобенностьИндексы | список векторов, которые содержат индексы признаков. |
разреженныйFeatureValues | список векторов, который содержит значение признака, связанное с каждой группой признаков. |
плотныйОсобенности | список матриц, содержащих значения плотных признаков. |
примерВес | вектор, который содержит вес, связанный с каждым примером. |
примерЯрлыки | вектор, который содержит метку/цель, связанную с каждым примером. |
разреженные индексы | список векторов, где каждое значение представляет собой индексы, имеющие соответствующие веса в sparse_weights. Это поле может быть опущено для плотного подхода. |
разреженный вес | список векторов, где каждое значение представляет собой вес, связанный с разреженной группой объектов. |
плотныйВеса | список векторов, значениями которых являются веса, связанные с плотной группой объектов. |
примерStateData | список векторов, содержащих пример данных о состоянии. |
Тип потери | Тип первичной потери. В настоящее время SdcaSolver поддерживает логистические, квадратные и шарнирные потери. |
л1 | Симметричная сила регуляризации l1. |
л2 | Симметричная сила регуляризации l2. |
numLossPartitions | Количество разделов глобальной функции потерь. |
numInnerIterations | Количество итераций на мини-пакет. |
параметры | содержит значения необязательных атрибутов |
Возврат
- новый экземпляр SdcaOptimizer
общедоступный список < Вывод < TFloat32 >> outDeltaDenseWeights ()
список векторов, значениями которых являются дельта-веса, связанные с плотной группой объектов.
общедоступный список < Вывод < TFloat32 >> outDeltaSparseWeights ()
список векторов, где каждое значение представляет собой дельта-веса, связанные с разреженной группой объектов.
публичный вывод <TFloat32> outExampleStateData ()
список векторов, содержащих обновленные данные о состоянии примера.