PairwiseCouplingTrainer 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 이 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)
- 상속
-
MetaMulticlassTrainer<MulticlassPredictionTransformer<PairwiseCouplingModelParameters>,PairwiseCouplingModelParameters>PairwiseCouplingTrainer
설명
이 트레이너를 만들려면 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이 호출되면 호출되는 대리자를 이 메서드를 통해 연결할 수 있습니다. |