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)
- Наследование
-
RandomizedPcaTrainer
Комментарии
Чтобы создать этот тренер, используйте 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 |
Столбец меток, который ожидает тренер. Может иметь значение |
WeightColumn |
Столбец веса, который ожидает тренер. Может быть |
Свойства
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> оценщик, для которого мы хотим получить преобразователь, похоронен где-то в этой цепочке. В этом сценарии мы можем подключить делегат, который будет вызываться после вызова соответствия. |