自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

機器學(xué)習(xí)的策略原理:基本過程、算法框架和項目管理

企業(yè)動態(tài) 算法
機器學(xué)習(xí)是一種解決問題的思維方式,核心在于收集數(shù)據(jù),應(yīng)用算法和生成模型。相對于普通的數(shù)據(jù)統(tǒng)計和分析而言,機器學(xué)習(xí)有自己的優(yōu)化過程和評估體系,是一個更為獨立,相對閉環(huán)的領(lǐng)域。

作者:cooperyjli,騰訊 CDG 數(shù)據(jù)分析師

機器學(xué)習(xí)是一種解決問題的思維方式,核心在于收集數(shù)據(jù),應(yīng)用算法和生成模型。相對于普通的數(shù)據(jù)統(tǒng)計和分析而言,機器學(xué)習(xí)有自己的優(yōu)化過程和評估體系,是一個更為獨立,相對閉環(huán)的領(lǐng)域。馮友蘭在中哲簡史里說,所謂的哲學(xué),即是對于人生有系統(tǒng)性反思的思想。從這個意義上而言,機器學(xué)習(xí)無疑是日常數(shù)據(jù)工作的工具箱里,相對更為智能化的一種。

[[333117]]

本文不是一篇偏技術(shù)性的文章,意圖完全跳出數(shù)學(xué)推導(dǎo)和編程實現(xiàn)這兩個部分,用純中文的形式,來闡述機器學(xué)習(xí)的策略原理。人們說把物理學(xué)的公式拿出來時,物理學(xué)就變?yōu)榱藬?shù)學(xué),那么如果把機器學(xué)習(xí)的基本問題抽取出來,再去看機器學(xué)習(xí)時,會發(fā)現(xiàn)其實它就像是一場豐富而實在的哲學(xué)思考,或者說是一些解決問題的策略原理。

以下首先闡述機器學(xué)習(xí)的基本過程,羅列了幾個主要流程和關(guān)鍵要素;繼而展開介紹機器學(xué)習(xí)主要的算法框架,包括監(jiān)督學(xué)習(xí)算法,無監(jiān)督學(xué)習(xí)算法和常用的降維,特征選擇算法等;最后在業(yè)務(wù)實踐的過程中,給出了一個可行的項目管理流程,可供參考。

1.基本過程

1.1 機器學(xué)習(xí)的五步流程

如果把機器學(xué)習(xí)當(dāng)做一個閉環(huán)的工作項來看待的話,會發(fā)現(xiàn)其實它的整個流程,跟我們?nèi)粘I钪凶銎渌氖虑槭钱惽さ模热缱鲆粋€ABtest,做一次競品分析,或者寫一個量化策略。只是在其基本過程里,我們所要考慮的問題點,所采用的工具和方法有所不同而已。

以下參考達里歐的五步流程法,嘗試將機器學(xué)習(xí)的基本過程也簡化為五個環(huán)節(jié)。

01確定目標(biāo)

機器學(xué)習(xí)的目標(biāo)并不在于機器學(xué)習(xí),而在于我們將這種方法應(yīng)用到現(xiàn)實場景,去解決現(xiàn)實的問題點。所以在工作開始之前,我們需要想清楚自己是要實現(xiàn)何種目標(biāo),比如是要對流失用戶進行風(fēng)險預(yù)警,對潛在付費用戶進行意愿評估,還是對信貸用戶進行欺詐識別。

02診斷問題

因為明確了所要實現(xiàn)的目標(biāo),所以可以根據(jù)現(xiàn)實基礎(chǔ)來診斷問題。為了實現(xiàn)這個目標(biāo),需要機器學(xué)習(xí)給到怎樣的輸出,單純的0-1標(biāo)簽即可,還是需要連續(xù)的風(fēng)險概率;目前的數(shù)據(jù)量是否能支撐這個項目,業(yè)務(wù)樣本的黑白比例是否不夠均衡,這些問題都是需要診斷的。

03方案設(shè)計

明確了要實現(xiàn)的目標(biāo),也了解了現(xiàn)實基礎(chǔ)里存在的問題點,便可以展開方案設(shè)計。在這個細分的業(yè)務(wù)場景下,適合選用哪一類型的算法,不同算法往往是為不同領(lǐng)域而生的;在這個場景下,如果沒有明確的黑白樣本,需要基于何種方法來進行樣本定義。在方案設(shè)計的環(huán)節(jié),需要給出一個工作開展的大的方向,相當(dāng)于把時間和精力限制在一個合適的框架中。

