機器學習中的分類:它是什麼以及它是如何運作的

已發表: 2024-11-20

分類是資料分析和機器學習 (ML) 的核心概念。本指南探討了什麼是分類及其運作原理,解釋了分類和迴歸之間的區別,並涵蓋了任務類型、演算法、應用程式、優點和挑戰。

目錄

  • 什麼是分類?
  • 分類與迴歸
  • ML 中的分類任務類型
  • 用於分類分析的演算法
  • 分類的應用
  • 分類的優點
  • 分類的缺點

機器學習中的分類是什麼?

分類是機器學習中的監督學習技術,它根據輸入特徵預測新資料點的類別(也稱為類別)。分類演算法使用已知正確類別的標記資料來學習如何將特徵對應到特定類別。此過程也稱為分類或類別分類。

為了執行分類,演算法分兩個關鍵階段運行。在訓練階段,演算法學習輸入資料與其對應標籤或類別之間的關係。經過訓練後,模型進入推理階段,使用學習到的模式對現實應用中新的、未見過的資料進行分類。分類的有效性很大程度取決於這些階段的處理方式以及訓練期間可用的預處理資料的品質。

了解分類演算法如何管理這些階段至關重要。一個關鍵的差異在於他們的學習方式。這導致我們分類演算法可能遵循兩種不同的策略:惰性學習和渴望學習。

使用 Grammarly 更聰明地工作
任何有工作要做的人的人工智慧寫作夥伴

懶惰的學習者與熱切的學習者

分類演算法通常採用兩種學習策略之一:惰性學習或渴望學習。這些方法在模型建構方式和時間方面存在根本差異,從而影響演算法的靈活性、效率和用例。雖然兩者都旨在對資料進行分類,但它們使用適合不同類型任務和環境的對比方法來實現這一目的。

讓我們檢查一下懶惰學習者和熱切學習者的操作,以便更好地了解每種方法的優點和缺點。

懶惰的學習者

惰性學習演算法也稱為基於實例或基於記憶體的學習器,它儲存訓練資料並延遲實際學習,直到需要對查詢進行分類。當其中一種演算法投入運行時,它會使用相似性度量將新資料點與儲存的實例進行比較。可用資料的品質和數量會顯著影響演算法的準確性,存取更大的資料集通常會提高演算法的效能。懶惰的學習者通常會優先考慮最近的數據,這稱為新近度偏差。由於它們是即時學習的,因此在回應查詢時速度可能會更慢且計算成本更高。

懶惰的學習者在即時決策至關重要且數據不斷變化的動態環境中表現出色。這些演算法非常適合新資訊不斷流入的任務,並且沒有時間在分類任務之間進行大量的訓練週期。

渴望學習的人

相較之下,熱切學習演算法會事先處理所有訓練數據,在執行任何分類任務之前建立模型。這個前期學習階段通常更加資源密集和複雜,讓演算法發現資料中更深層的關係。一旦經過訓練,渴望學習的人就不需要存取原始訓練數據,這使得他們在預測階段非常有效率。他們可以快速分類資料並以最小的計算成本處理大量查詢。

然而,熱切的學習者在適應新的即時數據方面不太靈活。他們的資源密集型訓練過程限制了他們可以處理的資料量,使得在不重新訓練整個模型的情況下很難整合新資訊。

在這篇文章的後面,我們將看到如何將惰性演算法和熱切演算法一起用於臉部辨識。

分類與迴歸:有什麼差別?

既然我們已經探索了分類的工作原理,將其與另一種關鍵的監督學習技術(回歸)區分開來非常重要。

分類和迴歸都用於根據訓練階段的標記資料進行預測,但它們產生的預測類型有所不同。

分類演算法預測離散的、分類的結果。例如,在電子郵件分類系統中,電子郵件可能被標記為「垃圾郵件」或「火腿」(其中「火腿」指非垃圾郵件)。同樣,天氣分類模型可能會預測「是」、「否」或「也許」來回答「明天會下雨嗎?」的問題。

