RandomizedPcaTrainer Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
para IEstimator<TTransformer> entrenar un PCA aproximado mediante el algoritmo SVD aleatorio.
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)
- Herencia
-
RandomizedPcaTrainer
Comentarios
Para crear este instructor, use RandomdPca o RandomdPca(Options).
Columnas de entrada y salida
Los datos de columna de las características de entrada deben ser un vector de tamaño conocido de Single. Este instructor genera las siguientes columnas:
Nombre de columna de salida | Tipo de columna | Descripción |
---|---|---|
Score |
Single | Puntuación no negativa y sin enlazar calculada por el modelo de detección de anomalías. |
PredictedLabel |
Boolean | La etiqueta predicha, según el umbral. Una puntuación mayor que el umbral se asigna a true y una puntuación inferior a la del umbral se asigna a false . El umbral predeterminado es 0.5 . Use <xref:AnomalyDetectionCatalog.ChangeModelThreshold> para cambiar el valor predeterminado. |
Características del entrenador
Tarea de Machine Learning | Detección de anomalías |
¿Se requiere normalización? | Sí |
¿Se requiere el almacenamiento en caché? | No |
NuGet necesario además de Microsoft.ML | None |
Exportable a ONNX | No |
Detalles del algoritmo de entrenamiento
Este instructor usa los vectores propios superiores para aproximar el subespacio que contiene la clase normal. Para cada nueva instancia, calcula la diferencia de norma entre el vector de característica sin procesar y la característica proyectada en ese subespacio. Si el error está cerca de 0, la instancia se considera normal (no anomalía).
Más concretamente, este instructor entrena un PCA aproximado mediante un método aleatorio para calcular la descomposición del valor singular (SVD) de la matriz cuyas filas son los vectores de entrada. El modelo generado por este instructor contiene tres parámetros:
- Matriz de proyección $U$
- Vector medio del espacio de características original $m$
- Vector medio del espacio de características proyectado $p$
Para un vector de característica de entrada $x$, la puntuación de anomalía se calcula comparando la norma $L_2$ del vector de entrada original y la norma $L_2$ del vector proyectado: $\sqrt{\left(|x-m|_2^2 - | Ux-p|_2^2\right)|x-m|_2^2}$.
El método se describe aquí.
Tenga en cuenta que el algoritmo se puede convertir en PCA de kernel aplicando a ApproximatedKernelTransformer los datos antes de pasarlo al instructor.
Consulte la sección Consulte también los vínculos a ejemplos de uso.
Campos
FeatureColumn |
Columna de características que espera el instructor. (Heredado de TrainerEstimatorBase<TTransformer,TModel>) |
LabelColumn |
Columna de etiqueta que espera el instructor. Puede ser |
WeightColumn |
Columna de peso que espera el entrenador. Puede ser |
Propiedades
Info |
para IEstimator<TTransformer> entrenar un PCA aproximado mediante el algoritmo SVD aleatorio. |
Métodos
Fit(IDataView) |
Entrena y devuelve un ITransformer. (Heredado de TrainerEstimatorBase<TTransformer,TModel>) |
GetOutputSchema(SchemaShape) |
para IEstimator<TTransformer> entrenar un PCA aproximado mediante el algoritmo SVD aleatorio. (Heredado de TrainerEstimatorBase<TTransformer,TModel>) |
Métodos de extensión
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Anexe un "punto de control de almacenamiento en caché" a la cadena del estimador. Esto garantizará que los estimadores de nivel inferior se entrenarán con los datos almacenados en caché. Resulta útil tener un punto de control de almacenamiento en caché antes de que los instructores tomen varios pases de datos. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Dado un estimador, devuelva un objeto de ajuste que llamará a un delegado una vez Fit(IDataView) que se llame. A menudo, es importante que un estimador devuelva información sobre lo que cabe, por lo que el Fit(IDataView) método devuelve un objeto con tipo específico, en lugar de simplemente un general ITransformer. Sin embargo, al mismo tiempo, IEstimator<TTransformer> a menudo se forman en canalizaciones con muchos objetos, por lo que es posible que tengamos que crear una cadena de estimadores a través EstimatorChain<TLastTransformer> de donde el estimador para el que queremos obtener el transformador está enterrado en algún lugar de esta cadena. En ese escenario, podemos a través de este método adjuntar un delegado al que se llamará una vez que se llame a fit. |