機器學習領域包含各種方法和範例,每種方法和範例適合不同類型的資料和問題。在這些範式中,監督學習和無監督學習是最基本的兩個。
監督學習涉及在標記資料集上訓練模型,其中輸入資料與正確的輸出配對。此模型學習透過最小化其預測與實際輸出之間的誤差來將輸入映射到輸出。另一方面,無監督學習處理未標記的數據,其目標是推斷一組數據點中存在的自然結構。
存在一種整合了監督學習和無監督學習技術的學習類型,通常稱為半監督學習。這種方法在訓練過程中利用標記和未標記的資料。半監督學習背後的基本原理是,當未標記資料與少量標記資料結合使用時,可以顯著提高學習準確性。這在標記資料稀缺或取得成本昂貴但未標記資料豐富且易於收集的情況下特別有用。
半監督學習的假設是,未標記資料的底層結構可以提供與標記資料互補的有價值的資訊。此假設可以採取多種形式,例如聚類假設、流形假設或低密度分離假設。聚類假設假設同一聚類中的資料點可能具有相同的標籤。流形假設表示高維資料位於低維數的流形上,任務是學習這個流形。低密度分離假設基於決策邊界應位於低資料密度區域的想法。
半監督學習中常用的技術之一是自我訓練。在自訓練中,模型最初是根據標記資料進行訓練的。然後,它使用自己對未標記資料的預測作為偽標籤。此模型在此增強資料集上進行進一步訓練,迭代地完善其預測。另一種技術是協同訓練,即在資料的不同視圖上同時訓練兩個或多個模型。每個模型負責標記一部分未標記的數據,然後用於訓練其他模型。此方法利用資料多個視圖中的冗餘來提高學習效能。
基於圖的方法在半監督學習中也很普遍。這些方法建立一個圖,其中節點代表資料點,邊代表它們之間的相似性。然後,學習任務被重新表述為基於圖的最佳化問題,其目標是將標籤從標記節點傳播到未標記節點,同時保留圖結構。這些技術在資料自然形成網路的領域特別有效,例如社交網路或生物網路。
結合監督學習和無監督學習的另一種方法是透過多任務學習。在多任務學習中,同時解決多個學習任務,同時利用任務之間的共通性和差異性。這可以被視為歸納遷移的一種形式,從一項任務中獲得的知識有助於改善另一項任務的學習。當任務之間存在共享表示或特徵空間並允許資訊傳輸時,多任務學習尤其有益。
半監督學習的一個實際例子是自然語言處理(NLP)領域。考慮情緒分析的任務,其目標是將給定文本分類為正面或負面。標記資料(例如帶有情緒標籤的評論)可能會受到限制。然而,有大量未標記的文字可用。半監督學習方法可能涉及在標記資料上訓練情緒分類器並使用它來預測未標記資料的情緒。然後,這些預測可以用作附加訓練數據,從而提高分類器的效能。
另一個例子可以在圖像分類中找到。在許多情況下,取得標記影像是勞力密集且成本高昂的,而未標記影像卻大量存在。半監督方法可能涉及使用一小組標記圖像來訓練初始模型。然後可以將該模型應用於未標記的圖像以產生偽標籤,隨後將其用於重新訓練模型。
透過半監督學習和相關方法將監督學習和無監督學習相結合,代表了機器學習的強大方法。透過利用這兩種範式的優勢,可以顯著提高模型效能,特別是在標記資料有限但未標記資料豐富的領域。這種方法不僅增強了模型從有限資料中進行泛化的能力,而且還提供了一個更強大的框架來理解複雜資料集的底層結構。
最近的其他問題和解答 EITC/AI/GCML Google雲機器學習:
- 機器學習中資料預處理步驟遇到的主要挑戰是什麼?如何解決這些挑戰可以提高模型的有效性?
- 為什麼超參數調整被認為是模型評估之後的關鍵步驟,以及有哪些常用方法來找到機器學習模型的最佳超參數?
- 機器學習演算法的選擇如何取決於問題的類型和資料的性質,為什麼在模型訓練之前了解這些因素很重要?
- 為什麼在機器學習過程中將資料集分成訓練集和測試集至關重要,如果跳過這一步驟會出現什麼問題?
- Python 或其他程式語言知識對於在實踐中實現 ML 有多重要?
- 為什麼在單獨的測試資料集上評估機器學習模型的性能這一步驟至關重要,如果跳過這一步驟會發生什麼?
- 機器學習在當今世界的真正價值是什麼?我們如何區分它的真正影響和單純的技術炒作?
- 針對給定問題選擇正確演算法的標準是什麼?
- 如果有人使用 Google 模型並在自己的實例上進行訓練,Google 是否會保留從訓練資料中取得的改進?
- 在訓練之前,如何知道要使用哪個 ML 模型?
查看 EITC/AI/GCML Google Cloud Machine Learning 中的更多問題和解答