電子商務網(wǎng)站建設是什么重慶森林為什么叫這個名字
目錄
1.模型訓練
2.模型驗證
3.模型融合
4.模型部署
上節(jié)課我們講了模型設計、特征工程,這節(jié)課我們來講模型構(gòu)建剩下的三個部分:模型訓練、模型驗證和模型融合。
1.模型訓練
模型訓練就是要不斷地訓練、驗證、調(diào)優(yōu)直至讓模型達到最優(yōu)。
那么怎么達到最優(yōu)呢?就是要繪制一條比較好的決策邊界。
決策邊界
就是在符合某種條件做出某種選擇的條件,根據(jù)這個條件可以將結(jié)果進行劃分。
比如說:下午6:00不寫完這篇博客我不吃飯,那么寫完了就去吃,沒寫完就不吃。這個條件就是我們說的決策邊界。
決策邊界分為:線性決策邊界和非線性決策邊界。下圖中,圖1為線性決策邊界,圖2、圖3為非線性決策邊界。
決策邊界曲線的平滑程度和算法訓練出來的模型能力息息相關。曲線越陡峭模型的測試精度越準確,但是越陡峭的曲線模型越不穩(wěn)定。
所以為了找到好的決策邊界劃分結(jié)果,我們需要找到穩(wěn)定性和準確率的平衡點。使用專業(yè)術語來講,我們就是需要找到泛化能力和擬合性能都好的平衡點。
通常,算法工程師會使用交叉驗證來找到模型參數(shù)的最優(yōu)解。
總結(jié):模型訓練就是要找到一個劃分條件(決策邊界),使得準確率(擬合)最高的同時兼顧穩(wěn)定性(泛化性能)。
?交叉驗證
這里舉例10折交叉驗證法。如果一個樣本集中有10個樣本數(shù)據(jù),對數(shù)據(jù)進行1-10的標號。
先使用1-9號標號的數(shù)據(jù)作為訓練集,將10號標號的數(shù)據(jù)作為測試集。
接著將9號標號的數(shù)據(jù)作為訓練集,其他數(shù)據(jù)作為測試集。
接著將8號標號的數(shù)據(jù)作為訓練集,其他數(shù)據(jù)作為測試集。
……
依次類推,然后將測試結(jié)果取出平均值。
如果這里有100個樣本,我們先將100個樣本隨機分成10組,將每一組按照這樣的方式進行測試,然后10組再取平均值。
2.模型驗證
算法工程師為了模型預測結(jié)果更加準確,將模型構(gòu)建的比較復雜,越復雜的模型越依賴于訓練集,但是越依賴訓練集的模型泛化能力越差,造成過擬合的情況。
算法工程師為了使模型的泛化性能好一點,就降低模型的復雜度,這樣就造成了準確率不高,也就是欠擬合。
下圖的偏差我們可以看作誤差率,而方差可以看作泛化能力??梢灶惐葹槲覀冞@里的欠擬合和過擬合情況。
所以算法工程師在模型訓練的絕大多數(shù)時間就是在找兩者的平衡點,找到適合的參數(shù)。但是有時候我們以為的最優(yōu)解并不是真正的最優(yōu)解,所以我們需要模型驗證工作。
模型驗證分為兩部分:模型性能和模型穩(wěn)定性。
模型性能:簡而言之就是模型的預測準不準確。具體的評估指標有具體章節(jié)來講。
模型的穩(wěn)定性:就是模型的效果可以持續(xù)多久?我們使用PSI指標來判斷模型的穩(wěn)定性,具體的計算方法和合理范圍我們后面也會講到。
基于此我們知道我們需要了解模型的性能指標、穩(wěn)定性指標以及其合理范圍才能夠進行模型的驗證,判斷模型的好壞。
3.模型融合
我們以前談到的例子都是使用一個模型來講的,但是為了解決多種具體細節(jié)問題,算法工程師往往需要建立多個模型才能獲得最佳的效果,此時就要考慮到模型的融合問題。
模型融合就是同時訓練多個模型,然后融合集成在一起提高整體的準確率。
我們可以了解一些基本的融合方法,如下面的思維導圖中的方法。
想要詳細了解融合算法的可以看看下面兩篇文章,有上面講到的方法:【知出乎爭】模型融合方法總結(jié) - 知乎 (zhihu.com)?
【機器學習】模型融合方法概述 - 知乎 (zhihu.com)?
對于回歸模型而言加權平均就是采用算術平均或加權平均的方法來融合。?對于分類問題而言,通常采用投票法來進行融合,就是把概率最大的,票數(shù)最多的作為結(jié)果。
在模型融合的過程中,產(chǎn)品經(jīng)理需要做一個考慮成本問題。有時候算法工程師可能為了提升AUC(模型預測效果)的一個點,增加特征規(guī)模,導致模型部署成本增加,所以我們要注意一下。
4.模型部署
算法部門和研發(fā)部門是兩個團隊,為了降低彼此的依賴性,算法模型部署成獨立的任務,然后暴露一個HTTP API給工程團隊來調(diào)用。
我們需要根據(jù)業(yè)務場景選擇離線/實時的部署。如果我們要實時的預測用戶的UGC類別,那么我們的模型就要部署成在線的web服務并提供實時響應的API接口。如果模型只是需要對一段時間已有的數(shù)據(jù)進行分類,那么我們模型只需要部署成離線的就可以啦!