一文讀懂:機器學習模型構建全流程
本文是系列文章的第二篇,會具體產出模型構建環節的具體內容。閱讀本文前,建議先閱讀上篇文章,可以知道模型構建環節處于AI產品構建的哪個位置。
上文以薅羊毛項目為例,簡單介紹了AI產品構建的全流程,其中模型構建、模型評估等重點環節只是一筆帶過。今天我們來了解一下模型構建環節的具體內容。
模型構建,其實就是從繁雜的數據中提取那些最能解釋數據本質的特征,再利用算法建立出對未知數據有準確預測能力模型的過程。
模型構建主要包括5個階段,分別為算法選擇、特征工程、模型訓練、模型驗證和模型融合。
一、算法選擇
以上文薅羊毛項目為例,基于其需求定義,模型需要計算出用戶是薅羊毛用戶的概率,并根據概率高低分為正常、疑似、高危三類,最終技術同學決定采用邏輯回歸算法來實現該需求。
邏輯回歸算法具有計算速度快、可解釋性強的優點,適用于解決需求中的多分類問題,而且還可以對用戶“為什么封號”的質疑,有較強的解釋性。
目前大家對算法有個概念就可以,后續篇章中會對常見的算法進行較詳細的介紹。
二、特征工程
確定算法之后,我們就可以進入特征工程階段了。
特征工程是模型構建過程中最重要的部分,如果我們可以挑選到足夠優質的特征,不僅可以提升模型性能,還能降低模型的復雜度,大幅簡化構建過程。
數據和特征決定了模型的上限,而模型和算法只是逼近這個上限而已。
所有模型的輸入都是數量化的信息,所以我們需要通過某種方式,把各種類型的數據轉化成數量化的信息,這個過程就是特征工程。
以薅羊毛項目為例,我們可以通過用戶是否在夜間活動、操作頻率、歷史訂單、完成活動速度、同一臺終端是否登錄多個賬號等一系列特征,來表達是薅羊毛用戶的可能性,這就是建立了薅羊毛用戶的特征工程。我們可以通過這些特征來判斷用戶的可疑程度。
特征過程包括以下四個流程:
- 數據清洗:數據預處理的重要環節,主要是對數據進行重新審查和校驗,檢查數據一致性、處理無效值和缺失值等。
- 特征提取:從原始數據中提取有用的特征,將其轉化為一組更具代表性和可解釋性的特征。特征提取的目的是減少原始數據的維度,提高數據的表達能力,幫助算法進行更好的完成任務。
- 特征選擇:篩選出對分類或回歸有重要貢獻的特征,從而降低數據集復雜度,提高模型的泛化能力。
- 生成訓練集和測試集:把整理過的數據分為訓練集和測試集,為模型訓練做最后的準備。
構造機器學習模型的目的,是希望從原始數據中梳理出問題的結構,學習到問題的本質,那些優質的特征其實就是對問題本質的最好詮釋,而如何找到優質特征自然也就成為了模型構建的核心工作。
特征工程的內容很多,也非常重要,建議自己主動去查一下資料,詳細了解一下數據清洗、數據提取、數據選擇的各種方法,對該環節了解越深入,和算法同學的溝通越順暢。
三、模型訓練
模型訓練是通過不斷訓練、驗證和調優,讓模型達到最優的過程。
這里的“最優”,指的是模型擬合能力和泛化能力的平衡點。
- 擬合能力:模型在已知數據上(訓練集)表現的好壞
- 泛化能力:模型在未知數據上(測試集)表現的好
如果想讓模型有足夠好的擬合能力,就需要構建一個復雜的模型對訓練集進行訓練,但是模型越復雜就會越依賴訓練集的數據,就越可能出現訓練集的表現很好,但在測試集上表現差的情況,泛化能力比較差,這種情況叫做“過擬合”。
如果想讓提高模型的泛化能力,就要降低模型復雜度,減少對訓練集的依賴,但如果過度降低復雜度,又可能導致“欠擬合”的情況。
- 過擬合:模型把數據學習的太徹底,甚至把噪聲數據的特征也學習到了,就導致不能很好的識別未知數據,模型泛化能力下降。訓練集表現很好,但是測試集很差。讀的是“死書”,并沒有真正掌握書里的精髓,自然就無法很好的應用了。產生過擬合的原因一般有:特征過多,模型復雜度過高,樣本數據無法代表預定的分類,樣本噪音干擾過大等。
- 欠擬合:模型不能很好的捕捉數據特征,不能很好的擬合數據。在訓練集的表現就很差,需要繼續努力“學習”。產生欠擬合的原因一般有:模型復雜度過低、特征量過少等。
算法工程師就這樣不斷的調整模型參數、訓練,再用交叉驗證的方式,逐漸找到擬合能力和泛化能力的平衡點,這個平衡點就是我們訓練模型的目標。
- 交叉驗證:一種評估機器學習模型性能的有效方法,可以用于選擇最佳模型參數、模型選擇以及避免過擬合等問題。包括簡單交叉驗證、留出交叉驗證、自助交叉驗證等方法。
四、模型驗證
經過復雜的模型訓練,我們終于得到了一個所謂的“最優解”,但是怎么證明這個最優解就是真正的最優解呢?我們需要模型驗證階段來確認這個“最優解”的真假。
模型驗證一般通過模型的性能指標和穩定性指標來評估。
模型性能,就是模型預測的準確性。
- 分類模型性能評估:分類模型的預測結果是具體的分類,一般使用召回率、F1、KS、AUC等評估指標,來判斷分類模型的性能。
- 回歸模型性能評估:回歸模型的預測結果是連續值,一般使用方差和MSE等評估指標,來判斷回歸模型的性能。
模型穩定性,指的是模型性能可以持續多久,一般使用PSI指標來評估模型的穩定性。
產品經理需要對模型驗證環節格外關注,需要深入理解評估指標、計算邏輯,并能根據指標的數據判斷模型效果是否達標。
這里只簡單描述了模型驗證的概念和意義,后面會詳細講解模型評估的核心指標。
五、模型融合
為了提升模型的準確率和穩定性,有時會同時構建多個模型,再把這些模型集成在一起,確保模型有更優的整體表現。
比如薅羊毛項目這種分類模型,可以用最簡單的投票方法來融合,票數最多的類別就是最終的結果。
我們只需要知道一些常用的模型融合方法即可,比如加權平均法、Bagging等,感興趣的話可以自己查一下。
六、總結
本文粗略介紹了模型構建的算法選擇、特征工程、模型訓練、模型驗證和模型融合等5個環節,其中產品經理需要重點關注特征過程和模型驗證環節,建議繼續查閱資料,加強理解。
下篇文章,我會詳細介紹模型評估環節的詳細內容,敬請期待。
本文由 @AI小當家 原創發布于人人都是產品經理,未經許可,禁止轉載
題圖來自 Unsplash,基于 CC0 協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
感覺寫的非常到位非常好啊,怎么沒有閱讀呢