另一方面,迴歸演算法預測連續值。迴歸模型不是將資料分配給類別,而是估計數值輸出。例如,在電子郵件系統中,迴歸模型可以預測電子郵件是垃圾郵件的機率(例如,70%)。對於天氣預報模型來說,它可以預測預期的降雨量,例如 2 英吋的降雨量。

雖然分類和迴歸有不同的目的,但它們有時會一起使用。例如,迴歸可以估計輸入分類系統的機率,從而提高預測的準確性和粒度。

ML 中的分類任務類型

分類任務各不相同,每種任務都是針對特定的資料類型和挑戰而客製化的。根據任務的複雜性和類別的性質,您可以採用不同的方法:二元分類、多類別分類、多標籤分類或不平衡分類。讓我們更深入地研究下面的每種方法。

二元分類

二元分類是一項基本任務,它將資料分為兩類,例如真/假或是/否。它在詐欺偵測、情緒分析、醫療診斷、垃圾郵件過濾等領域中得到了廣泛的研究和應用。雖然二元分類處理兩個類別,但可以透過將問題分解為多個二元任務來處理更複雜的分類。例如,要將資料分類為“蘋果”、“橘子”、“香蕉”和“其他”,可以使用單獨的二元分類器來回答“它是蘋果嗎?”、“它是橘子嗎?”和“是香蕉嗎?

多類分類

多類分類,也稱為多項分類,專為將資料分為三個或更多類別的任務而設計。與將問題分解為多個二元分類任務的模型不同,多類演算法的建構是為了更有效地處理此類場景。與二進位系統相比,這些演算法通常更複雜,需要更大的資料集,並且設定起來更耗費資源,但一旦實現,它們通常會提供更好的效能。

多標籤分類

多標籤分類,也稱為多重輸出分類,為給定的資料分配多個標籤。它經常與多類分類混淆,其中每個實例僅分配多個類別中的一個標籤。

