眾所周知,大數據平臺只是提供了數據獲取、存儲、計算、應用的技術方案,真正挖掘這些數據之間的關系讓數據發揮價值的是各種機器學習算法。

如今,算法已經成為許多數字平臺的核心資產。許多數字平臺會追蹤用戶的喜好和點擊的內容,將這些用戶偏好集中起來之后,向同樣具有這類偏好特征的用戶做出所謂的“個性化定制”推送。
例如,淘寶、頭條、抖音背后其實都有智能推薦算法,這些算法不斷分析計算我們的購物偏好、瀏覽習慣,然后為我們推薦可能喜歡的商品、文章、短視頻等等。
今天小億就來帶著大家徹底的了解什么是算法?背后的基本原理是怎樣的?除了應用在智能推薦當中,還可以應用在哪些其他領域?
一、什么是算法?
這里的算法指的是機器學習算法,即計算機模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的過程。當然,算法需要以數據結構為基礎。
換句話說,機器學習算法在大數據的基礎上確立算法,通過不斷優化算法,提升處理數據的能力。而算法優化的過程,則是不斷犯有益的錯誤的過程,即以明確、簡單又有效的新算法淘汰和過濾舊算法。

與此同時,算法也可以理解為為了解決某個問題的固定化計算方法與步驟,具體拆解為以下幾個方面:
(1)目的:為了解決某個/某類問題,需要在這之前了解到背后的業務背景、關聯場景;
(2)方法:通過計算來實現,也就意味著需要具備具體的、可量化的信息輸入,且可計算、而非不可執行的概念體;
(3)結論:是否能夠解決這個問題,效果如何,最終必須得有一個產出物。在算法之外,還有幾層擴展;
(4)決策:根據一個或者多個結論進行判斷,這個過程是不是符合預期,如何調整優化,是否可直接應用于業務;
(5)應用拓展:除了解決最初的那個問題外,還有哪些同質類型的問題也可以得到解決,也就是場景的拓展。
二、機器學習的分類監督學習和無監督學習
前面我們提到了機器學習,機器學習主要分為:監督學習和無監督學習。而要掌握機器學習,主要就是學習解決這兩類問題的基本思路,主要是以下三步:
①把現實場景中的問題抽象成相應的數學模型,并知道在這個抽象過程中,數據模型有怎樣的假設;
②利用數據工具,對相應的數學模型參數進行求解;
③根據實際問題出評估方案,對應用的教學模型進行評估,看是否解決了實際問題。
這三步就是我們學習監督學習和無監督學習,乃至所有的機器學習算法核心思路。機器學習中不同模型、不同算法都是圍繞這三步來展開的。

1.監督學習
監督學習是指通過外部的響應變量來指導模型學習我們關心的任務,并達到我們需要的目的。這也就是“監督學習”中“監督”兩字的由來。也就是說,監督學習的最終目標,是使模型可以更準確地對我們所需要的響應變量建模。
比如,我們希望通過一系列特征來預測某個地區的房屋銷售價格,希望預測電影的票房,或者希望預測用戶可能購買的商品。這里的“銷售價格”、“電影票房”以及“可能購買的商品”都是監督學習中的響應變量。
2.無監督學習
而通常情況下,無監督學習并沒有明顯的響應變量。無監督學習的核心,往往是希望發現數據內部的潛在結構和規律,為我們進行下一步決策提供參考。
典型的無監督學習就是希望能夠利用數據特征來把數據分組,機器學習語境下叫做“聚類”。不同的應用場景,聚類又有很多變種,比如認為某個數據點屬于一個類別,或者認為某個數據點同時屬于好幾個類型,只是屬于每個類型的概率不同等等。

除此以外,無監督學習的另外一個作用是為監督學習提供更加有力的特征。通常情況下,無監督學習能夠挖掘出數據內部的結構,而這些結構可能會比我們提供的數據特征更能抓住數據的本質聯系,因為監督學習中往往也需要無監督學習來進行輔助,這時會有另外一個名字叫“半監督學習”
三、算法背后的基本原理是怎樣的?
1.監督學習的基本原理
監督學習的基礎是三類模型:線性模型、決策樹模型、神經網絡模型。掌握這三類模型就掌握了監督學習的主干,利用監督學習來解決的問題,占所有機器學習或者人工智能任務的絕大多數。這些監督學習模型又可以細分為主要處理兩類問題:分類問題和回歸問題。
分類問題的核心是如何利用模型來判別一個數據點的類別,這個類別一般是離散的,比如兩類或者多類。回歸問題的核心則是利用模型來輸出一個預測的數值,這個數值一般是一個實數,是連續的。這里我們以線性回歸模型為例來進行說明,線索回歸模型是所有回歸模型中最簡單也是最核心的一個模型。

