什麼是訓練數據? 它如何用於機器學習

已發表: 2021-07-30

機器學習模型與他們訓練的數據一樣好。

沒有高質量的訓練數據,即使是最高效的  機器學習  算法將無法執行。

對質量、準確、完整和相關數據的需求在培訓過程的早期就開始了。 只有給算法提供了良好的訓練數據,它才能輕鬆地提取特徵並找到它需要預測的關係。

更準確地說,高質量的訓練數據是機器學習(和人工智能)最重要的方面。 如果您將機器學習 (ML) 算法引入正確的數據,您就是在設置它們以確保准確性和成功。

訓練數據也稱為訓練數據集、學習集和訓練集。 它是每個機器學習模型的重要組成部分,可幫助他們做出準確的預測或執行所需的任務。

簡單地說,訓練數據構建了機器學習模型。 它告訴我們預期的輸出是什麼樣的。 該模型反複分析數據集以深入了解其特徵並自我調整以獲得更好的性能。

在更廣泛的意義上,訓練數據可以分為兩類:標記數據未標記數據

標記數據與未標記數據

什麼是標記數據?

標籤的數據是一組帶有一個或多個有意義標籤的數據樣本。 它也稱為註釋數據,其標籤標識特定特徵、屬性、分類或包含的對象。

例如,水果的圖像可以標記為蘋果、香蕉葡萄

標記的訓練數據用於  監督學習。 它使 ML 模型能夠學習與特定標籤相關的特徵,這些特徵可用於對較新的數據點進行分類。 在上面的示例中,這意味著模型可以使用標記的圖像數據來了解特定水果的特徵,並使用此信息對新圖像進行分組。

數據標記或註釋是一個耗時的過程,因為人類需要標記或標記數據點。 標記數據收集具有挑戰性且成本高昂。 與未標記數據相比,存儲標記數據並不容易。

什麼是未標記數據?

正如預期的那樣,未標記的數據與標記的數據相反。 它是原始數據或未用任何標籤標記的數據,用於識別分類、特徵或屬性。 它用於  無監督機器學習,機器學習模型必須在數據中找到模式或相似性才能得出結論。

回到之前的applesbananasgrapes示例,在未標記的訓練數據中,這些水果的圖像不會被標記。 該模型必須通過查看其特徵(例如顏色和形狀)來評估每個圖像。

在分析了相當多的圖像後,該模型將能夠將新圖像(新數據)區分為蘋果香蕉葡萄的水果類型。 當然,模型不會知道特定的水果叫做蘋果。 相反,它知道識別它所需的特徵。

有混合模型使用監督和無監督機器學習的組合。

如何在機器學習中使用訓練數據

與機器學習算法不同,傳統的編程算法遵循一組指令來接受輸入數據並提供輸出。 他們不依賴歷史數據,他們所做的每一個動作都是基於規則的。 這也意味著它們不會隨著時間的推移而改進,機器學習並非如此。

對於機器學習模型,歷史數據就是素材。 就像人類依靠過去的經驗做出更好的決策一樣,ML 模型通過過去的觀察來查看他們的訓練數據集來做出預測。

預測可以包括對圖像進行分類,例如  圖像識別,或理解句子的上下文,如自然語言處理 (NLP)。

將數據科學家視為教師,將機器學習算法視為學生,將訓練數據集視為所有教科書的集合。

老師的願望是學生必須在考試和現實世界中表現出色。 對於 ML 算法,測試就像考試。 教科書(培訓數據集)包含考試中將提出的問題類型的幾個示例。

提示:查看大數據分析  了解如何收集、結構化、清理和分析大數據。

當然,它不會包含所有將在考試中提出的問題示例,也不會包含所有教材中包含的示例將在考試中提出。 教科書可以通過教他們期望什麼以及如何回應來幫助學生做好準備。

任何教科書都不可能完全完整。 隨著時間的推移,提出的問題類型會發生變化,因此,教科書中包含的信息也需要更改。 對於 ML 算法,應定期更新訓練集以包含新信息。

簡而言之,訓練數據是一本幫助數據科學家讓 ML 算法了解預期結果的教科書。 儘管訓練數據集不包含所有可能的示例,但它將使算法能夠進行預測。

