Share via


PairwiseCouplingTrainer 클래스

정의

지정된 이 IEstimator<TTransformer> 진 분류자를 사용하는 쌍으로 결합된 다중 클래스 분류자를 학습하기 위한 것입니다.

public sealed class PairwiseCouplingTrainer : Microsoft.ML.Trainers.MetaMulticlassTrainer<Microsoft.ML.Data.MulticlassPredictionTransformer<Microsoft.ML.Trainers.PairwiseCouplingModelParameters>,Microsoft.ML.Trainers.PairwiseCouplingModelParameters>
type PairwiseCouplingTrainer = class
    inherit MetaMulticlassTrainer<MulticlassPredictionTransformer<PairwiseCouplingModelParameters>, PairwiseCouplingModelParameters>
Public NotInheritable Class PairwiseCouplingTrainer
Inherits MetaMulticlassTrainer(Of MulticlassPredictionTransformer(Of PairwiseCouplingModelParameters), PairwiseCouplingModelParameters)
상속

설명

이 트레이너를 만들려면 PairwiseCoupling을 사용합니다.

입력 및 출력 열

입력 레이블 열 데이터는 형식이어야 하며 기능 열은 알려진 크기의 벡터 Single여야 합니다.

이 트레이너는 다음 열을 출력합니다.

출력 열 이름 열 유형 설명
Score Single 벡터 모든 클래스의 점수. 값이 높을수록 연결된 클래스에 해당할 가능성이 높습니다. i번째 요소의 값이 가장 크다면 예측된 레이블 인덱스는 i가 됩니다. i는 0부터 시작하는 인덱스입니다.
PredictedLabel 형식 예측된 레이블의 인덱스입니다. 값이 i라면 실제 레이블은 키 값 입력 레이블 형식에서 i번째 범주입니다.

트레이너 특성

기계 학습 작업 다중 클래스 분류
정규화가 필요한가요? 기본 이진 분류자에 따라 다름
캐싱이 필요한가요?
Microsoft.ML 외에도 필요한 NuGet 없음
ONNX로 내보낼 수 있습니다. 아니요

학습 알고리즘 세부 정보

이 전략에서 이진 분류 알고리즘은 각 클래스 쌍에 대해 학습됩니다. 쌍은 순서가 지정되지 않았지만 대체로 생성됩니다. 따라서 0, 1, 2의 세 가지 클래스가 있는 경우 쌍(0,0), (0,1), (0,2), (1,1), (1,2) 및 (2,2)에 대한 분류자를 학습시킵니다. 각 이진 분류자의 경우 입력 데이터 요소가 쌍의 두 클래스 중 하나에 있는 경우 양수 예제로 간주되고, 그렇지 않으면 음수 예제로 간주됩니다. 예측 시 각 클래스 쌍의 확률은 데이터가 지정된 쌍의 두 클래스 중 하나에 속할 확률로 간주되며, 예제가 지정된 쌍에 속할 확률을 감안할 때 클래스당 최종 예측 확률이 계산됩니다.

이를 통해 멀티클래스 문제를 해결하는 등 자연스럽게 멀티클래스 옵션이 없는 트레이너를 FastTreeBinaryTrainer 활용할 수 있습니다. 또는 트레이너에 멀티클래스 옵션이 있지만 일반적으로 메모리 제약 조건으로 인해 직접 사용하는 것이 실용적이지 않은 경우에도 ML.NET "더 간단한" 문제를 해결할 수 있습니다. 예를 들어 다중 클래스 로지스틱 회귀는 다중 클래스 문제를 해결하는 보다 원칙적인 방법이지만, 쌍으로 결합 분류 모델에 필요한 것처럼 1대 1이 아닌 모든 클래스에 대한 L-BFGS 기록 형태로 트레이너가 훨씬 더 많은 중간 상태를 동시에 저장해야 합니다.

사용 예제에 대한 링크는 참고 섹션을 참조하세요.

속성

Info

지정된 이 IEstimator<TTransformer> 진 분류자를 사용하는 쌍으로 결합된 다중 클래스 분류자를 학습하기 위한 것입니다.

(다음에서 상속됨 MetaMulticlassTrainer<TTransformer,TModel>)

메서드

Fit(IDataView)

데이터를 변환기에 맞습니다.

GetOutputSchema(SchemaShape)

출력 열을 가져옵니다.

(다음에서 상속됨 MetaMulticlassTrainer<TTransformer,TModel>)

확장 메서드

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

추정기 체인에 '캐싱 검사점'을 추가합니다. 이렇게 하면 다운스트림 추정기가 캐시된 데이터에 대해 학습됩니다. 여러 데이터 전달을 수행하는 트레이너 앞에 캐싱 검사점을 두는 것이 유용합니다.

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

추정기가 지정된 경우 대리자를 호출한 후 Fit(IDataView) 호출되는 래핑 개체를 반환합니다. 예측 도구가 적합한 항목에 대한 정보를 반환하는 것이 중요한 경우가 많습니다. 따라서 Fit(IDataView) 메서드는 일반 ITransformer개체가 아닌 특별히 형식화된 개체를 반환합니다. 그러나 동시에 IEstimator<TTransformer> 개체가 많은 파이프라인으로 형성되는 경우가 많으므로 변압기를 가져올 추정기가 이 체인의 어딘가에 묻혀 있는 위치를 통해 EstimatorChain<TLastTransformer> 추정기 체인을 빌드해야 할 수도 있습니다. 이 시나리오에서는 fit이 호출되면 호출되는 대리자를 이 메서드를 통해 연결할 수 있습니다.

적용 대상

추가 정보