04方案執(zhí)行

在方案執(zhí)行的過程中遇到問題時,如何進行解決,也是很重要的環(huán)節(jié)。機器學(xué)習(xí)算法的執(zhí)行,一般稱之為最優(yōu)化的過程,即在一個算法框架下,如何最快地達到最優(yōu)的結(jié)果。而針對整個方案的執(zhí)行,又會包括數(shù)據(jù)準(zhǔn)備,特征工程,算法調(diào)試,模型評估等具體事項,每一個事項相互獨立,各有各的方法論,但又相互影響,上下游之間的執(zhí)行效果環(huán)環(huán)相扣。

05評估迭代

評估的過程,其實就是一個目標(biāo)量化的過程,因為有了量化,所以有了絕對意義上的效果優(yōu)劣。只是不同的業(yè)務(wù)目標(biāo),不同的模型框架,對應(yīng)的評估體系是不一樣的。建立一套合適的評估方式,機器學(xué)習(xí)項目也就實現(xiàn)了閉環(huán),可以在迭代中去逐步逼近要實現(xiàn)的業(yè)務(wù)目標(biāo)。

1.2機器學(xué)習(xí)的關(guān)鍵要素

01機器學(xué)習(xí)三要素

如同勞動力,資本,土地等是經(jīng)濟學(xué)的基本要素一樣,其實機器學(xué)習(xí)也有自己的三要素,即數(shù)據(jù),算法和模型,它們?nèi)币徊豢?,相互關(guān)聯(lián),并貫穿于工作的整個過程。人們說機器學(xué)習(xí)的過程,就是準(zhǔn)備好充足的數(shù)據(jù),應(yīng)用合適的算法,去生成優(yōu)良的模型的過程。

02其它關(guān)鍵要點

除了機器學(xué)習(xí)三要素外,其實也有其它的一些點是相當(dāng)重要的,比如特征處理,優(yōu)化算法,和模型評估等。缺少了這些內(nèi)容,其實模型也能生成,但只能是大打折扣地生成。特征處理決定了模型性能的上限,優(yōu)化算法讓我們以最好的方式去逼近模型性能的上限,而模型評估則定義了什么是我們到底在討論什么樣的模型性能,它們是機器學(xué)習(xí)項目的“加速器”。

2. 監(jiān)督學(xué)習(xí)

監(jiān)督學(xué)習(xí)要處理的是有標(biāo)簽的數(shù)據(jù),即業(yè)務(wù)場景里有絕對的黑白,明確的好壞,比如在信貸風(fēng)控的場景下,逾期了就是逾期了,在金融市場的場景下,漲跌也都是界限分明的。通過對歷史數(shù)據(jù)的學(xué)習(xí),從而給當(dāng)前的數(shù)據(jù)一個離散的標(biāo)簽,或者連續(xù)的數(shù)值結(jié)果。

2.1 線性模型

線性模型的出發(fā)點很簡單,就是考慮一個事情成立的多個因素,比如ABCDE五個因素,每個因素又有各自的權(quán)重,權(quán)衡過各個因素后,才做出最后的決策。將這個想法轉(zhuǎn)化為數(shù)學(xué)的表達,也就有了因變量,自變量,系數(shù),偏置這些概念,從而組成了線性模型。

線性模型也可以很復(fù)雜,有很長的歷史,很多的變體。其中最經(jīng)典的形式,是在線性基礎(chǔ)上添加一個Sigmoid函數(shù),從而將線性輸出轉(zhuǎn)化為概率,并進一步轉(zhuǎn)化為黑白標(biāo)簽,也就是邏輯回歸。在傳統(tǒng)金融場景的評分卡領(lǐng)域里,邏輯回歸的應(yīng)用是非常廣泛和深入的。

2.2決策樹

決策樹的思想可以用四個字來概括,即分而治之。線性模型的因素考慮,是相互并列的,權(quán)重各異的,但決策樹里不是如此。決策樹里的因素是串行的,即先考慮A因素,隨后針對A因素中的各種情況,繼續(xù)考慮新的因素,循環(huán)往復(fù),形成了一組決策鏈路,即決策樹。

