來源:獵云網(微信號:ilieyun) 從事IT領域工作二十年以來,我發現人工智能技術逐步從概念轉向實際——機器學習技術位于前沿,并且變得更易于使用,即使對于沒有專業知識的團隊也是如此。 隨著越來越多的團隊使用預測模型,領導者和管理者必須意識到可能會扭曲團隊工作結果的常見問題。為了實現可靠的機器學習過程,以下是要避免的九個常見陷阱,以及可采用的最佳實踐方法。 陷阱1:抽樣偏差 任何機器學習項目的起點都是選擇訓練數據。通常,組織機構有一些可用的數據,或者可以識別相關的外部供應商,例如國營企業或行業協會。這是問題開始的地方。 建模團隊及其業務贊助商必須定義要使用的數據集。選擇一個會歪曲或低估實際案例的數據集會很容易引起偏差,這會扭曲結果。例如,一個訪問只選擇在特定位置行走的人群,但卻將他們當作健康人群的過度代表。 解決方案:為避免采樣偏差,團隊必須保證他們是真正地隨機選擇數據,而不是僅僅因為使用簡單就使用特定案例。對于指導有效的數據選擇而言,理想數據集的清晰定義和模型的邏輯至關重要。通過在早期階段與企業所有者合作,讓幾位評審人員驗證選擇標準,機器學習團隊可以確保他們的數據采樣方法有用并可靠。 陷阱2:不相關的功能選擇 在許多情況下,由于變量選擇的細微差別,建模師遇見了許多困難。許多技術需要大量功能集來推動學習過程。但是,為了收集足夠的學習數據,確保您獲取了正確且相關的功能可能非常具有挑戰性。 解決方案:構建一個性能良好的模型的過程需要仔細的探索和分析,以確保您選擇和設計適當的功能。了解領域和包含主題專家,是選擇正確功能最重要的兩個驅動因素。此外,諸如遞歸特征消除(recursive feature elimination,RFE),隨機森林(random forest),主成分分析(principal component analysis,PCA)和自動編碼器等技術有助于將建模工作集中在少數幾個更有效的功能上。 陷阱3:數據泄露 機器學習團隊可能會偶然地收集建模數據,使用的標準是團隊試圖預測結果的一部分,因此,模型會顯示出優秀到失真的性能。例如,一個團隊可能錯誤的包含了一個在旨在預測疾病的模型中指示某些疾病治療的變量。 解決方案:建模團隊必須仔細構建他們的數據集,在模型估計結果之前僅使用訓練時實際可用的數據。 陷阱4:缺少數據 在某些情況下,由于缺少某些記錄,數據集會變得不完整。錯誤地調整該條件或假設沒有缺失值,建模師可能會對結果的認知產生重大偏差。例如,缺失的數據可能并不總是隨機的,例如,當調查受訪者不太可能回答某個特定問題時。因此,平均估算可能會誤導模型。 解決方案:如果您無法設計培訓計劃以確保使用完整的數據集,則可以采用統計技術,包括丟棄缺失值的記錄,或使用適當的插補策略來估算缺失的數據值。 陷阱5:不準確的縮放和標準化 構建用于機器學習工作的數據集通常需要團隊收集不同類型的輸入端,這些輸入端有著不同的衡量尺度。在建立模型之前,如果未能調整變量的值以允許通用比例,線性回歸(linear regression),支持向量機(support vector machine,SVN),或k近鄰(k nearest neighbors,KNN)等算法會受到很大影響。這些問題的出現在于范圍大的話會導致功能的高度變化,因此,它們可能變得多余。例如,如果您將兩者都當作未處理的投入使用,那么薪水的數據可能會獲得比年齡更重的權重。 解決方案:在開始建立模型之前,您必須小心地對數據集進行標準化。您可以通過常用統計技術(如標準化或功能縮放)來轉換數據集,這取決于數據的類型和團隊的首選算法。 陷阱6:忽略異常值 忘記異常值可能會對模型的性能產生重大影響。例如,像AdaBoost這樣的算法會將異常值視為困難情況,并將不適當的權重放在適當的位置上,而決策樹更寬容。此外,不同的用例需要不同的離群值處理。例如,在發現欺詐行為的情況下,應重點關注存款中異常值。 解決方案:要解決此類問題,您的團隊應該使用建模算法,它能夠正確處理異常值,或者在建模前過濾異常值。良好的開端在于讓您的團隊做一個初步檢查,以確定數據中是否存在異常值。最簡單的方法是審查數據的圖標或檢查任何數值,它們可能是幾個標準差,或更遠離平均值的數值。 陷阱7:計算錯誤功能 當一個團隊為建模提供投入時,微分過程中的任何錯誤都可能會為模型帶來誤導性輸入。毫無例外,無論團隊如何構建,模型都出乎意料地產生了不可靠的結果。這個問題的一個例子是,一個團隊弱化了一個依賴于計算的利用率的信用評分預測模型,因為這個團隊包括來自信用報告的不活躍貿易信息。 解決方案:建模師必須仔細檢查團隊如何獲取數據。關鍵的出發點是要了解哪些功能是原始格式,哪些是經過設計的。自此,建模師就可以在進行建模之前檢查衍生功能的假設和計算。 陷阱8:忽略多線投入(multi-collinear inputs) 使用數據集而不考慮多重共線性預測因子(multi-collinear predictors)是誤導模型建構的另一種方式(多線性輸入的存在意味著兩個或多個變量之間存在著很高的相關性)。結果使其很難識別任何一個變量的影響。在這種情況下,選定功能的微小變化會對結果產生重大影響。這個問題的一個例子是,廣告預算和流量作為預測變量呈現共線性。 解決方案:檢測多重共線性的簡單方法是計算所有變量對應的相關系數。之后您就有諸多選擇來解決任何確定的共線性問題,如建筑構圖或刪除冗余變量。 陷阱9:無效績效KPI 當建模數據各種進程進入平衡狀態時,大多數建模算法表現最好。當數據顯示不平衡時,衡量模型性能的正確指標變的至關重要。例如,平均違約率為1.2%。一個模型的準確度能達到98%,預測在所有情況下都不會發生變化。 解決方案:除非可以選擇生成更均衡的訓練集,或使用基于成本的學習算法,選擇業務驅動的績效指標是最好的解決方案。對于超出準確度的模型的績效有著各種措施,如精確度,召回率,F1得分和受試者工作特征(receiver operating characteristic,ROC)曲線。選擇最合適的度量標準將指導建模算法錯誤最小化。 從堅實的基礎開始 由于技術和工具的進步,機器學習培訓項目比以往更容易執行。但是,要獲得可靠的結果需要對數據科學和統計學原理有深入的了解,如此才能確保團隊從一個堅不可摧的底層數據集開始,這邊是成功的基礎。 Pejman Makhfi是Credit Sesame的首席技術官。Credit Sesame是一個教育信貸和個人財務網站,為消費者提供免費的信用評分服務。 |