다음을 통해 공유


LbfgsLogisticRegressionBinaryTrainer 클래스

정의

IEstimator<TTransformer> L-BFGS 메서드로 학습된 선형 로지스틱 회귀 모델을 사용하여 대상을 예측하는 것입니다.

public sealed class LbfgsLogisticRegressionBinaryTrainer : Microsoft.ML.Trainers.LbfgsTrainerBase<Microsoft.ML.Trainers.LbfgsLogisticRegressionBinaryTrainer.Options,Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Calibrators.CalibratedModelParametersBase<Microsoft.ML.Trainers.LinearBinaryModelParameters,Microsoft.ML.Calibrators.PlattCalibrator>>,Microsoft.ML.Calibrators.CalibratedModelParametersBase<Microsoft.ML.Trainers.LinearBinaryModelParameters,Microsoft.ML.Calibrators.PlattCalibrator>>
type LbfgsLogisticRegressionBinaryTrainer = class
    inherit LbfgsTrainerBase<LbfgsLogisticRegressionBinaryTrainer.Options, BinaryPredictionTransformer<CalibratedModelParametersBase<LinearBinaryModelParameters, PlattCalibrator>>, CalibratedModelParametersBase<LinearBinaryModelParameters, PlattCalibrator>>
Public NotInheritable Class LbfgsLogisticRegressionBinaryTrainer
Inherits LbfgsTrainerBase(Of LbfgsLogisticRegressionBinaryTrainer.Options, BinaryPredictionTransformer(Of CalibratedModelParametersBase(Of LinearBinaryModelParameters, PlattCalibrator)), CalibratedModelParametersBase(Of LinearBinaryModelParameters, PlattCalibrator))
상속

설명

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

입력 및 출력 열

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

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

출력 열 이름 열 유형 설명
Score Single 모델에서 계산한 바인딩되지 않은 점수입니다.
PredictedLabel Boolean 점수 부호에 따라 예측된 레이블 음수 점수는 false에 양수 점수는 true에 매핑됩니다.
Probability Single true를 레이블로 갖는 점수를 보정하여 계산된 확률입니다. 확률 값은 [0, 1] 범위에 있습니다.

트레이너 특성

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

점수 매기기 함수

선형 로지스틱 회귀는 선형 모델의 변형입니다. 기능 벡터 $\textbf{x} \in {\mathbb R}^n$을 통해 스칼라에 $\hat{y}\left( \textbf{x} \right) = \textbf{w}^T \textbf{x} + b = \sum_{j=1}^n w_j x_j + b$, 여기서 $x_j$는 $j$-th 기능의 값입니다. $\textbf{w}$의 $j$th 요소는 $j$th 기능의 계수입니다. 및 $b$는 학습 가능한 편견입니다. 실제 레이블을 얻을 확률은 $\frac{1}{1 + e^{\hat{y}\left( \textbf{x} \right)}}$입니다.

학습 알고리즘 세부 정보

구현된 최적화 기술은 제한된 메모리 Broyden-Fletcher-Goldfarb-Shanno 메서드(L-BFGS)를 기반으로 합니다. L-BFGS는 Hessian 행렬의 값비싼 계산 비용을 근사값으로 대체하는 준 뉴턴 메서드 이지만 여전히 전체 헤시안 행렬이 계산되는 Newton 메서드 와 같은 빠른 수렴 속도를 즐깁니다. L-BFGS 근사값은 제한된 양의 기록 상태만 사용하여 다음 단계 방향을 계산하므로, 특히 고차원 기능 벡터의 문제에 적합합니다. 기록 상태의 수는 사용자 지정 매개 변수입니다. 더 많은 수를 사용하면 Hessian 행렬에 대한 근사값이 향상될 수 있지만 단계당 계산 비용도 높아질 수 있습니다.

정규화는 데이터를 보완하는 정보를 제공하고 일반적으로 일부 표준 함수에 의해 측정되는 모델의 크기를 처벌하여 과잉 맞춤을 방지하는 제약 조건을 부과하여 문제가 발생할 수 있는 문제를 더 쉽게 렌더링할 수 있는 방법입니다. 이렇게 하면 바이어스-분산 절충에서 최적의 복잡성을 선택함으로써 학습된 모델의 일반화를 개선할 수 있습니다. 정규화는 계수 값과 연결된 페널티를 가설의 오류에 추가하여 작동합니다. 극단적인 계수 값을 가진 정확한 모델이 더 많은 페널티를 받고, 더 보수적인 값이 있는 덜 정확한 모델이 더 적은 페널티를 받습니다.

이 학습자는 LASSO(L1-norm), $||의 선형 조합인 탄력적 순 정규화를 지원합니다. \textbf{w} || _1$, L2-norm(ridge), $|| \textbf{w} || _2^2$ 정규화. L1-norm 및 L2-norm 정규화는 특정 측면에서 보완적인 다양한 효과와 용도를 가집니다. L1-norm을 사용하면 학습된 $\textbf{w}$의 스파스가 증가할 수 있습니다. 고차원 데이터로 작업할 때 관련 없는 기능의 작은 가중치를 0으로 축소하므로 예측을 수행할 때 해당 잘못된 기능에 리소스가 소비되지 않습니다. L1-norm 정규화를 사용하는 경우 학습 알고리즘은 OWL-QN입니다. L2-norm 정규화는 스파스가 아닌 데이터에 적합하며 큰 가중치의 존재를 크게 처벌합니다.

적극적인 정규화(즉, L1-norm 또는 L2-norm 정규화 용어에 큰 계수를 할당)는 모델에서 중요한 변수를 제외하여 예측 용량에 해를 끼칠 수 있습니다. 따라서 로지스틱 회귀를 적용할 때 올바른 정규화 계수를 선택하는 것이 중요합니다.

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

필드

FeatureColumn

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

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

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

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

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

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

속성

Info

IEstimator<TTransformer> L-BFGS 메서드로 학습된 선형 로지스틱 회귀 모델을 사용하여 대상을 예측하는 것입니다.

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

메서드

Fit(IDataView, LinearModelParameters)

이미 학습된 modelParametersBinaryPredictionTransformer<TModel>using의 학습을 LbfgsLogisticRegressionBinaryTrainer 계속하고 .

Fit(IDataView)

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

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

IEstimator<TTransformer> L-BFGS 메서드로 학습된 선형 로지스틱 회귀 모델을 사용하여 대상을 예측하는 것입니다.

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

확장 메서드

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

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

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

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

적용 대상

추가 정보