所以決策樹里面最重要的問題,便是在當(dāng)前這個節(jié)點,我應(yīng)該考慮何種因素,去繼續(xù)推進這個決策的制定。為了解決這個問題,決策樹引入了計算機領(lǐng)域里信息熵的概念,經(jīng)過推演,有了最大增益和增益率這些指標(biāo),對應(yīng)了ID3和C4.5這兩種經(jīng)典的決策樹范式。后來又通過引入基尼系數(shù),作為因素選擇的判斷條件,從而生成了CART決策樹。

2.3貝葉斯

貝葉斯學(xué)派和頻率學(xué)派之間的爭辯,很像是物理學(xué)里波粒之爭,數(shù)學(xué)家們爭執(zhí)于參數(shù)到底存不存在,物理學(xué)家們則爭執(zhí)于光到底是波還是粒子。波粒之爭最終通過波粒二象性的理論而宣告結(jié)局,但貝葉斯和頻率學(xué)派的爭執(zhí)并沒有結(jié)束,繼續(xù)在不同的時代里各領(lǐng)風(fēng)騷。

頻率學(xué)派相信存在著一個客觀實體(參數(shù)),所以要做的就是盡可能地去擬合和逼近這個參數(shù),比如最大似然估計。貝葉斯學(xué)派則拒絕相信這一套,他們堅持我看見(先驗概率),我思考(后驗概率),我決策(貝葉斯模型)。貝葉斯理論廣泛應(yīng)用于文本處理的領(lǐng)域,生成了諸多經(jīng)典模型,根據(jù)因素之間的獨立性差異,產(chǎn)生了樸素貝葉斯及其它多種貝葉斯算法。

2.4支持向量機

支持向量機是追求極致的,它要在所有的可行解里面,找到唯一的最優(yōu)解。在二維平面里,這個解是一條唯一的線,在三維空間里,這個解是一個唯一的面,那么,在N維空間里,這個解就是唯一的超平面了。而用于尋找這個解的樣本點,就稱之為支持向量。

核函數(shù)是支持向量機里的大殺器,與人們所說的“降維打擊”類似,核函數(shù)是要通過升維的方式去解決問題。如果在當(dāng)下的困境里找不到答案,那就嘗試在更高的維度里去破局。

2.5神經(jīng)網(wǎng)絡(luò)

神經(jīng)網(wǎng)絡(luò)引入了生物學(xué)里神經(jīng)元的概念。每一個神經(jīng)元都是簡單的,有輸入和權(quán)重,有閾值和輸出,但是用眾多神經(jīng)元搭建起多層網(wǎng)絡(luò),網(wǎng)絡(luò)之間又相互聯(lián)系時,這個問題就變得復(fù)雜了。在2006年后,神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)身為深度學(xué)習(xí),成就了無數(shù)或神秘或偉大的商業(yè)故事。

在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中,有一個很有意思的事情,就是局部最優(yōu)和全局最優(yōu)。模型訓(xùn)練中容易陷入局部最優(yōu)的困境,停止搜索最優(yōu)解,就像我們很多時候做事情,只是做好了,但是并不夠好。為了解決這個問題,人們設(shè)計了模擬退火,隨機梯度下降等多種訓(xùn)練策略。

2.6集成學(xué)習(xí)

集成學(xué)習(xí)的理念,是“好而不同”。對于一個問題,如果通過單一模型始終給不出最優(yōu)解,不如集成幾個好而不同的子模型,可能會獲得性能優(yōu)異的效果。三個臭皮匠,勝過諸葛亮。每個臭皮匠都有不足,但各有各的優(yōu)點,而諸葛亮作為單一模型已是極致,卻仍有局限。

集成學(xué)習(xí)有兩個分支,如果子模型串行生成,則是Boost,如果子模型并行生成,則是Bagging。Boost強調(diào)的是一個一個上,針對前一個子模型的缺陷,通過下一個子模型去補足,xgBoost和GBDT都是其中的代表;Bagging強調(diào)的則是一起上,群架好過單挑,通過學(xué)習(xí)不同的樣本,生成不同的子模型。Bagging的一個變體隨機森林,便是這一類模型的優(yōu)秀代表。

3. 無監(jiān)督學(xué)習(xí)

