RandomizedPcaTrainer Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Для IEstimator<TTransformer> обучения приблизительного PCA с помощью алгоритма случайных 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размера. Этот тренер выводит следующие столбцы:
| Имя выходного столбца | Тип столбца | Description |
|---|---|---|
Score |
Single | Неотрицательная, несвязанная оценка, вычисляемая моделью обнаружения аномалий. |
PredictedLabel |
Boolean | Прогнозируемая метка на основе порогового значения. Оценка выше порогового значения и true оценка ниже порогового значения.false Пороговое значение по умолчанию — 0.5. Используется <xref:AnomalyDetectionCatalog.ChangeModelThreshold> для изменения значения по умолчанию. |
Характеристики тренера
| Задача машинного обучения | Обнаружение аномалий |
| Требуется ли нормализация? | Yes |
| Требуется ли кэширование? | No |
| Обязательный NuGet в дополнение к Microsoft.ML | Нет |
| Экспортируемый в ONNX | No |
Сведения об алгоритме обучения
Этот тренер использует верхние собственные методы для приближения подпространства, содержащего обычный класс. Для каждого нового экземпляра вычисляется нормовое различие между вектором необработанных признаков и проецируемым компонентом в этом подпространстве. Если ошибка близка к 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 с помощью алгоритма случайных SVD. |
Методы
| Имя | Описание |
|---|---|
| Fit(IDataView) |
Поезда и возвращается ITransformer. (Унаследовано от TrainerEstimatorBase<TTransformer,TModel>) |
| GetOutputSchema(SchemaShape) |
Для IEstimator<TTransformer> обучения приблизительного PCA с помощью алгоритма случайных SVD. (Унаследовано от TrainerEstimatorBase<TTransformer,TModel>) |
Методы расширения
| Имя | Описание |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Добавьте "контрольную точку кэширования" в цепочку оценщика. Это гарантирует, что нижестоящий оценщик будет обучен по кэшированным данным. Рекомендуется использовать контрольную точку кэширования перед обучением, которые принимают несколько передач данных. |
| WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
При оценке возвращает объект оболочки, который вызовет делегат после Fit(IDataView) вызова. Часто важно для оценки возвращать сведения о том, что было подходяще, поэтому Fit(IDataView) метод возвращает специально типизированный объект, а не просто общий ITransformer. Однако, в то же время, IEstimator<TTransformer> часто формируются в конвейеры с множеством объектов, поэтому нам может потребоваться построить цепочку оценщиков с помощью EstimatorChain<TLastTransformer> того, где оценка, для которой мы хотим получить преобразователь, похоронен где-то в этой цепочке. В этом сценарии мы можем подключить делегат, который будет вызываться после вызова. |