Compartilhar via


RandomizedPcaTrainer Classe

Definição

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

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 null, o que indica que o rótulo não é usado para treinamento.

(Herdado de TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

A coluna de peso que o treinador espera. Pode ser null, o que indica que o peso não é usado para treinamento.

(Herdado de TrainerEstimatorBase<TTransformer,TModel>)

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.

Aplica-se a

Confira também