(1)第一步:把現實場景中的問題抽象成相應的數學模
例如,線索回歸認為現實場景中的響應變量(比如房價、票房等)和數據特征之間存在線性關系,而線性回歸的數學假設有兩個部分:
①響應變量的預測值是數據特征的線性變換。這里的參數是一組系數。而預測值是系數和數據特征的線性組合;
②響應變量的預測值和真實值之間有一個誤差。這個誤差服從一個正態(高斯)分布,分布的期望值是 0,方差是σ的平方。
(2)第二步:對相應的數學模型參數進行求解
對于同一個模型而言,可以用不同的算法來求解模型的參數,這是機器學習的一個核心特點。比如在教科書中一般會介紹線性回歸的解析解。線性回歸的解析解雖然簡單優美,但是在現實計算中一般不直接采用,因為需要對矩陣進行逆運算,而矩陣求逆運算量很大。解析解主要用于各種理論分析中。
線性回歸的參數還可以用數值計算的辦法,比如梯度下降的方法求得近似結果。然而梯度下降需要對所有的數據點進行掃描。當數據量很多的時候,梯度下降會變得很慢。于是隨機梯度下降算法就應運而生。隨機梯度下降并不需要對所有的數據點掃描后才對參數進行更新,而可以對一部分數據,有時甚至是一個數據點進行更新。
(3)第三步:評估線性回歸模型
由于線性回歸是對問題的響應變量進行一個實數預測。那么,最簡單的評估方式就是看這個預測值和真實值之間的絕對誤差。如果對于每一個數據點我們都可以計算這么一個誤差,那么對于所有的數據點而言,我們就可以計算一個平均誤差。
2.無監督學習的基本原理
在前文中,我們提到無監督學習的主要目的是挖掘出數據內在的聯系。但這里需要注意,不同的無監督學習方法對數據內部的結構有不同的假設,因此無監督學習不同模型之間常常有很大的差別。在眾多無監督學習模型中,聚類模型無疑是重要的代表,而聚類模型中也有很多種類,這里我們以最常見的K均值算法(K-means)來進行說明:

(1)第一步:把現實場景中的問題抽象成相應的數學模型
K均值算法認為數據由K個類別組成。每個類別內部的數據相距比較近,而距離所有其他類別中的數據都比較遙遠。因此在K均值算法中,數據到一個類別的距離被定義為到這個類別的平均點的距離。這也是K均值名字的由來。而距離函數則采用了歐幾里得距離,來衡量兩個數據點之間的遠近。
(2)第二步:對相應的數學模型參數進行求解
直接求解K均值的目標函數是一個NP難的問題。于是大多數現有的方法都是用迭代的貪心算法來求解。
(3)第三步:評估線性回歸模型
一直以來,對聚類問題、對無監督學習任務的評估都是機器學習的一個難點。無監督學習沒有一個真正的目標,或者是我們之前提到的響應變量,因此無法真正客觀地衡量模型或者算法的好壞。
對于K均值算法而言,比較簡單的衡量指標就是,看所有類別內部的數據點的平均距離和類別兩兩之間的所有點的平均距離的大小。如果聚類成功,則類別內部的數據點會相距較近,而類別兩兩之間的所有點的平均距離則比較遠。
四、哪些場景下需要用到機器學習算法?
1.供需匹配的問題
在過去的市場經濟環境中,無論是B2C、B2B還是其他,我們去建立用戶畫像做精準營銷、做好推薦系統實現千人千面、對用戶進行分層分類打標簽、給用戶的評價信息分情緒好壞等等,都是為了更好的去做供需管理,例如網約車就是雙邊的供需管理。
供需管理,即誰可以找誰消費到一件相對比較合適的東西(內容、物品、信息、線索、商機),在這個過程中還可能需要通過哪幾個誰才能打通彼此之間的聯系。早期數據不大,通過人工的方式能解決,但如今數據量巨大的供需平臺就需要利用算法來進行更高效的匹配。供需匹配過程中涉及的算法,基本都是有監督算法,不論是人群分類、商品召回、需求匹配,都可以通過過去的經驗進行一個初步標簽建立,然后逐步去對劃分的準確性進行校驗和優化。
與此同時,在供需的某些場景過程中會并存很多涉及物聯網的知識,譬如物流調度、配送匹配、路線優化、倉庫建設等等供應鏈優化方面的事情,這些場景下除了算法外,還需要去了解下運籌學的內容。
2.異常識別和診斷
異常檢測在金融領域應用比較廣泛,主要的場景就是風控。如圖所示:

