教導尋找相符項目轉換 - AWS Glue

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

教導尋找相符項目轉換

每個 FindMatches 轉換都必須經過教導,來了解哪些項目應視為相符項目,哪些項目又應視為不相符的項目。您可以透過新增標籤至檔案,並將您的選擇上傳至 AWS Glue 來教導您的轉換。

您可以在 AWS Glue 主控台中協調此標記,或是使用 AWS Glue 機器學習 API 操作。

我應該新增多少次標籤? 我需要多少標籤?

這些問題的解答大部分都取決於您。您必須評估 FindMatches 是否交付了您所需要的正確性等級,以及您是否認為進行更多標記對您來說確實有價值。決定這一點的最佳方式是查看在 AWS Glue 主控台中選擇 Estimate quality (估計品質) 時可以產生的「Precision (精確度)」、「Recall (取回)」和「Area under the Precision-Recall curve (精確度取回率曲線下方的區域)」指標。在您標記更多組任務後,請重新執行這些指標並驗證他們是否獲得改善。若在標記幾組任務之後,您仍然沒有在您關注的指標上看到改善,表示轉換的品質可能已到達極限。

為何同時需要真肯定和真否定標籤?

FindMatches 轉換需要肯定和否定範例,才能了解您視為相符的項目有哪些。若您標記 FindMatches 產生的培訓資料 (例如使用 I do not have labels (我沒有標籤) 選項),FindMatches 會嘗試為您產生一組「標籤組 ID」。在每個任務中,您都會將相同的「標籤」給予一些記錄,並將不同的「標籤」給予其他記錄。換句話說,任務通常不是全部相同或是全部不同 (但若特定任務為全部「相同」或全部「不同」也沒什麼問題)。

如果您正在使用 Upload labels from S3 (從 S3 上傳標籤) 選項教導您的 FindMatches 轉換,請嘗試同時包含相符記錄和不相符記錄的範例。您也可以只擁有一個類型。這些標籤可協助您建置更正確的 FindMatches 轉換,但您仍然需要使用 Generate labeling file (產生標記檔案) 選項標記一些您產生的記錄。

我該如何強制讓轉換完全照我教導的方式進行比對?

FindMatches 轉換會從您提供的標籤學習,因此它可能會產生與您所提供標籤不相符的記錄對。若要強制 FindMatches 轉換遵守您的標籤,請選取 FindMatchesParameter 中的 EnforceProvidedLabels

當機器學習轉換將實際上不相符的項目識別為相符項目時,您可以使用哪些技術?

您可以使用下列技術:

  • precisionRecallTradeoff 提高到更高的值。這最後會導致尋找到的相符項目數減少,但應該也會在到達夠高的值時細分您的龐大叢集。

  • 擷取對應至不正確結果的輸出資料列,然後將他們重新格式化成標記集 (移除 match_id 資料行並新增 labeling_set_idlabel 資料行)。若有需要,請分散 (細分) 成多個標記集,確保標記程式能在指派標籤時記住每個標記集。然後,正確地標記相符的資料集、上傳標籤檔案,然後將它附加到您現有的標籤。這可能會足以教導您的轉換程式要了解模式時應尋找的項目為何。

  • (進階) 最後,請觀察該資料,查看是否有您可以偵測,但系統並未注意到的模式。使用標準 AWS Glue 函數預先處理該資料,來「正常化」資料。分離您知道對其自身資料行而言重要程度不同的資料,來強調您希望演算法學習的內容。或是從您知道其資料彼此相關的資料行建構合併資料行。