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размера. Этот тренер выводит следующие столбцы:
| Имя выходного столбца | Тип столбца | Description |
|---|---|---|
Score |
Single | Несвязанная оценка, вычисляемая моделью. |
PredictedLabel |
Boolean | Прогнозируемая метка, определяемая по знаку оценки. Отрицательный показатель сопоставляется с false, а положительный показатель сопоставляется с true. |
Характеристики тренера
| Задача машинного обучения | Двоичная классификация |
| Требуется ли нормализация? | Yes |
| Требуется ли кэширование? | No |
| Обязательный NuGet в дополнение к Microsoft.ML | Нет |
| Экспортируемый в ONNX | Yes |
Сведения об алгоритме обучения
Perceptron — это алгоритм классификации, который делает прогнозы путем поиска разделяющего гиперплана. Например, с значениями признаков $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, если он не равен нулю).
В среднее значение Perceptron (aka голосовал-perceptron), для каждой итерации, т. е. проходит через обучающие данные, вектор веса вычисляется, как описано выше. Затем окончательный прогноз вычисляется путем усеченной суммы из каждого вектора веса и просмотра признака результата.
Дополнительные сведения см. в записи Википедии для Perceptron или большой классификации полей с помощью алгоритма Perceptron.
Ознакомьтесь с разделом "См. также" ссылки на примеры использования.
Поля
| Имя | Описание |
|---|---|
| FeatureColumn |
Столбец признаков, который ожидает тренер. (Унаследовано от TrainerEstimatorBase<TTransformer,TModel>) |
| LabelColumn |
Столбец метки, который ожидает тренер. Может быть |
| WeightColumn |
Столбец веса, который ожидает тренер. Может быть |
Свойства
| Имя | Описание |
|---|---|
| Info |
Прогнозирование IEstimator<TTransformer> целевого объекта с помощью линейной модели двоичной классификации, обученной со средним перцептроном. (Унаследовано от OnlineLinearTrainer<TTransformer,TModel>) |
Методы
| Имя | Описание |
|---|---|
| Fit(IDataView, LinearModelParameters) |
Продолжает обучение OnlineLinearTrainer<TTransformer,TModel> использования уже обученного |
| Fit(IDataView) |
Поезда и возвращается ITransformer. (Унаследовано от TrainerEstimatorBase<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> того, где оценка, для которой мы хотим получить преобразователь, похоронен где-то в этой цепочке. В этом сценарии мы можем подключить делегат, который будет вызываться после вызова. |