RandomizedPcaTrainer Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Para IEstimator<TTransformer> treinar um PCA aproximado usando o algoritmo SVD Randomized.
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)
- Herança
-
RandomizedPcaTrainer
Comentários
Para criar esse treinador, use RandomizedPca ou RandomizedPca(Options).
Colunas de entrada e saída
Os dados da coluna de recursos de entrada devem ser um vetor de tamanho conhecido de Single. Este treinador gera as seguintes colunas:
Nome da Coluna de Saída | Tipo de coluna | Descrição |
---|---|---|
Score |
Single | A pontuação não negativa e não associada calculada pelo modelo de detecção de anomalias. |
PredictedLabel |
Boolean | O rótulo previsto, com base no limite. Uma pontuação maior do que o limite mapeia true e uma pontuação menor do que o limite mapeia para false . O limite padrão é 0.5 . Use <xref:AnomalyDetectionCatalog.ChangeModelThreshold> para alterar o valor padrão. |
Características do treinador
Ferramenta de machine learning | Detecção de anomalias |
A normalização é necessária? | Sim |
O cache é necessário? | No |
NuGet necessário além de Microsoft.ML | Nenhum |
Exportável para ONNX | No |
Detalhes do algoritmo de treinamento
Este treinador usa os principais eigenvectors para aproximar o subespaço que contém a classe normal. Para cada nova instância, ela calcula a diferença de norma entre o vetor de recurso bruto e o recurso projetado nesse subespaço. Se o erro estiver próximo de 0, a instância será considerada normal (não anomalia).
Mais especificamente, este treinador treina um PCA aproximado usando um método randomizado para calcular a decomposição de valor singular (SVD) da matriz cujas linhas são os vetores de entrada. O modelo gerado por este treinador contém três parâmetros:
- Uma matriz de projeção $U$
- O vetor médio no espaço de recurso original $m$
- O vetor médio no espaço de recurso projetado $p$
Para um vetor de recurso de entrada $x$, a pontuação de anomalia é calculada comparando a norma $L_2$ do vetor de entrada original e a norma $L_2$ do vetor projetado: $\sqrt{\left(|x-m|_2^2 - | Ux-p|_2^2\right)|x-m|_2^2}$.
O método é descrito aqui.
Observe que o algoritmo pode ser feito no Kernel PCA aplicando os ApproximatedKernelTransformer dados antes de passá-los para o treinador.
Verifique a seção Consulte Também para obter links para exemplos de uso.
Campos
FeatureColumn |
A coluna de recursos esperada pelo treinador. (Herdado de TrainerEstimatorBase<TTransformer,TModel>) |
LabelColumn |
A coluna de rótulo esperada pelo treinador. Pode ser |
WeightColumn |
A coluna de peso que o treinador espera. Pode ser |
Propriedades
Info |
Para IEstimator<TTransformer> treinar um PCA aproximado usando o algoritmo SVD Randomized. |
Métodos
Fit(IDataView) |
Treina e retorna um ITransformer. (Herdado de TrainerEstimatorBase<TTransformer,TModel>) |
GetOutputSchema(SchemaShape) |
Para IEstimator<TTransformer> treinar um PCA aproximado usando o algoritmo SVD Randomized. (Herdado de TrainerEstimatorBase<TTransformer,TModel>) |
Métodos de Extensão
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Acrescente um 'ponto de verificação de cache' à cadeia do avaliador. Isso garantirá que os estimadores downstream sejam treinados em relação aos dados armazenados em cache. É útil ter um ponto de verificação de cache antes dos treinadores que levam vários passes de dados. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Dado um avaliador, retorne um objeto de encapsulamento que chamará um delegado uma vez Fit(IDataView) que seja chamado. Geralmente, é importante que um avaliador retorne informações sobre o que estava em forma, e é por isso que o Fit(IDataView) método retorna um objeto especificamente tipado, em vez de apenas um geral ITransformer. No entanto, ao mesmo tempo, IEstimator<TTransformer> muitas vezes são formados em pipelines com muitos objetos, portanto, talvez seja necessário criar uma cadeia de avaliadores por meio EstimatorChain<TLastTransformer> de onde o estimador para o qual queremos obter o transformador está enterrado em algum lugar nesta cadeia. Para esse cenário, podemos por meio desse método anexar um delegado que será chamado assim que o ajuste for chamado. |