金融領域涉及的風控幾乎都是GBDT / XGBT+LR,因為在金融行業有一個非常特別的屬性:監管。對于算法結果必須有非常好的模型解釋,對于LR邏輯回歸模型來說,這是天然的優勢,特征可解釋,特征工程清晰,每個特征的貢獻度、相關程度也可以被統計出來。換了其他深度學習的模型,從最終的模型效果上來看,roc/auc/ks的表現沒差,但是解釋性極差,也就造成了很多應用上的壁壘。
3.排序
排序之所以單拎出來,它的應用場景其實有一定的局限性,但是怎么做好排序,客觀、合理,卻是一個值得去考究的事情。常見的排序應用場景有熱點榜單、搜索排序、推薦排序等。
知乎的問題回答排序是一個經典的排序應用場景,既要保證優質高贊內容可以排在前面被用戶瀏覽,又要保證新增內容有一定曝光量,同時需要綜合考慮話題熱度及社區調性等多重因素。故需要將回答贊/踩數量、回答用戶該領域權威性、贊/踩用戶領域權威性、回答時間、回答爭議性、回答用戶的歷史畫像特征等綜合權重進行算法排序。
4.預測
數值預測與分類預測都屬于預測場景。銷售預測、股票預測、流量預測,這些都是常見的預測場景。
5.知識圖譜
2012年的時候Google推出了一個叫Knowledge Graph的產品,能夠直觀的看到詞和其背后知識的關系。 很多大公司都已經在知識圖譜的建設上進行布局了,知識圖譜最早的應用是提升搜索引擎的能力,隨后在輔助智能問答、自然語言理解、
大數據分析、推薦計算、物聯網設備互聯、可解釋性人工智能等多個方面展現出豐富的應用價值,如圖所示,這幾年推廣比較成功的應該是AI輔助司法進行案件判決。
五、機器學習算法應用于業務的案例
我們最近常聽到的一個詞叫“大數據殺熟”,應該是算法在業務上非常常用的一種應用場景。通常來說,算法的產出物有兩種,第一種是算法產出的結果(分群、分類、預測值),第二種是算法產出的規則。
1.產出結果(分群、分類、預測值)
比如億信華辰為某監獄搭建的大數據監測服務平臺,以服刑人員為研究對象,對服刑人員的相關主要屬性信息進行歸納,識別并構建罪犯所關聯的標簽系統,對每個服刑人員個體行為、心理狀態進行實時跟蹤監測,并關聯罪犯的心理評測信息、基本信息、成長經歷信息、獄內表現信息、案情信息、觸發誘因信息等,訓練出識別罪犯異常的機器學習模型,自動甄別罪犯是否存在自殺、自傷、自殘或脫逃風險,提前預警。

最終結合大數據技術對罪犯進行預警監控,降低警力成本,減輕監獄民警的工作強度,提高了技防的科學性、精準性,讓整個安防系統更加完善。
2.產出規則
比如億信華辰為某地級政府搭建的大數據政務服務平臺,以其監管對象為核心輻射多業務系統進行跨系統跨部門數據融合,形成綜合信息特征數據集,并基于該數據全集結合大數據機器學習算法,找到監管對象爆發問題和其他綜合特征之間的相關性,形成多維度監督預測模型,為政務決策提供預測預警依據。

最終為各業務部門提供統一的數據共享交換服務的同時,通過機器學習算法,智能篩選可能有問題的監管對象,為各類監管工作提供預測預警數據依據,在有限的人力下覆蓋更大的監管范圍,深度挖掘數據特征,提高政府監管效率。
六、小結
如今,我們常常一打開淘寶就買個不停,一打開抖音就刷個不停。正如美國學者凱斯·桑斯坦所言,在傳播過程中,公眾會偏向于選擇那些他們感興趣的信息,但久而久之,便會將自身置于“繭房”之中。在這樣的“信息繭房”中,全部都是感興趣的內容,很容易致癮,讓人停不下來。
但正如前文所說,算法也不僅僅只應用在個性化推薦中,如今工業制造,農業生產,無人駕駛等領域也都在利用機器學習算法不斷的提高生產效率。每件事情都有兩面性,最重要的是怎么去對待。技術為人類服務,人類在使用這項服務時,也要要有獨立思考的能力。
(部分內容來源網絡,如有侵權請聯系刪除)