監(jiān)督學(xué)習(xí)處理的是有標(biāo)簽的數(shù)據(jù),無監(jiān)督學(xué)習(xí)要處理的則是無標(biāo)簽的數(shù)據(jù)。正是因為沒有了這個絕對的標(biāo)簽,所以會更側(cè)重與數(shù)據(jù)本身的信息和結(jié)構(gòu),對于模型所得結(jié)果的合理性,也會有更豐富和更精細的評估。以下主要介紹一些不同類型的聚類算法。

3.1基于原型

基于原型的聚類,強調(diào)在數(shù)據(jù)中存在著某種確定性的結(jié)構(gòu),不同類別的結(jié)構(gòu),應(yīng)該是不一樣的。K-means是原型聚類中的經(jīng)典代表,它相信數(shù)據(jù)中存在著K個中心點,通過迭代更新這K個中心點的位置,從而將所有樣本點劃分進K個原型里面,直至迭代結(jié)束。

3.2基于密度

基于密度的聚類,強調(diào)如果在數(shù)據(jù)中存在一個類別,那么這個類別里的樣本點之間,是存在一定的緊密程度的,如果不具有的話,那就是屬于其它類別。DBSCAN是這一類算法中的代表,它與K-means的不同在于,不預(yù)先假設(shè)K個中心,而是先尋找一個類別,獲取這個類別所有的樣本點,再在剩余的數(shù)據(jù)集里,尋找下一個類別,直到所有樣本都找到類別。

3.3基于層次

基于層次的聚類,則是從一個更為立體的角度,對樣本點進行自底向上的逐層的劃分。AGENS是這一種算法里的代表,在第一層里,它將所有樣本點當(dāng)做是一個初始類別,通過計算類別之間的距離,不斷的進行合并,從而在最后一層里保留下指定個數(shù)的類別。

相對于監(jiān)督學(xué)習(xí),無監(jiān)督學(xué)習(xí)沒有了標(biāo)簽的羈絆,反而成為了一個更為開放的場景,出現(xiàn)了一大批的形態(tài)各異的算法。但這些不同類型的聚類算法,仍要去討論一些共同的問題,比如如何去度量聚類結(jié)果的性能,這里又分為外部指標(biāo)和內(nèi)部指標(biāo);比如如何去計算樣本點之間的距離,基于不同維度,閔氏距離可以分為曼哈頓距離,歐氏距離,和切比雪夫距離。

4. 其它算法

除了監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)外,有一些算法雖不直接生成具體的模型,但仍然是我們在數(shù)據(jù)探索,模型訓(xùn)練等過程中所必不可少的,比如降維算法,特征選擇算法等。

4.1降維

數(shù)據(jù)之中的方差,被當(dāng)做是一種信息的表達方式。如果對當(dāng)前的數(shù)據(jù)集進行重構(gòu),用少量的幾個特征來提取數(shù)據(jù)集所包含的大量信息,便是降維的理念,其中的優(yōu)秀代表是PCA。為實現(xiàn)一個業(yè)務(wù)目標(biāo),我們從現(xiàn)實世界中收集的數(shù)據(jù),往往不是最優(yōu)的表達,它們可能有重復(fù),有冗余,通過降維的方式,可以對這些原始數(shù)據(jù)進行重構(gòu),生成一個更好的數(shù)據(jù)表達。

4.2特征選擇

機器學(xué)習(xí)算法,是用來炒菜的,但是你要選擇哪些食材去炒,本身也是一個問題點。要做一份揚州炒飯,肯定不會把廚房里的材料全都加上,也不可能拿一把青菜和米飯就下鍋翻炒,如何選擇食材,便是特征選擇的領(lǐng)域。過濾式方法中,特征選擇和模型訓(xùn)練是相互獨立的,互不干擾;包裹式方法中,模型性能則是特征選擇效果的參考,兩者相互影響;除此之外,還有嵌入式的選擇方法。數(shù)據(jù)處理和特征選擇的效果,往往會決定模型性能的上限值。

5. 實踐過程

業(yè)務(wù)實踐的過程,往往是一個追求“工業(yè)化”的過程,要求所做的事情要契合實際情況,要可實現(xiàn)和可復(fù)用。在這個過程里,人們往往喜歡用一套固定的框架去規(guī)范自己所做的工作,這個框架的缺點是相對呆板,限制了一些自由度,但好處是能有一個清晰可見的進度條,有利于項目的管理和推進。筆者在此分享一個曾用過的可行的管理框架,可供參考。

5.1場景分析

