LinearSvmTrainer Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Прогнозирование IEstimator<TTransformer> целевого объекта с помощью линейной модели двоичной классификации, обученной с помощью линейной SVM.
public sealed class LinearSvmTrainer : Microsoft.ML.Trainers.OnlineLinearTrainer<Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Trainers.LinearBinaryModelParameters>,Microsoft.ML.Trainers.LinearBinaryModelParameters>
type LinearSvmTrainer = class
inherit OnlineLinearTrainer<BinaryPredictionTransformer<LinearBinaryModelParameters>, LinearBinaryModelParameters>
Public NotInheritable Class LinearSvmTrainer
Inherits OnlineLinearTrainer(Of BinaryPredictionTransformer(Of LinearBinaryModelParameters), LinearBinaryModelParameters)
- Наследование
Комментарии
Чтобы создать этот обучающее средство, используйте LinearSvm или LinearSvm(Options).
Входные и выходные столбцы
Данные столбца входной метки должны быть Boolean. Входные данные столбцов функций должны быть известными векторами Singleразмера. Этот тренер выводит следующие столбцы:
| Имя выходного столбца | Тип столбца | Description |
|---|---|---|
Score |
Single | Несвязанная оценка, вычисляемая моделью. |
PredictedLabel |
Boolean | Прогнозируемая метка, определяемая по знаку оценки. Отрицательный показатель сопоставляется с false, а положительный показатель сопоставляется с true. |
Характеристики тренера
| Задача машинного обучения | Двоичная классификация |
| Требуется ли нормализация? | Yes |
| Требуется ли кэширование? | No |
| Обязательный NuGet в дополнение к Microsoft.ML | Нет |
| Экспортируемый в ONNX | Yes |
Сведения об алгоритме обучения
Линейный SVM реализует алгоритм, который находит гиперплан в пространстве функций для двоичной классификации, решив проблему SVM. Например, с значениями признаков $f_0, f_1,..., f_{D-1}$, прогнозирование дано путем определения того, на какой стороне гиперплана точка попадает. То же самое, что и знак взвешаемой суммы feautures, т. е. $\sum_{i = 0}^{D-1} \left(w_i * f_i \right) + b$, где $w_0, w_1,..., w_{D-1}$ являются весами, вычисляемыми алгоритмом, и $b$ — это предвзятость, вычисляемая алгоритмом.
Линейный SVM реализует метод PEGASOS, который чередуется между градиентными шагами градиента и шагами проекции, представленными в этом документе Shalev-Shwartz, Singer и Srebro.
Ознакомьтесь с разделом "См. также" ссылки на примеры использования.
Поля
| Имя | Описание |
|---|---|
| FeatureColumn |
Столбец признаков, который ожидает тренер. (Унаследовано от TrainerEstimatorBase<TTransformer,TModel>) |
| LabelColumn |
Столбец метки, который ожидает тренер. Может быть |
| WeightColumn |
Столбец веса, который ожидает тренер. Может быть |
Свойства
| Имя | Описание |
|---|---|
| Info |
Прогнозирование IEstimator<TTransformer> целевого объекта с помощью линейной модели двоичной классификации, обученной с помощью линейной SVM. (Унаследовано от OnlineLinearTrainer<TTransformer,TModel>) |
Методы
| Имя | Описание |
|---|---|
| Fit(IDataView, LinearModelParameters) |
Продолжает обучение OnlineLinearTrainer<TTransformer,TModel> использования уже обученного |
| Fit(IDataView) |
Поезда и возвращается ITransformer. (Унаследовано от TrainerEstimatorBase<TTransformer,TModel>) |
| GetOutputSchema(SchemaShape) |
Прогнозирование IEstimator<TTransformer> целевого объекта с помощью линейной модели двоичной классификации, обученной с помощью линейной SVM. (Унаследовано от TrainerEstimatorBase<TTransformer,TModel>) |
Методы расширения
| Имя | Описание |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Добавьте "контрольную точку кэширования" в цепочку оценщика. Это гарантирует, что нижестоящий оценщик будет обучен по кэшированным данным. Рекомендуется использовать контрольную точку кэширования перед обучением, которые принимают несколько передач данных. |
| WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
При оценке возвращает объект оболочки, который вызовет делегат после Fit(IDataView) вызова. Часто важно для оценки возвращать сведения о том, что было подходяще, поэтому Fit(IDataView) метод возвращает специально типизированный объект, а не просто общий ITransformer. Однако, в то же время, IEstimator<TTransformer> часто формируются в конвейеры с множеством объектов, поэтому нам может потребоваться построить цепочку оценщиков с помощью EstimatorChain<TLastTransformer> того, где оценка, для которой мы хотим получить преобразователь, похоронен где-то в этой цепочке. В этом сценарии мы можем подключить делегат, который будет вызываться после вызова. |