KMeansTrainer 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
IEstimator<TTransformer> KMeans 클러스터러를 학습하기 위한 것입니다.
public class KMeansTrainer : Microsoft.ML.Trainers.TrainerEstimatorBase<Microsoft.ML.Data.ClusteringPredictionTransformer<Microsoft.ML.Trainers.KMeansModelParameters>,Microsoft.ML.Trainers.KMeansModelParameters>
type KMeansTrainer = class
inherit TrainerEstimatorBase<ClusteringPredictionTransformer<KMeansModelParameters>, KMeansModelParameters>
Public Class KMeansTrainer
Inherits TrainerEstimatorBase(Of ClusteringPredictionTransformer(Of KMeansModelParameters), KMeansModelParameters)
- 상속
설명
이 트레이너를 만들려면 KMeans 또는 Kmeans(옵션)를 사용합니다.
입력 및 출력 열
입력 기능 열 데이터는 이어야 Single합니다. 레이블 열이 필요하지 않습니다. 이 트레이너는 다음 열을 출력합니다.
출력 열 이름 | 열 유형 | 설명 |
---|---|---|
Score |
Single 벡터 | 지정된 데이터 요소에서 모든 클러스터의 중심까지의 거리입니다. |
PredictedLabel |
키 형식 | 모델에서 예측한 가장 가까운 클러스터의 인덱스 |
트레이너 특성
기계 학습 작업 | Clustering |
정규화가 필요한가요? | 예 |
캐싱이 필요한가요? | 예 |
Microsoft.ML 외에도 필요한 NuGet | 없음 |
ONNX로 내보낼 수 있습니다. | 예 |
학습 알고리즘 세부 정보
K-평균 은 인기 있는 클러스터링 알고리즘입니다. K-평균을 사용하면 제곱 거리의 클러스터 내 합계를 최소화하기 위해 데이터가 지정된 수의 클러스터로 클러스터됩니다. 이 구현은 Yinyang K-means 메서드를 따릅니다. 초기 클러스터 센터로이드를 선택하기 위해 다음 세 가지 옵션 중 하나를 사용할 수 있습니다.
- 임의 초기화입니다. 이로 인해 최적의 클러스터링이 잠재적으로 나쁜 근사치로 이어질 수 있습니다.
- K-means++ 메서드입니다. Ding et al.에서 도입한 향상된 초기화 알고리즘으로, 최적의 K-평균 솔루션에 $O(log K)$ 경쟁력이 있는 솔루션을 찾을 수 있습니다.
- K-평균입니다|| 메서드. 이 메서드는 여기서 Bahmani 등에서 도입되었으며, 좋은 초기화를 얻는 데 필요한 패스 수를 크게 줄이는 병렬 메서드를 사용합니다.
K-평균|| 는 기본 초기화 방법입니다. KMeansTrainer(옵션)를 사용하여 트레이너를 만들 때 옵션에서 다른 메서드를 지정할 수 있습니다.
점수 매기기 함수
출력 점수 열에는 지정된 입력 벡터 $\textbf{x}\in \mathbb{R}^n$의 $L_2$-norm 거리(즉, 유클리드 거리)의 제곱이 포함되어 있습니다. $c$-th 클러스터의 중심이 \\textbf{m}_c \in \mathbb{R}^n$이라고 가정합니다. 점수 열의 $c$-th 값은 $d_c = || \textbf{x} - \textbf{m}_c || _2^2$. 예측된 레이블은 $K$ 차원 벡터 $[d_, \dots, d_{0}{K-1}]$에서 가장 작은 값을 가진 인덱스입니다. 여기서 $K$는 클러스터 수입니다.
K-평균 및 K-평균++에 대한 자세한 내용은 다음을 참조하세요. K-평균K-평균++
사용 예제에 대한 링크는 참고 섹션을 참조하세요.
필드
FeatureColumn |
트레이너가 기대하는 기능 열입니다. (다음에서 상속됨 TrainerEstimatorBase<TTransformer,TModel>) |
LabelColumn |
트레이너가 기대하는 레이블 열입니다. Can be |
WeightColumn |
트레이너가 기대하는 체중 열입니다. 가중치가 학습에 사용되지 않음을 나타내는 일 |
속성
Info |
IEstimator<TTransformer> KMeans 클러스터러를 학습하기 위한 것입니다. |
메서드
Fit(IDataView) |
를 학습하고 반환합니다 ITransformer. (다음에서 상속됨 TrainerEstimatorBase<TTransformer,TModel>) |
GetOutputSchema(SchemaShape) |
IEstimator<TTransformer> KMeans 클러스터러를 학습하기 위한 것입니다. (다음에서 상속됨 TrainerEstimatorBase<TTransformer,TModel>) |
확장 메서드
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
추정기 체인에 '캐싱 검사점'을 추가합니다. 이렇게 하면 다운스트림 추정기가 캐시된 데이터에 대해 학습됩니다. 여러 데이터 전달을 수행하는 트레이너 앞에 캐싱 검사점을 두는 것이 유용합니다. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
추정기가 지정된 경우 대리자를 호출한 후 Fit(IDataView) 호출되는 래핑 개체를 반환합니다. 예측 도구가 적합한 항목에 대한 정보를 반환하는 것이 중요한 경우가 많습니다. 따라서 Fit(IDataView) 메서드는 일반 ITransformer개체가 아닌 특별히 형식화된 개체를 반환합니다. 그러나 동시에 IEstimator<TTransformer> 개체가 많은 파이프라인으로 형성되는 경우가 많으므로 변압기를 가져올 추정기가 이 체인의 어딘가에 묻혀 있는 위치를 통해 EstimatorChain<TLastTransformer> 추정기 체인을 빌드해야 할 수도 있습니다. 이 시나리오에서는 fit이 호출되면 호출되는 대리자를 이 메서드를 통해 연결할 수 있습니다. |