天天看點

《大資料架構和算法實作之路:電商系統的技術實戰》——1.2 分類任務的處理流程

本節書摘來自華章計算機《大資料架構和算法實作之路:電商系統的技術實戰》一書中的第1章,第1.2節,作者 黃 申,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

給出分類問題的基本概念之後,下面就來了解分類的關鍵要素和流程。

學習:指計算機通過人類标注的指導性資料,“了解”和“模仿”人類決策的過程。

算法模型:分類算法通過訓練資料的學習,其計算方式和最後的輸出結果,稱為模型。通常是指一個做決策的計算機程式及其相應的存儲結構,它使得計算機的學習行為更加具體化。常見的模型有樸素貝葉斯(naive bayes)、k-最近鄰(knn)、決策樹,等等。

标注資料:也稱為标注樣本。由于分類學習是監督式的,對于每個資料對象,除了必要的特征值清單,還必須告訴計算機它屬于哪個分類。是以需要事先進行人工的标注,為每個對象指定分類的标簽。在前面的水果案例中,對各個水果分别打上“蘋果”“甜橙”和“西瓜”的标簽就是标注的過程。這一點非常關鍵,标注資料相當于人類的老師,其品質高低直接決定機器學習的效果。值得注意的是,标注資料既可以作為訓練階段的學習樣本,也可以作為測試階段的預測樣本。在将監督式算法大規模應用到實際生産之前,研究人員通常會進行離線的交叉驗證(cross validation),這種情況會将大部分标注資料用在訓練階段,而将少部分留在測試階段使用。對于交叉驗證,會在後文的效果評估部分做進一步闡述。在正式的生産環境中,往往會将所有的标注資料用于訓練階段,以提升最終效果。

訓練資料:也稱為訓練樣本。這些是帶有分類标簽的資料,作為學習算法的輸入資料,用于建構最終的模型。根據離線内測、線上實際生産等不同的情形,訓練資料會取标注資料的子集或全集。

測試資料:也稱為測試樣本。這些是不具備或被隐藏了分類标簽的資料,模型會根據測試資料的特征,預測其應該具有的标簽。在進行離線内測時,交叉驗證會保留部分标注資料作為測試之用,是以會故意隐藏其标注值,以便于評估模型的效果。如果是在實際生産中,那麼任何一個新預測的對象都是測試資料,而且隻能在事後通過人工标注來再次驗證其正确性。

訓練:也稱為學習。算法模型通過訓練資料進行學習的過程。

測試:也稱為預測。算法模型在訓練完畢之後,根據新資料的特征來預測其屬于哪個分類的過程。

圖1-2将如上的基本要素串聯起來,展示了分類學習的基本流程。

《大資料架構和算法實作之路:電商系統的技術實戰》——1.2 分類任務的處理流程

了解了這些要素和分類過程之後,可以發現,除了人工标注之外,最為核心的就是分類的算法了。接下來,我們再來看看幾個常用的分類算法。

繼續閱讀