為了澄清差異:二元分類演算法可以將圖像分為兩類:有水果的圖像和沒有水果的圖像。然後,多類系統可以將水果影像分類為特定類別,例如香蕉、蘋果或柳橙。另一方面,多標籤分類允許為單一影像分配多個標籤。例如,單一圖像可以被分類為“水果”和“香蕉”,水果也可以標記為“成熟”或“未成熟”。這使得系統能夠同時考慮多個獨立特徵,例如(“沒有水果”、“沒有香蕉”、“沒有成熟的”)、(“水果”、“香蕉”、“成熟”或(“水果、 ”“香蕉”,“什麼都不成熟”)。

分類不平衡

通常,可用於訓練的數據並不代表現實中看到的數據的分佈。例如,演算法在訓練期間可能只能存取 100 個用戶的數據,其中 50% 進行了購買(而實際上,只有 10% 的用戶進行了購買)。不平衡分類演算法透過使用過採樣(重複使用訓練資料的某些部分)和欠採樣(未充分使用訓練資料的某些部分)技術來解決學習過程中的此問題。這樣做會使學習演算法了解到資料子集在現實中出現的頻率比在訓練資料中出現的頻率高或低得多。這些技術通常是一種訓練優化,因為它們允許系統從比其他方式學習所需的資料少得多的資料中學習。

有時,累積足夠的資料來反映現實是困難或耗時的,而這種類型的最佳化可以讓模型更快得到訓練。其他時候,資料量太大,分類演算法需要很長時間才能對所有資料進行訓練,而不平衡的演算法無論如何都可以訓練它們。

用於分類分析的演算法

分類演算法已被深入研究,但尚未發現單一形式的分類能夠普遍適用於所有情況。因此,出現了著名的分類演算法的大型工具包。下面,我們描述一些最常見的。

線性預測器

線性預測器是指基於輸入特徵的線性組合來預測結果的演算法。這些方法由於簡單有效而廣泛應用於分類任務。

邏輯迴歸

邏輯迴歸是最常用的線性預測器之一,特別是在二元分類中。它使用邏輯(或 sigmoid)函數根據觀察到的變數計算結果的機率。如果機率最高的類別超過置信度閾值,則選擇該類別作為預測結果。如果沒有結果滿足此閾值,則結果可能會被標記為「不確定」或「未決定」。

線性迴歸

線性迴歸通常用於迴歸用例,它輸出連續值。但是,可以透過新增過濾器或映射將其輸出轉換為類別,將值重新用於分類。例如,如果您已經訓練了一個輸出雨量預測的線性迴歸模型,則透過任意設定閾值,同一模型可以成為「雨天」/「非雨天」二元分類器。預設情況下,它只是將模型轉換為二元分類器時使用的回歸結果的符號(0 和正數映射到“是”答案或“+1”,負數映射到“否”答案或“-” 1” )。不過,地圖可以更複雜並根據用例進行調整。例如,您可能會決定,任何超過 5 毫升降雨量的預測都將被視為“下雨天”,而任何低於該降雨量的預測都將被視為相反。

判別分析

線性判別分析(LDA)是另一個用於分類的重要的線性預測器。 LDA 的工作原理是尋找最能區分不同類別的特徵的線性組合。它假設觀測值是獨立且常態分佈的。雖然 LDA 通常用於降維,但它也是一種強大的分類工具,可以使用判別函數(測量類別之間差異的函數)將觀察值分配給類別。

貝葉斯分類

貝葉斯分類演算法使用貝葉斯定理來計算給定觀察資料的每個類別的後驗機率。這些演算法假設資料的某些統計特性,其效能取決於這些假設的成立程度。例如,樸素貝葉斯假設特徵在給定類別的情況下是條件獨立的。

k-NN分類

k-近鄰(k-NN)演算法是另一種廣泛使用的分類方法。儘管它既可以應用於回歸任務,也可以應用於分類任務,但它最常用於分類。該演算法根據新資料點的 k 個最近鄰居(其中 k 是變數)的類別將類別指派給新資料點,並使用距離計算來確定鄰近度。 k-NN演算法簡單、高效,且在資料存在局部結構時有效。其性能取決於選擇適當的距離度量並確保數據具有有助於分類的局部模式

決策樹與隨機森林

決策樹是用於分類任務的流行演算法。它們的工作原理是根據特徵值遞歸地分割數據,以決定給定的觀察結果屬於哪個類別。然而,決策樹往往會過度擬合訓練數據,捕獲雜訊並導致高方差。這種過度擬合會導致對新資料的泛化能力較差。

為了減輕過度擬合,使用隨機森林作為整合方法。隨機森林在資料的隨機子集上並行訓練多個決策樹,並且每棵樹都會做出自己的預測。最終的預測是透過匯總所有樹的預測來做出的,通常是透過多數投票。這個過程稱為「bagging」(引導聚合的縮寫),可以減少方差並提高模型泛化到未見過的資料的能力。隨機森林可以有效地平衡偏差和方差,使其成為用於分類任務的強大的現成演算法。

分類的應用

分類演算法廣泛應用於各個領域,透過將資料分類到預先定義的群組來解決現實世界的問題。以下是分類的一些常見應用,包括臉部辨識、文件分類和客戶行為預測。

人臉辨識

臉部辨識系統將影片或照片中的臉部與已知臉部資料庫進行即時配對。它們通常用於身份驗證。

例如,手機解鎖系統首先使用臉部偵測系統,該系統每隔幾秒鐘從臉部定向相機拍攝低解析度影像,然後推斷影像中是否有臉部。臉部偵測系統可以是一個訓練有素、熱切的二元分類器,可以回答「是否存在臉部?」的問題。

懶惰的分類器會遵循熱切的“有一張臉嗎?”分類器。它將使用手機所有者的所有照片和自拍照來實現單獨的二元分類任務,並回答「這張臉是否屬於被允許解鎖手機的人?」的問題。如果答案是肯定的,手機將解鎖;如果答案是否定的,那就不會。

文件分類

文件分類是現代資料管理策略的重要組成部分。基於機器學習的分類器對大量儲存的文件進行編目和分類,支援索引和搜尋工作,使文件及其內容更有用。

文件分類工作從文件的預處理開始。它們的內容被分析並轉換為數字表示(因為數字更容易處理)。從文件中提取重要的文件特徵(例如數學方程式、嵌入圖像和文件語言)並突出顯示以供 ML 演算法學習。接下來是其他類似的處理任務。

然後由人工對文件子集進行分類,以建立用於分類系統的訓練資料集。經過訓練後,分類器將快速大規模地對所有傳入文件進行編目和分類。如果偵測到任何分類錯誤,可以將手動更正新增至機器學習系統的訓練資料中。每隔一段時間,可以透過新增修正來重新訓練分類器模型,並且其效能將會提高。

客戶行為預測

線上零售和電子商務商店收集有關客戶行為的細粒度和詳細資訊。這些資訊可用於對新客戶進行分類並回答諸如「該新客戶是否可能進行購買?」之類的問題。以及“提供 25% 的折扣會影響該客戶的購買行為嗎?”

使用先前客戶的資料及其最終行為(例如他們是否進行了購買)來訓練分類器。當新客戶與平台互動時,該模型可以預測他們是否以及何時進行購買。它還可以執行假設分析來回答諸如「如果我為該用戶提供 25% 的折扣,他們會購買嗎?」之類的問題。

分類的優點

分類在機器學習領域提供了多種好處,使其成為解決資料分類問題的廣泛使用的方法。下面,我們探討分類的一些關鍵優勢,包括其成熟度、靈活性以及提供人類可讀輸出的能力。

充分研究和理解

分類是機器學習領域中研究最深入、理解最透徹的問題之一。因此,有許多成熟的工具包可用於分類任務,允許使用者在速度、效率、資源使用和資料品質要求之間進行權衡。

準確度、精確度、回想率和混淆矩陣等標準技術可用於評估分類器的性能。借助這些工具,可以相對簡單地為給定問題選擇最合適的分類系統、評估其性能並隨著時間的推移進行改進。

提供人類可讀的輸出

分類器通常允許在預測能力和人類可讀性之間進行權衡。可以調整更簡單、更可解釋的模型,例如決策樹或邏輯迴歸,使其行為更容易理解。這些可解釋的模型可用於探索資料屬性,使人類使用者能夠深入了解資料。這些見解可以指導更複雜、更準確的機器學習模型的發展。

分類的缺點

雖然分類是機器學習中的強大工具,但它確實面臨某些挑戰和限制。下面,我們討論分類的一些主要缺點,包括過度擬合、欠擬合以及需要對訓練資料進行大量預處理。

過擬合

訓練分類模型時,調整訓練過程以減少模型過度擬合資料的可能性非常重要。過度擬合是指模型記住部分或全部來源數據,而不是對數據中的關係進行抽象理解的問題。當模型看到與訓練資料非常相似的新資料時,對訓練資料進行過度擬合的模型會很好地工作,但通常情況下它可能不會很好地工作。

欠擬合

分類系統的效能取決於是否有足夠數量的可用訓練數據,以及是否應用於適合所選分類演算法的問題。如果沒有足夠的訓練數據,或者特定的分類演算法沒有正確的工具來正確解釋數據,則訓練後的模型可能永遠無法學會做出良好的預測。這種現象稱為「欠擬合」。有許多技術可用於嘗試減輕欠擬合,但正確應用它們並不總是那麼容易。

訓練資料的預處理

許多分類系統對資料結構和格式都有比較嚴格的要求。他們的表現通常與資料在接觸資料或接受資料訓練之前的處理密切相關。因此,分類系統可能是僵化的、不靈活的,對於它們最適合的問題和資料上下文有嚴格的界線。