K 平均數演算法 - Amazon SageMaker AI

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

K 平均數演算法

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

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

K 平均數演算法預期的是表格化的資料,資料列代表的是您想要建立叢集的觀察,而資料行是觀察的屬性。各資料列的 n 屬性代表的是 n 維空間內的一點。點與點之間的歐幾里德距離代表了相對應的觀察之間的相似度。此演算法會以類似的屬性值將觀察分組 (對應至這些觀察的點彼此間距離較近)。如需 k 平均值如何在 Amazon SageMaker AI 中運作的詳細資訊,請參閱 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 平均值演算法不支援多執行個體學習,其中訓練集由標籤為 “包” 組成,每個包都是未標籤執行個體的集合。

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

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

K 平均值範例筆記本

如需使用 SageMaker AI K 平均值演算法,透過使用原則元件分析識別的屬性來分割美國各郡人口的範例筆記本,請參閱使用 Amazon SageMaker AI 分析人口分割的美國人口普查資料。如需如何建立和存取可用於在 SageMaker AI 中執行範例的 Jupyter 筆記本執行個體的說明,請參閱 Amazon SageMaker Notebook 執行個體。建立並開啟筆記本執行個體後,請選取 SageMaker AI 範例索引標籤以查看所有 SageMaker AI 範例的清單。若要開啟筆記本,請按一下其使用標籤,然後選取建立複本