다음을 통해 공유


AveragedPerceptronTrainer 클래스

정의

IEstimator<TTransformer> 평균 퍼셉트론으로 학습된 선형 이진 분류 모델을 사용하여 대상을 예측하는 것입니다.

public sealed class AveragedPerceptronTrainer : Microsoft.ML.Trainers.AveragedLinearTrainer<Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Trainers.LinearBinaryModelParameters>,Microsoft.ML.Trainers.LinearBinaryModelParameters>
type AveragedPerceptronTrainer = class
    inherit AveragedLinearTrainer<BinaryPredictionTransformer<LinearBinaryModelParameters>, LinearBinaryModelParameters>
Public NotInheritable Class AveragedPerceptronTrainer
Inherits AveragedLinearTrainer(Of BinaryPredictionTransformer(Of LinearBinaryModelParameters), LinearBinaryModelParameters)
상속

설명

이 트레이너를 만들려면 AveragedPerceptron 또는 AveragedPerceptron(옵션)을 사용합니다.

입력 및 출력 열

입력 레이블 열 데이터는 Boolean이어야 합니다. 입력 기능 열 데이터는 알려진 크기의 벡터 Single여야 합니다. 이 트레이너는 다음 열을 출력합니다.

출력 열 이름 열 유형 설명
Score Single 모델에서 계산한 바인딩되지 않은 점수입니다.
PredictedLabel Boolean 점수 부호에 따라 예측된 레이블 음수 점수는 false에 양수 점수는 true에 매핑됩니다.

트레이너 특성

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

학습 알고리즘 세부 정보

퍼셉트론은 분리된 하이퍼플레인을 찾아 예측을 만드는 분류 알고리즘입니다. 예를 들어 기능 값 $f_0이 f_1,..., f_{D-1}$인 경우 지점이 속하는 하이퍼플레인의 측면을 결정하여 예측이 제공됩니다. 이는 feautures의 가중 합계(예: $\sum_{i = 0}^{D-1}(w_i * f_i) + b$의 표시와 동일합니다. 여기서 $w_0, w_1,..., w_{D-1}$는 알고리즘에서 계산한 가중치이며 $b$는 알고리즘에서 계산하는 편차입니다.

perceptron은 온라인 알고리즘입니다. 즉, 학습 집합의 인스턴스를 한 번에 하나씩 처리합니다. 초기 가중치 집합(이전 학습자에서 0, 임의 또는 초기화됨)으로 시작합니다. 그런 다음 학습 집합의 각 예제에 대해 기능의 가중 합계가 계산됩니다. 이 값의 부호가 현재 예제의 레이블과 같으면 가중치는 동일하게 유지됩니다. 반대 기호가 있는 경우 가중치 벡터는 현재 예제의 기능 벡터를 추가하거나 빼고(각각 양수 또는 음수인 경우) 학습 속도라고 하는 요소 0 < a <= 1을 곱하여 업데이트됩니다. 이 알고리즘의 일반화에서 가중치는 학습 속도를 곱한 기능 벡터를 추가하고 일부 손실 함수의 그라데이션을 통해 업데이트됩니다(위에서 설명한 특정 경우 손실은 힌지 손실이며 그라데이션은 0이 아닌 경우 1임).

Averaged Perceptron(즉, voted-perceptron)에서 각 반복에 대해, 즉 학습 데이터를 통과하면 위에서 설명한 대로 가중치 벡터가 계산됩니다. 그런 다음 각 가중치 벡터의 가중치 합계를 평균화하고 결과의 기호를 확인하여 최종 예측을 계산합니다.

자세한 내용은 Perceptron 알고리즘을 사용하는 Perceptron 또는 큰 여백 분류에 대한 Wikipedia 항목을 참조하세요.

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

필드

FeatureColumn

트레이너가 기대하는 기능 열입니다.

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

트레이너가 기대하는 레이블 열입니다. Can be null, which indicates that label is not used for training.

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

트레이너가 기대하는 체중 열입니다. 가중치가 학습에 사용되지 않음을 나타내는 일 null수 있습니다.

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

속성

Info

IEstimator<TTransformer> 평균 퍼셉트론으로 학습된 선형 이진 분류 모델을 사용하여 대상을 예측하는 것입니다.

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

메서드

Fit(IDataView, LinearModelParameters)

이미 학습된 modelParameters using의 학습을 OnlineLinearTrainer<TTransformer,TModel> 계속하고 .ITransformer

(다음에서 상속됨 OnlineLinearTrainer<TTransformer,TModel>)
Fit(IDataView)

를 학습하고 반환합니다 ITransformer.

(다음에서 상속됨 TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

IEstimator<TTransformer> 평균 퍼셉트론으로 학습된 선형 이진 분류 모델을 사용하여 대상을 예측하는 것입니다.

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

확장 메서드

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

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

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

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

적용 대상

추가 정보