訓練數據與測試數據與驗證數據

訓練數據用於模型訓練,或者換句話說,它是用於擬合模型的數據。 相反,測試數據用於評估模型的性能或準確性。 它是一個數據樣本,用於對適合訓練數據的最終模型進行無偏評估。

訓練數據集是一個初始數據集,它教 ML 模型識別所需模式或執行特定任務。 測試數據集用於評估訓練的有效性或模型的準確性。

一旦在特定數據集上訓練了 ML 算法,並且如果您在同一數據集上對其進行測試,則它更有可能具有高精度,因為模型知道會發生什麼。 如果訓練數據集包含模型將來可能遇到的所有可能值,那麼一切都很好。

但事實並非如此。 訓練數據集永遠不可能是全面的,也無法教授模型在現實世界中可能遇到的所有內容。 因此,包含看不見的數據點的測試數據集用於評估模型的準確性。

訓練數據與驗證數據與測試數據

然後是驗證數據。 這是在訓練階段用於頻繁評估的數據集。 儘管模型偶爾會看到這個數據集,但它並沒有從中學習。 驗證集也稱為開發集或開發集。 它有助於保護模型免受過度擬合和欠擬合。

儘管驗證數據與訓練數據是分開的,但數據科學家可能會保留一部分訓練數據用於驗證。 但是,當然,這自動意味著驗證數據在訓練期間被保留。

提示:如果您的數據量有限,可以使用一種稱為交叉驗證的技術來估計模型的性能。 該方法涉及將訓練數據隨機劃分為多個子集並保留一個用於評估。

許多人交替使用術語“測試數據”和“驗證數據”。 兩者的主要區別在於驗證數據用於在訓練期間對模型進行驗證,而測試集用於在訓練完成後對模型進行測試。

驗證數據集讓模型第一次嚐到了看不見的數據。 但是,並非所有數據科學家都使用驗證數據進行初步檢查。 他們可能會跳過這一部分,直接去測試數據。

什麼是人在循環中?

循環中的人是指參與收集和準備訓練數據的人員。

原始數據從多個來源收集,包括物聯網設備、社交媒體平台、網站和客戶反饋。 收集後,參與該過程的個人將確定數據的關鍵屬性,這些屬性是您希望模型預測的結果的良好指標。

通過清理數據、考慮缺失值、刪除異常值、標記數據點並將其加載到合適的位置以訓練 ML 算法來準備數據。 還將進行多輪質量檢查; 如您所知,不正確的標籤會顯著影響模型的準確性。

是什麼讓訓練數據變得更好?

高質量的數據轉化為準確的機器學習模型。

低質量的數據會顯著影響模型的準確性,從而導致嚴重的財務損失。 這幾乎就像給學生一本包含錯誤信息的教科書,並期望他們在考試中表現出色。

以下是高質量訓練數據的四個主要特徵。

相關的

數據需要與手頭的任務相關。 例如,如果你想訓練一個  計算機視覺  自動駕駛汽車的算法,你可能不需要水果和蔬菜的圖像。 相反,您需要一個包含道路、人行道、行人和車輛照片的訓練數據集。

代表

AI 訓練數據必須具有應用程序用於預測或分類的數據點或特徵。 當然,數據集永遠不可能是絕對的,但它必須至少具有 AI 應用程序要識別的屬性。

例如,如果該模型旨在識別圖像中的人臉,則必須為其提供包含來自不同種族的人臉的各種數據。 這將減少人工智能偏見的問題,並且模型不會對特定的種族、性別或年齡組產生偏見。

制服

所有數據都應具有相同的屬性,並且必須來自相同的來源。

假設您的機器學習項目旨在通過查看客戶信息來預測客戶流失率。 為此,您將擁有一個客戶信息數據庫,其中包括客戶姓名、地址、訂單數量、訂單頻率和其他相關信息。 這是歷史數據,可以用作訓練數據。

數據的一部分不能有額外的信息,例如年齡或性別。 這會使訓練數據不完整,模型不准確。 簡而言之,一致性是高質量訓練數據的一個關鍵方面。

綜合的

