K 平均數演算法 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

K 平均數演算法

K 平均數是未受監督的學習演算法。其會試圖找出資料內分散的群組,盡可能讓群組成員彼此相似,而進能可和其他群組內的成員有所差異。您需定義演算法要用來判定相似度的屬性。

Amazon SageMaker 使用網路規模 k 均值叢集演算法的修改版本。與算法的原始版本相比,Amazon 使用的版 SageMaker 本更準確。與原始演算法相同,其可擴充配合大量的資料集,在訓練時間上獲得改善。為此,Amazon 使用的版本會 SageMaker 串流訓練資料的迷你批次 (小型隨機子集)。如需微批次 k 平均值的詳細資訊,請參閱 Web 規模的 k 平均值叢集

K 平均數演算法預期的是表格化的資料,資料列代表的是您想要建立叢集的觀察,而資料行是觀察的屬性。各資料列的 n 屬性代表的是 n 維空間內的一點。點與點之間的歐幾里德距離代表了相對應的觀察之間的相似度。此演算法會以類似的屬性值將觀察分組 (對應至這些觀察的點彼此間距離較近)。有關 k-means 如何在 Amazon 中工作的更多信息 SageMaker,請參閱K 平均數叢集的運作方式

K 平均值演算法的輸入/輸出介面

針對訓練,k 平均值演算法預期以訓練通道提供資料 (建議使用 S3DataDistributionType=ShardedByS3Key),以選用的測試通道 (建議使用 S3DataDistributionType=FullyReplicated) 評分資料。訓練支援 recordIO-wrapped-protobufCSV 兩種格式。您可以使用檔案模式或管道模式,以 recordIO-wrapped-protobufCSV 格式的資料來訓練模型。

針對推論,支援 text/csvapplication/jsonapplication/x-recordio-protobuf。k 平均值會針對每個觀察項傳回一個 closest_cluster 標籤和 distance_to_cluster

如需輸入和輸出檔案格式的詳細資訊,請參閱適用於推論的K 平均值回應格式以及K 平均值範例筆記本。K 平均值演算法不支援多執行個體學習,其中訓練集由標籤為 “包” 組成,每個包都是未標籤執行個體的集合。

適用於 K 平均值演算法的 EC2 執行個體建議

建議在 CPU 執行個體上訓練 K 平均數。您可以在 GPU 執行個體上進行訓練,但應將 GPU 訓練限制於單一 GPU 執行個體 (例如 ml.g4dn.xlarge),因為每個執行個體只會使用一個 GPU。K 平均數演算法可支援 P2、P3、G4dn 和 G5 執行個體,進行訓練和推論。

K 平均值範例筆記本

如需使用 SageMaker K-means 演算法依使用原則元件分析識別的屬性來區隔美國各縣人口的範例筆記本,請參閱使用 Amazon SageMaker 分析美國人口普查資料以進行人口細分。如需如何建立及存取可用來執行中範例的 Jupyter 筆記本執行個體的指示 SageMaker,請參閱。Amazon SageMaker 筆記本實建立筆記本執行個體並開啟之後,請選取 [SageMaker範例] 索引標籤以查看所有 SageMaker 範例的清單。若要開啟筆記本,請按一下其使用標籤,然後選取建立複本