Поделиться через


AveragedPerceptronTrainer Класс

Определение

Прогнозирование IEstimator<TTransformer> целевого объекта с помощью модели линейной двоичной классификации, обученной с помощью усредненного перцептрона.

public sealed class AveragedPerceptronTrainer : Microsoft.ML.Trainers.AveragedLinearTrainer<Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Trainers.LinearBinaryModelParameters>,Microsoft.ML.Trainers.LinearBinaryModelParameters>
type AveragedPerceptronTrainer = class
    inherit AveragedLinearTrainer<BinaryPredictionTransformer<LinearBinaryModelParameters>, LinearBinaryModelParameters>
Public NotInheritable Class AveragedPerceptronTrainer
Inherits AveragedLinearTrainer(Of BinaryPredictionTransformer(Of LinearBinaryModelParameters), LinearBinaryModelParameters)
Наследование

Комментарии

Чтобы создать этот обучающее средство, используйте AveragedPerceptron или AveragedPerceptron(Options).

Входные и выходные столбцы

Входные данные столбца меток должны иметь тип Boolean. Входные признаки данных столбцов должны быть вектором известного Singleразмера . Этот алгоритм обучения выводит следующие столбцы:

Имя выходного столбца Тип столбца Описание
Score Single Несвязанная оценка, вычисляемая моделью.
PredictedLabel Boolean Прогнозируемая метка, зависящая от знака оценки. Отрицательная оценка соответствует значению false, а положительная — значению true.

Характеристики тренера

Задача машинного обучения Двоичная классификация
Требуется ли нормализация? Да
Требуется ли кэширование? нет
Требуется NuGet в дополнение к Microsoft.ML Нет
Экспортируемый в ONNX Да

Сведения об алгоритме обучения

Перцептрон — это алгоритм классификации, который делает его прогнозы путем поиска разделяющего гиперплана. Например, с значениями признаков $f_0, f_1,..., f_{D-1}$, прогноз определяется путем определения стороны гиперплана точки. Это то же самое, что и знак взвешаемой суммы feautures, т. е. $\sum_{i = 0}^{D-1} (w_i * f_i) + b$, где $w_0, w_1,..., w_{D-1}$ — это весовые коэффициенты, вычисляемые алгоритмом, а $b$ — смещение, вычисляемое алгоритмом.

Perceptron — это сетевой алгоритм, который означает, что он обрабатывает экземпляры в обучаемом наборе по одному за раз. Он начинается с набора начальных весов (ноль, случайный или инициализированный из предыдущего учащегося). Затем для каждого примера в обучаемом наборе вычисляется взвешаемая сумма признаков. Если это значение имеет тот же знак, что и метка текущего примера, весовые коэффициенты остаются прежними. Если они имеют противоположные признаки, вектор весов обновляется путем добавления или вычитания (если метка является положительной или отрицательной, соответственно) вектор признаков текущего примера, умноженный на коэффициент 0 < a <= 1, называемый скоростью обучения. В обобщении этого алгоритма весовые коэффициенты обновляются путем добавления вектора признаков, умноженного на скорость обучения, и на градиент некоторых функций потери (в конкретном случае, описанном выше, потеря зависит от потери, градиент 1, если он не равен нулю).

В усредненном Перцептроне (aka voted-perceptron) для каждой итерации, т. е. пройти через обучающие данные, вектор веса вычисляется, как описано выше. Затем окончательный прогноз вычисляется путем усреднения взвешаемой суммы из каждого вектора веса и просмотра знака результата.

Дополнительные сведения см. в записи Википедии для Perceptron или крупной классификации полей с помощью алгоритма Perceptron.

Ссылки на примеры использования см. в разделе "См. также".

Поля

FeatureColumn

Столбец признаков, который ожидает тренер.

(Унаследовано от TrainerEstimatorBase<TTransformer,TModel>)
LabelColumn

Столбец метки, который ожидает тренер. Может иметь значение null, указывающее, что метка не используется для обучения.

(Унаследовано от TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Столбец веса, который ожидает тренер. Может быть null, что указывает, что вес не используется для обучения.

(Унаследовано от TrainerEstimatorBase<TTransformer,TModel>)

Свойства

Info

Прогнозирование IEstimator<TTransformer> целевого объекта с помощью модели линейной двоичной классификации, обученной с помощью усредненного перцептрона.

(Унаследовано от OnlineLinearTrainer<TTransformer,TModel>)

Методы

Fit(IDataView)

Тренирует и возвращает .ITransformer

(Унаследовано от TrainerEstimatorBase<TTransformer,TModel>)
Fit(IDataView, LinearModelParameters)

Продолжает обучение OnlineLinearTrainer<TTransformer,TModel> использования уже обученного modelParameters и возвращает ITransformerзначение .

(Унаследовано от OnlineLinearTrainer<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

Прогнозирование IEstimator<TTransformer> целевого объекта с помощью модели линейной двоичной классификации, обученной с помощью усредненного перцептрона.

(Унаследовано от TrainerEstimatorBase<TTransformer,TModel>)

Методы расширения

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

Добавьте "контрольную точку кэширования" в цепочку оценщика. Это гарантирует, что подчиненные оценщики будут обучены на основе кэшированных данных. Рекомендуется использовать контрольную точку кэширования перед обучением, которые принимают несколько данных.

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

Учитывая оценщик, верните объект-оболочку, который будет вызывать делегат один раз Fit(IDataView) . Часто важно, чтобы оценщик возвращал сведения о том, что было положено, поэтому Fit(IDataView) метод возвращает специально типизированный объект, а не просто общий ITransformer. Однако в то же время часто IEstimator<TTransformer> формируются в конвейеры со многими объектами, поэтому нам может потребоваться создать цепочку оценщиков, где EstimatorChain<TLastTransformer> оценщик, для которого мы хотим получить преобразователь, похоронен где-то в этой цепочке. В этом сценарии мы можем подключить делегат, который будет вызываться после вызова соответствия.

Применяется к

См. также раздел