同樣,訓練數據永遠不可能是絕對的。 但它應該是一個代表模型大部分用例的大型數據集。 訓練數據必須有足夠的示例,以使模型能夠正確學習。 它必須包含真實世界的數據樣本,因為它將有助於訓練模型以了解預期的結果。

如果您將訓練數據視為放置在大量行和列中的值,對不起,您錯了。 它可以是任何數據類型,如文本、圖像、音頻或視頻。

什麼會影響訓練數據的質量?

人類是高度社會化的生物,但我們可能在孩提時代就已經選擇了一些偏見,需要不斷有意識地努力擺脫。 雖然不利,但這種偏見可能會影響我們的創作,機器學習應用也不例外。

對於 ML 模型,訓練數據是他們閱讀的唯一書籍。 它們的表現或準確性將取決於這本書的全面性、相關性和代表性。

話雖如此,三個因素會影響訓練數據的質量:

  1. 人員:訓練模型的人員對其準確性或性能有重大影響。 如果他們有偏見,自然會影響他們標記數據的方式,並最終影響 ML 模型的運作方式。

  2. 流程:數據標記流程必須進行嚴格的質量控制檢查。 這將顯著提高訓練數據的質量。

  3. 工具:不兼容或過時的工具會影響數據質量。 使用強大的數據標記軟件可以減少與該過程相關的成本和時間。

從哪裡獲取訓練數據

有幾種方法可以獲取訓練數據。 您選擇的資源可能因機器學習項目的規模、預算和可用時間而異。 以下是收集數據的三個主要來源。

開源訓練數據

大多數無法負擔數據收集或標記的業餘 ML 開發人員和小型企業都依賴開源訓練數據。 這是一個簡單的選擇,因為它已經收集並免費。 但是,您很可能必須調整或重新註釋此類數據集以適應您的培訓需求。 ImageNet、Kaggle 和 Google 數據集搜索是開源數據集的一些示例。

互聯網和物聯網

大多數中型公司使用互聯網和物聯網設備收集數據。 攝像頭、傳感器和其他智能設備有助於收集原始數據,這些數據將在以後進行清理和註釋。 與開源數據集不同,這種數據收集方法將專門針對您的機器學習項目的要求量身定制。 然而,清理、標準化和標記數據是一個耗時且資源密集型的過程。

人工訓練數據

顧名思義,人工訓練數據是使用機器學習模型人工創建的數據。 它也稱為合成數據,如果您需要具有特定特徵的高質量訓練數據來訓練算法,它是一個很好的選擇。 當然,這種方法需要大量的計算資源和充足的時間。

多少訓練數據就足夠了?

對於多少訓練數據才是足夠的訓練數據,沒有一個具體的答案。 這取決於您正在訓練的算法——它的預期結果、應用、複雜性和許多其他因素。

假設您要訓練一個文本分類器,該分類器根據術語“cat”和“dog”的出現及其同義詞(例如“kitty”、“kitten”、“pussycat”、“puppy”或“doggy”)對句子進行分類. 這可能不需要大型數據集,因為只有幾個詞要匹配和排序。

但是,如果這是一個將圖像分類為“貓”和“狗”的圖像分類器,那麼訓練數據集中所需的數據點數量將會顯著增加。 簡而言之,決定哪些訓練數據是足夠的訓練數據的因素很多。

所需的數據量將根據所使用的算法而變化。

對於上下文,   深度學習是機器學習的一個子集,需要數百萬個數據點來訓練人工神經網絡 (ANN)。 相比之下,機器學習算法只需要數千個數據點。 但當然,這是一個牽強的概括,因為所需的數據量因應用程序而異。

模型訓練得越多,它就會變得越準確。 所以最好有大量的數據作為訓練數據。

垃圾進垃圾出

短語“garbage in,garbage out”是數據科學中最古老和最常用的短語之一。 即使數據生成的速度呈指數級增長,它仍然適用。

關鍵是將高質量、有代表性的數據提供給機器學習算法。 這樣做可以顯著提高模型的準確性。 高質量的訓練數據對於創建無偏見的機器學習應用程序也至關重要。

有沒有想過具有類似人類智能的計算機能夠做到什麼? 與人類智能等效的計算機被稱為通用人工智能,我們尚未得出結論,它是否會是有史以來最偉大或最危險的發明。