AveragedPerceptronTrainer 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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 |
WeightColumn |
트레이너가 기대하는 체중 열입니다. 가중치가 학습에 사용되지 않음을 나타내는 일 |
속성
Info |
IEstimator<TTransformer> 평균 퍼셉트론으로 학습된 선형 이진 분류 모델을 사용하여 대상을 예측하는 것입니다. (다음에서 상속됨 OnlineLinearTrainer<TTransformer,TModel>) |
메서드
Fit(IDataView, LinearModelParameters) |
이미 학습된 |
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이 호출되면 호출되는 대리자를 이 메서드를 통해 연결할 수 있습니다. |