如今,大數據技術的發展和進步開辟了收集和傳輸大量的數據更有效的新方式。這場革命促進了實時算法和方法的研究和發展。傳統上,機器學習算法并不是專為實時處理而設計的。事實上,數據的科學競賽(如Netflix,Kaggle)由于算法昂貴,并且不切實際的使用,并且計算量很大,這往往屢受詬病。這是植根于感知的準確性是更重要的,該算法的速度作為原始設置的數據挖掘是離線的,往往是分批計算。大數據的出現使其開始有了改變,隨著越來越多的算法涌現,對一個可擴展的方式重新考慮。大多數時間的可擴展性,單獨不妥協的算法的準確性,作為計算其本質上是相同的。大數據分析的實時處理帶來了一個更根本的變化,因為它限制了可以在這種情況下可以采用的算法的計算復雜度。一個實時的流媒體算法應該滿足以下條件:它應該在一次處理一個例子中,最多檢查它一次,使用有限的內存量,在有限的時間內工作,并隨時在任何時候進行預測。
為了滿足這些要求,流媒體算法設計成為了一種時尚,一個學習的模型不斷更新,以反映來自流媒體傳入的例子。在處理一個傳入的例子后,無論數據稀疏,能夠產生預測的算法是必需的。對于流數據的前沿方法有來自許多不同的方向,在網上學習,隨機線性代數,云計算的分布式的優化方法,甚至直到多類噪音和雜散數據的存在分類問題。一般來說,這些方法并不是特別有效,但預測的某些部分可能基于預先計算的模型。事實上,離線在線周期是一個傳統機器學習和實時分析之間的良好折衷,因為它推動其通過該方法的在線部分,并作為新的觀測進來細化模型離線的方法。
增量學習算法代表發適合于實時分析所提出的要求的一種方法。從本質上說,這些算法有一個離線的核心模型,可以回顧歷史數據,進行新的觀察,并逐步進入模型。為了保持模型的快速增量更新,這只是部分更新基于概念漂移是在流的檢測模型,然后在預定的時間開始全面更新脫機。這使系統對新的觀察迅速作出反應,這是速度和準確性之間的妥協。要注意,這取決于所采用的算法的類型,有可能更新到充分建模,在這種情況下,沒有必要保持一個離線部分的算法。事實上,這使得增量算法的在線學習算法的主要標準是它是否能夠更新模型,并產生實時的預測。
實時分析已被應用在各種各樣的場景,包括社交媒體,金融和各種科學學科被采用。然而,可以處理大量的實時數據的工具仍然稀缺,主要是內部解決方案。
分類:
Hoeffding選項樹是一個漸進的決策樹算法。Hoeffding樹利用的事實是一個小樣本往往是足夠來選擇最佳的分裂特性。
樸素貝葉斯是一個非常簡單的和計算上輕型分類器,該模型的更新和新的樣本的分類可以實時進行。樸素貝葉斯是增量學習的一個很好的例子,沒有一個離線組件,因為這種模式能夠產生沒有預測的歷史數據,從而提高新的觀測能力。
集群:
StreamKM++計算該數據流的一小的加權樣品,它使用的k均值++算法作為隨機播種技術來選擇所述第一簇的值。
D-流使用在線組件,每個輸入數據記錄映射到網格和離線組件計算網格密度和集群基于密度的網格。該算法采用密度衰減技術來捕獲數據流的動態變化。
回歸:
LDA增量更新時,新樣本到達LDA的最小二乘解。這種方法的優點在于,它執行其導致批次LDA的確切最小二乘解模型的完全更新。
SAIRT是二元回歸樹的增量版本。面對未知的參與力度,如逐步和突然漂移功能,在功能,噪音和虛擬漂移的某些區域變化的數據流時,它適應的感應模式。它監視節點和忘記實施例的從選定區域,存儲在關聯到樹的葉子本地窗口,其余的是有用的。