機器學習模型培訓:企業完整指南
已發表: 2024-02-062016年,微軟推出了一款名為Tay的人工智慧聊天機器人。 它應該深入 Twitter 上的即時對話,掌握行話,並在每次新聊天中變得更加聰明。
然而,由於惡意用戶迅速利用了聊天機器人的學習技能,實驗失敗了。 在推出後的幾個小時內,Tay 就開始發布攻擊性和不當的推文,反映出它從用戶那裡學到的負面語言。
Tay 的推文瘋傳,吸引了大量關注,損害了微軟的聲譽。 這事件凸顯了在現實世界、不受控制的環境中部署機器學習 (ML) 模型的潛在危險。 該公司不得不公開道歉並關閉 Tay,承認其設計有缺陷。
快進到今天,我們在這裡深入探討適當的 ML 模型訓練的重要性——正是這一點可以使 Microsoft 免於這場公關風暴。
所以,係好安全帶! 以下是 ITRex 機器學習開發公司提供的 ML 模型訓練指南。
機器學習模型訓練:機器學習的不同方法如何塑造訓練過程
讓我們從這個開始:沒有一種放諸四海皆準的機器學習方法。 訓練 ML 模型的方式取決於資料的性質和您想要的結果。
讓我們快速瀏覽一下 ML 的四種關鍵方法,看看每種方法如何塑造訓練過程。
監督學習
在監督式學習中,演算法在標記資料集上進行訓練,學習將輸入資料映射到正確的輸出。 工程師先引導模型解決一系列已解決的問題,然後模型才能自行解決新問題。
範例:考慮一個監督學習模型,其任務是對貓和狗的圖像進行分類。 帶有標籤的資料集包括標有相應標籤(貓或狗)的圖像。 該模型細化其參數,以準確預測新的、未見過的圖像的標籤。
無監督學習
相反,在這裡,演算法深入研究未標記的數據並自行尋找模式和關係。 它將相似的數據點分組並發現隱藏的結構。
範例:考慮在電子商務資料集中訓練用於客戶聚類的 ML 模型。 此模型遍歷客戶資料並根據購買行為識別不同的客戶群。
半監督學習
半監督學習是結合了監督學習和無監督學習元素的中間立場。 在少量標記資料和大量未標記資料的情況下,該演算法取得了平衡。 當完全標記的資料集稀缺時,這是一個務實的選擇。
例:想像一個醫療診斷場景,其中標記資料(具有已知結果的病例)有限。 半監督學習將利用標記的患者數據和更大的未標記患者數據的組合,增強其診斷能力。
強化學習
強化學習是一種相當於試誤的演算法。 模型與環境交互,做出決策並以獎勵或懲罰的形式接收回饋。 隨著時間的推移,它會完善其策略以最大化累積獎勵。
例:考慮為自主無人機訓練機器學習模型。 無人機透過獲得成功導航的獎勵和碰撞的懲罰來學習在環境中導航。 隨著時間的推移,它會完善其政策以更有效地導航。
雖然每種機器學習方法都需要獨特定制的序列並強調某些步驟,但存在一組廣泛適用於各種方法的核心步驟。
在下一節中,我們將引導您完成該序列。
機器學習模型訓練:一步一步
識別機會並定義專案範圍
這一步驟不僅涉及破解當前的業務問題,還涉及確定機器學習可以發揮其變革力量的機會。
首先與關鍵利害關係人(包括決策者和領域專家)互動,以全面了解業務挑戰和目標。
接下來,透過訓練 ML 模型清楚地闡明您想要解決的具體問題,並確保其與更廣泛的業務目標保持一致。
這樣做時,要小心歧義。 含糊不清的問題陳述可能會導致錯誤的解決方案。 澄清和具體化問題以避免後續階段的誤導至關重要。 例如,“透過個人化內容推薦在下個季度將行動應用程式的用戶參與度提高 15%”,而不是“提高用戶參與度”——它是量化的、有針對性的、可衡量的。
在範圍定義階段,您可以儘早採取的下一步是評估相關資料的可用性和品質。
確定可用於解決問題的潛在資料來源。 假設您想要預測基於訂閱的服務中的客戶流失情況。 您必須評估客戶訂閱記錄、使用日誌、與支援團隊的互動以及計費歷史記錄。 除此之外,您還可以求助於社群媒體互動、客戶回饋調查和外部經濟指標。
最後,評估將機器學習技術應用於已識別問題的可行性。 考慮技術(例如現有基礎設施的運算能力和處理速度)、資源(例如可用的專業知識和預算)和資料相關(例如資料隱私和可存取性考慮因素)限制。
資料發現、驗證和預處理
成功的機器學習模型訓練的基礎在於高品質的資料。 讓我們探討資料發現、驗證和預處理的策略。
數據發現
在深入進行 ML 模型訓練之前,必須深入了解您所擁有的資料。 這涉及探索資料內的結構、格式和關係。
數據發現到底意味著什麼?
- 探索性資料分析 (EDA),您可以在其中揭示可用資料集中的模式、相關性和異常值,並視覺化關鍵統計資料和分佈以深入了解資料。
想像一下零售企業旨在優化其定價策略。 在 EDA 階段,您深入研究歷史銷售數據。 透過散點圖和直方圖等視覺化技術,您可以發現促銷期和銷售量增加之間存在很強的正相關性。 此外,分析還揭示了假期期間的異常值,表明存在需要進一步調查的潛在異常情況。 因此,EDA 可以掌握銷售模式、相關性和異常行為的動態。
- 特徵識別,您可以識別對當前問題有重要貢獻的特徵。 您還需要考慮每個功能對於實現既定業務目標的相關性和重要性。
基於上面的例子,特徵識別可能涉及識別哪些方面影響銷售。 透過仔細分析,您可以將產品類別、定價等級和客戶人口統計等特徵識別為潛在的貢獻者。 然後您考慮每個功能的相關性。 例如,您注意到產品類別在促銷期間可能具有不同的重要性。 因此,特徵識別可確保您根據對期望結果產生有意義影響的屬性來訓練機器學習模型。
- 資料採樣,您可以利用採樣技術來獲取具有代表性的資料子集以進行初始探索。 對於上面例子中的零售業務來說,資料採樣變得至關重要。 假設您採用隨機抽樣來擷取不同時間段的銷售資料的代表性子集。 這樣,您就可以確保正常時段和促銷時段的均衡表現。
然後,您可以套用分層抽樣來確保每個產品類別都按比例表示。 透過探索此子集,您可以初步了解銷售趨勢,從而使您能夠就 ML 模型訓練流程的後續階段做出明智的決策。
數據驗證
穩健的資料驗證對於 ML 模型訓練的重要性怎麼強調也不為過。 它確保輸入模型的資訊準確、完整且一致。 它還有助於建立更可靠的模型並有助於減少偏見。
在資料驗證階段,您可以徹底評估資料完整性並識別可能影響模型效能的任何差異或異常。 以下是具體的步驟:
- 資料品質檢查,您 (1) 跨特徵搜尋缺失值並確定適當的刪除策略; (2)確保資料格式和單位的一致性,盡量減少可能影響模型訓練的差異; (3) 辨識並處理可能影響模型訓練的異常值; (4)驗證資料的邏輯充分性。
- 交叉驗證,您可以根據領域知識或外部來源交叉驗證數據,以驗證其準確性和可靠性。
資料預處理
資料預處理可確保模型在乾淨、一致且具代表性的資料集上進行訓練,從而增強其對新的、未見過的資料的泛化能力。 為了實現這一目標,您需要採取以下措施:
- 處理缺失資料:識別缺失值並根據資料的性質和要解決的業務問題實施插補或刪除等策略。
- 偵測和處理異常值:採用統計方法來識別和處理異常值,確保它們不會影響模型的學習過程。
- 歸一化、標準化:將數字特徵縮放到標準範圍(例如使用Z分數標準化),確保一致性並防止某些特徵支配其他特徵。
- 編碼:將資料轉換為一致的格式(例如透過one-hot編碼或詞嵌入)。
- 特徵工程:派生新特徵或修改現有特徵,以增強模型捕捉資料中相關模式的能力。
在為機器學習模型訓練準備資料時,在保留資料集中有價值的資訊和解決資料中存在的固有缺陷或異常之間取得平衡非常重要。 取得錯誤的平衡可能會導致有價值資訊的無意遺失,從而限制模型的學習和泛化能力。
採用解決缺陷的策略,同時盡量減少有意義資料的遺失。 這可能涉及仔細的異常值處理、選擇性插補或考慮鈣類別變數的替代編碼方法。
數據工程
在數據不足的情況下,數據工程就發揮了作用。 您可以透過資料增強和合成等技術來彌補資料的缺乏。 讓我們深入了解細節:
- 資料增強:這涉及透過應用各種轉換來創建現有資料的新變體或實例,而不改變固有意義。 例如,對於影像數據,增強可以包括旋轉、翻轉、縮放或改變亮度。 對於文字數據,變體可能涉及釋義或引入同義詞。 因此,透過增強人為地擴展資料集,您可以將模型引入更多樣化的場景,從而提高其處理未見資料的能力。
- 資料合成:這需要產生與現有資料集的特徵相符的全新資料實例。 可以使用生成式人工智慧模型、模擬或利用領域知識來產生合理的範例來建立合成資料。 在獲取更多現實世界數據具有挑戰性的情況下,數據合成尤其有價值。
選擇最佳演算法
數據工作完成。 機器學習模型訓練過程的下一階段是關於演算法的。 選擇最佳演算法是一項策略決策,會影響未來模型的效能和精確度。
有幾種流行的機器學習演算法,每種演算法都適合一組特定的任務。
- 線性迴歸:適用於根據輸入特徵預測連續結果。 它非常適合特徵與目標變數之間存在線性關係的場景,例如,根據平方英尺、臥室數量和位置等特徵預測房價。
- 決策樹:能夠處理數字和分類數據,使其適合需要明確決策邊界的任務,例如,根據寄件者、主題和內容等特徵確定電子郵件是否為垃圾郵件。
- 隨機森林:結合多個決策樹的整合學習方法,具有更高的準確性和穩健性,使其能夠有效解決複雜問題,例如,結合歷史使用資料和客戶人口統計資料來預測客戶流失。
- 支援向量機 (SVM):對於明確決策邊界至關重要的場景非常有效,尤其是在醫學成像等高維度空間中。 SVM 可應用的任務範例是根據從影像中提取的各種特徵將醫學影像分類為癌性或非癌性。
- K 最近鄰 (KNN):依靠鄰近度,KNN 根據附近資料點的多數類或平均值進行預測。 這使得 KNN 適合推薦系統中的協同過濾,它可以根據具有相似觀看歷史的用戶的偏好向用戶推薦電影。
- 神經網路:擅長捕捉複雜的模式和關係,使其適用於各種複雜的任務,包括影像辨識和自然語言處理。
以下是影響機器學習模型訓練演算法選擇的因素。
- 問題的性質:問題的類型,無論是分類、迴歸、聚類或其他。
- 資料集的大小和複雜性:大型資料集可能受益於可擴展的演算法,而複雜的資料結構可能需要更複雜的模型。
- 可解釋性要求:一些演算法提供了更多的可解釋性,這對於理解模型決策至關重要的場景至關重要。
機器學習模型訓練
在模型訓練階段,您可以訓練和調整演算法以獲得最佳效能。 在本節中,我們將指導您完成模型訓練過程的基本步驟。
首先將資料集分為三個部分:訓練集、驗證集和測試集。
- 訓練集:此資料子集是模型教學的主要來源。 它用於訓練 ML 模型,使其能夠學習輸入和輸出之間的模式和關係。 通常,訓練集包含可用資料的最大部分。
- 驗證集:此資料集有助於評估模型在訓練期間的表現。 它用於微調超參數並評估模型的泛化能力。
- 測試集:此資料集作為模型的最終檢查。 它包含模型在訓練或驗證期間未遇到的新資料。 測試集提供了模型在現實場景中的表現的估計。
透過測試資料集運行演算法後,您可以初步了解模型的效能並進行超參數調整。
超參數是指導模型學習過程的預先定義配置。 超參數的一些例子可能是學習率(它控制訓練期間的步長)或隨機森林中決策樹的深度。 調整超參數有助於找到模型的完美「設定」。
模型評估與驗證
為了確保模型的最佳性能,根據設定的指標對其進行評估非常重要。 根據手邊的任務,您可以選擇一組特定的指標。 機器學習模型訓練中常用的包括以下內容。
- 準確性量化了模型預測的整體正確性,並說明了其整體熟練程度。
- 精確度和召回率,前者專注於正面預測的準確性,確保每當模型聲稱得到正面結果時,它都會正確執行,後者衡量模型捕獲資料集中所有正面實例的能力。
- F1 分數力求在準確率和召回率之間取得平衡。 它提供了捕獲模型性能的單一數值。 由於精確率和召回率通常表現出一種權衡(想想:提高其中一個指標通常會以犧牲另一個指標為代價),F1 分數提供了一個考慮這兩個方面的統一衡量標準。
- AUC-ROC,即接收者操作特徵下的面積,反映了模型區分正類和負類的能力。
- 「距離測量」量化預測值和實際值之間的差異或「距離」。 「距離測量」的範例包括均方誤差 (MSE)、平均絕對誤差 (MAE) 和 R 平方。
模型產品化/部署與擴展
一旦機器學習模型經過訓練和驗證,下一個關鍵步驟就是部署——將模型在現實環境中付諸實踐。 這涉及將模型整合到現有的業務基礎設施中。
模型部署需要注意的關鍵面向如下。
- 可擴展性
部署的模型應設計為能夠處理不同的工作負載並適應資料量的變化。 可擴展性至關重要,尤其是在模型需要即時處理大量資料的場景中。
- 監控與維護
部署後持續監控至關重要。 這涉及追蹤模型在現實條件下的性能,檢測準確性的任何偏差或下降,並及時解決問題。 定期維護可確保模型隨著業務環境的發展而保持有效。
- 回饋迴路
建立回饋循環對於持續改進至關重要。 透過收集模型在現實世界中的預測的回饋,資料科學家可以隨著時間的推移完善和增強模型。
克服機器學習模型訓練的挑戰
讓我們透過探索現實生活中的範例來詳細說明訓練 ML 模型的細節。 下面,我們記錄了我們創建具有人工智慧功能的革命性智慧健身鏡的歷程,希望能讓您深入了解機器學習的實用方面。
讓我們先分享一些背景知識。 隨著新冠疫情大流行關閉了健身房並推動了家庭健身的興起,我們的客戶設想了一種改變遊戲規則的解決方案——一款可以充當私人教練的智慧健身鏡。 它將捕捉使用者的動作,提供即時指導,並制定個人化的訓練計劃。
為了實現此功能,我們設計並訓練了專有的機器學習模型。 由於解決方案的複雜性,機器學習模型的訓練過程並不容易。 我們偶然發現了一些挑戰,但我們成功地解決了這些挑戰。 讓我們來看看最值得注意的。
- 確保訓練資料的多樣性
為了訓練高性能模型,我們必須確保訓練資料集多樣化、代表性且沒有偏見。 為了實現這一目標,我們的團隊實施了資料預處理技術,包括異常值檢測和刪除。
此外,為了彌補數據集中的潛在差距並增強其多樣性,我們拍攝了定制視頻,展示人們在不同環境、不同光照條件下以及使用不同健身器材進行鍛煉的情況。
透過使用這些廣泛的影片片段來增強我們的資料集,我們豐富了模型的理解,使其能夠更有效地適應現實世界的場景。
2. 探索模型的演算法複雜性
我們遇到的另一個挑戰是設計和訓練能夠準確地追蹤和解釋使用者動作的深度學習模型。
我們實施深度感測來捕捉基於解剖標誌的運動。 這不是一件簡單的事; 它需要精確的處理和地標識別。
經過第一輪訓練後,我們繼續透過結合先進的電腦視覺技術來微調演算法,例如骨架化(思考:將使用者的輪廓轉換為簡化的骨架結構,以實現高效的地標識別)和追蹤(確保地標識別的一致性)隨著時間的推移,這對於在整個動態練習中保持準確性至關重要)。
3. 確保物聯網設備無縫連接和集成
由於健身鏡不僅可以追蹤身體運動,還可以追蹤使用者訓練的重量,因此我們引入了連接到各個設備部件的無線黏合感測器。
我們必須確保感測器和鏡子之間不間斷的連接,並實現即時數據同步。 為此,我們實施了優化的資料傳輸協定並開發了錯誤處理策略來解決資料傳輸中的潛在故障。 此外,我們採用了頻寬最佳化技術來促進快速通信,這對於動態練習期間的即時同步至關重要。
4. 實現語音識別
健身鏡中的語音辨識功能增加了一個互動層,讓使用者可以透過語音命令控制和互動設備。
為了使用戶能夠與系統交互,我們實現了一個聲控麥克風,其中包含固定的健身相關命令列表和語音識別技術,可以學習新單字並理解用戶給出的新提示。
挑戰在於,使用者經常在環境噪音較大的家庭環境中鍛煉,這使得語音識別系統很難準確理解命令。 為了應對這項挑戰,我們實施了噪音消除演算法並微調了語音辨識模型,以提高噪音條件下的準確性。
機器學習模型訓練的未來趨勢
ML 的前景正在不斷發展,預計將重塑 ML 模型訓練過程的一個顯著趨勢是自動化機器學習 (AutoML)。 AutoML 提供了一種更容易存取且更有效率的 ML 模型開發方法。
它允許實現上述大部分工作流程的自動化,甚至使那些沒有豐富的機器學習專業知識的人也能利用機器學習的力量。
以下介紹了 AutoML 如何影響 ML 訓練過程。
- 所有人均可使用:AutoML 透過簡化模型訓練中涉及的複雜性來實現 ML 的民主化。 具有不同背景的個人,而不僅僅是經驗豐富的資料科學家,都可以利用 AutoML 工具創建強大的模型。
- 效率與速度:傳統的機器學習開發週期可能是資源密集且耗時的。 AutoML 簡化了這個過程,自動執行特徵工程、演算法選擇和超參數調整等任務。 這加快了模型開發生命週期,使其更有效率並能更好地回應業務需求。
- 無需專業知識即可優化:AutoML 演算法擅長優化模型,無需深厚的專業知識。 他們迭代地探索演算法和超參數的不同組合,尋找表現最佳的模型。 這不僅節省了時間,還確保模型經過微調以獲得最佳性能。
- 持續學習和適應:AutoML 系統通常包含持續學習的各個方面,以適應資料模式和業務需求隨時間的變化。 這種適應性確保模型在動態環境中保持相關性和有效性。
如果您想透過機器學習最大限度地發揮數據的潛力,請與我們聯繫。 我們的專家將指導您完成 ML 模型培訓,從專案規劃到模型產品化。
本文原刊於 ITRex 網站