除了一些火燒眉毛的緊急事項外,對于工作中多數(shù)不那么緊迫的事情來說,可以給自己預(yù)留一個場景分析的過程。相當(dāng)于在做一個事情之前,先跳出這個事情,思考其周邊與其相互關(guān)聯(lián),可能決定其是否能成立的種種條件,然后再選擇一頭扎進這個場景之中。

在場景分析的過程中,要對細分的業(yè)務(wù)場景進行梳理,基于業(yè)務(wù)目標(biāo),評估機器學(xué)習(xí)建模的可行性和可復(fù)用性。如果業(yè)務(wù)目標(biāo)清晰,機器學(xué)習(xí)的方式也合適的話,就去建模吧。

5.2數(shù)據(jù)準(zhǔn)備

數(shù)據(jù)是一個機器學(xué)習(xí)項目的原材料,相當(dāng)于做菜的食材,蓋樓的地基,不可謂不重要。在數(shù)據(jù)準(zhǔn)備的過程中,要看現(xiàn)實中能擁有幾個數(shù)據(jù)來源,它們共同組成了一個怎樣的數(shù)據(jù)廣度;要基于業(yè)務(wù)目標(biāo),鋪開一套因子指標(biāo)體系,看其中有哪些是可實現(xiàn)的;同時對于最終獲取到的數(shù)據(jù),也需要進行質(zhì)量分析,如完整度,異常值等,并展開基礎(chǔ)的數(shù)據(jù)預(yù)處理工作。

5.3模型開發(fā)

模型開發(fā)的工作,其實才是真正意義上屬于生產(chǎn)的過程。首先需要了解所選算法的基本原理,從而展開后續(xù)的處理工作,比如通過特征工程把源數(shù)據(jù)轉(zhuǎn)化為模型可讀取的數(shù)據(jù);通過成熟的機器學(xué)習(xí)平臺或框架,進行模型訓(xùn)練和生成,并在投產(chǎn)前進行模型評估和驗證。

5.4模型應(yīng)用

模型生成之后,其實只是在技術(shù)意義上的生成,并非是業(yè)務(wù)意義上的可用。比如信用風(fēng)險模型輸出了一個概率,這個概率如何應(yīng)用到不同的用戶群體中,這里就需要結(jié)合一套具體的業(yè)務(wù)策略體系。模型的應(yīng)用過程,便是在模型輸出到業(yè)務(wù)輸出之間的一道橋梁。

5.5模型部署

經(jīng)過了評估和驗收,如果模型性能達到了預(yù)期的效果,則可進入模型部署和任務(wù)調(diào)度的階段。但模型的部署上線,并不是一勞永逸的事情,在投產(chǎn)之后,仍要進行跟蹤和監(jiān)控,比如模型性能的變化,覆蓋人群的穩(wěn)定性等,如果觸發(fā)了變更條件,則要進行模型的優(yōu)化工作。

 

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2021-02-07 10:36:34

機器學(xué)習(xí)人工智能圖表

2021-03-18 11:45:49

人工智能機器學(xué)習(xí)算法

2020-05-19 14:00:09

人工智能機器學(xué)習(xí)AI

2020-08-03 07:59:12

機器學(xué)習(xí)開發(fā)數(shù)據(jù)

2020-09-28 12:42:17

機器學(xué)習(xí)語言GitHub

2020-05-19 09:11:20

機器學(xué)習(xí)技術(shù)數(shù)據(jù)

2017-02-05 17:10:41

機器學(xué)習(xí)深度學(xué)習(xí)框架

2018-04-16 08:56:40

2023-10-10 15:45:15

人工智能機器學(xué)習(xí)

2017-06-29 09:15:36

推薦算法策略

2016-11-15 15:02:00

機器學(xué)習(xí)算法

2022-07-14 10:33:20

XGBoost機器學(xué)習(xí)

2021-03-29 23:12:51

機器學(xué)習(xí)人工智能游戲

2020-12-16 15:56:26

機器學(xué)習(xí)人工智能Python

2020-06-19 07:59:35

人工智能

2009-12-11 11:07:33

靜態(tài)路由策略

2017-08-25 14:05:01

機器學(xué)習(xí)算法模型

2022-09-14 22:51:08

機器學(xué)習(xí)模型高斯過程

2024-02-29 16:40:38

2020-08-18 17:26:11

機器學(xué)習(xí)XGBoost人工智能
點贊
收藏

51CTO技術(shù)棧公眾號