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


RandomizedPcaTrainer Класс

Определение

Для IEstimator<TTransformer> обучения приблизительного PCA с помощью алгоритма randomized SVD.

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

Комментарии

Чтобы создать этот тренер, используйте RandomizedPca или RandomizedPca(Options).

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

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

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

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

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

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

Этот тренер использует верхние собственные методы для приближения подпространства, содержащего обычный класс. Для каждого нового экземпляра вычисляется нормовое различие между вектором необработанных признаков и проецируемым компонентом в этом подпространстве. Если ошибка близка к 0, экземпляр считается нормальным (без аномалий).

В частности, этот тренер обучает приблизительный PCA с помощью рандомизированного метода для вычисления сингулярного декомпозиции значения (SVD) матрицы, строки которой являются входными векторами. Модель, созданная этим тренером, содержит три параметра:

  • Матрица проекции $U$
  • Средний вектор в исходном пространстве признаков $m$
  • Средний вектор в проецируемого пространства признаков $p$

Для вектора входных признаков $x$оценка аномалий вычисляется путем сравнения нормы $L_2$ исходного входного вектора и норму $L_2$ проецируемого вектора: $\sqrt{\left(|x-m|_2^2 – | Ux-p|_2^2\right)|x-m|_2^2}$.

Здесь описан метод.

Обратите внимание, что алгоритм можно преобразовать в ядро PCA, применив ApproximatedKernelTransformer их к данным перед передачей в тренер.

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

Поля

FeatureColumn

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

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

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

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

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

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

Свойства

Info

Для IEstimator<TTransformer> обучения приблизительного PCA с помощью алгоритма randomized SVD.

Методы

Fit(IDataView)

Поезда и возвращается ITransformer.

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

Для IEstimator<TTransformer> обучения приблизительного PCA с помощью алгоритма randomized SVD.

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

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

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

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

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

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

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

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