Partilhar via


LdSvmTrainer Classe

Definição

A IEstimator<TTransformer> previsão de um destino usando um modelo de classificação binária não linear treinado com a SVM profunda local.

public sealed class LdSvmTrainer : Microsoft.ML.Trainers.TrainerEstimatorBase<Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Trainers.LdSvmModelParameters>,Microsoft.ML.Trainers.LdSvmModelParameters>
type LdSvmTrainer = class
    inherit TrainerEstimatorBase<BinaryPredictionTransformer<LdSvmModelParameters>, LdSvmModelParameters>
Public NotInheritable Class LdSvmTrainer
Inherits TrainerEstimatorBase(Of BinaryPredictionTransformer(Of LdSvmModelParameters), LdSvmModelParameters)
Herança

Comentários

Para criar esse treinador, use LdSvm ou LdSvm(Options).

Colunas de entrada e saída

Os dados da coluna de rótulo de entrada devem ser Boolean. 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 associada calculada pelo modelo.
PredictedLabel Boolean O rótulo previsto com base no sinal da pontuação. Uma pontuação negativa é mapeada para false e uma pontuação positiva é mapeada para true.

Características do treinador

Ferramenta de machine learning Classificação binária
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

A SVM profunda local (LD-SVM) é uma generalização do Aprendizado de Kernel Múltiplo Localizado para SVM não linear. Vários métodos de kernel aprendem um kernel diferente e, portanto, um classificador diferente, para cada ponto no espaço de recurso. O custo de tempo de previsão para vários métodos kernel pode ser proibitivamente caro para grandes conjuntos de treinamento porque é proporcional ao número de vetores de suporte, e eles crescem linearmente com o tamanho do conjunto de treinamento. O LD-SVM reduz o custo de previsão aprendendo uma inserção de recurso local baseada em árvore que é altamente dimensional e esparsa, codificando com eficiência não linearidades. Usando LD-SVM, o custo de previsão cresce logaritmicamente com o tamanho do conjunto de treinamento, em vez de linearmente, com uma perda tolerável na precisão de classificação.

O SVM profundo local é uma implementação do algoritmo descrito em C. Jose, P. Goyal, P. Aggrwal e M. Varma, Local Deep Kernel Learning for Efficient Non-linear SVM Prediction, ICML, 2013.

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

A IEstimator<TTransformer> previsão de um destino usando um modelo de classificação binária não linear treinado com a SVM profunda local.

Métodos

Fit(IDataView)

Treina e retorna um ITransformer.

(Herdado de TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

A IEstimator<TTransformer> previsão de um destino usando um modelo de classificação binária não linear treinado com a SVM profunda local.

(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