天天看點

大資料和實時分析的算法分類

如今,大資料技術的發展和進步開辟了收集和傳輸大量的資料更有效的新方式。這場革命促進了實時算法和方法的研究和發展。傳統上,機器學習算法并不是專為實時處理而設計的。事實上,資料的科學競賽(如netflix,kaggle)由于算法昂貴,并且不切實際的使用,并且計算量很大,這往往屢受诟病。這是植根于感覺的準确性是更重要的,該算法的速度作為原始設定的資料挖掘是離線的,往往是分批計算。大資料的出現使其開始有了改變,随着越來越多的算法湧現,對一個可擴充的方式重新考慮。大多數時間的可擴充性,單獨不妥協的算法的準确性,作為計算其本質上是相同的。大資料分析的實時處理帶來了一個更根本的變化,因為它限制了可以在這種情況下可以采用的算法的計算複雜度。一個實時的流媒體算法應該滿足以下條件:它應該在一次處理一個例子中,最多檢查它一次,使用有限的記憶體量,在有限的時間内工作,并随時在任何時候進行預測。

為了滿足這些要求,流媒體算法設計成為了一種時尚,一個學習的模型不斷更新,以反映來自流媒體傳入的例子。在處理一個傳入的例子後,無論資料稀疏,能夠産生預測的算法是必需的。對于流資料的前沿方法有來自許多不同的方向,在網上學習,随機線性代數,雲計算的分布式的優化方法,甚至直到多類噪音和雜散資料的存在分類問題。一般來說,這些方法并不是特别有效,但預測的某些部分可能基于預先計算的模型。事實上,離線線上周期是一個傳統機器學習和實時分析之間的良好折衷,因為它推動其通過該方法的線上部分,并作為新的觀測進來細化模型離線的方法。

增量學習算法代表發适合于實時分析所提出的要求的一種方法。從本質上說,這些算法有一個離線的核心模型,可以回顧曆史資料,進行新的觀察,并逐漸進入模型。為了保持模型的快速增量更新,這隻是部分更新基于概念漂移是在流的檢測模型,然後在預定的時間開始全面更新脫機。這使系統對新的觀察迅速作出反應,這是速度和準确性之間的妥協。要注意,這取決于所采用的算法的類型,有可能更新到充分模組化,在這種情況下,沒有必要保持一個離線部分的算法。事實上,這使得增量算法的線上學習算法的主要标準是它是否能夠更新模型,并産生實時的預測。

實時分析已被應用在各種各樣的場景,包括社交媒體,金融和各種科學學科被采用。然而,可以處理大量的實時資料的工具仍然稀缺,主要是内部解決方案。

分類:

hoeffding選項樹是一個漸進的決策樹算法。hoeffding樹利用的事實是一個小樣本往往是足夠來選擇最佳的分裂特性。

樸素貝葉斯是一個非常簡單的和計算上輕型分類器,該模型的更新和新的樣本的分類可以實時進行。樸素貝葉斯是增量學習的一個很好的例子,沒有一個離線元件,因為這種模式能夠産生沒有預測的曆史資料,進而提高新的觀測能力。

叢集:

streamkm++計算該資料流的一小的權重樣品,它使用的k均值++算法作為随機播種技術來選擇所述第一簇的值。

d-流使用線上元件,每個輸入資料記錄映射到網格和離線元件計算網格密度和叢集基于密度的網格。該算法采用密度衰減技術來捕獲資料流的動态變化。

回歸:

lda增量更新時,新樣本到達lda的最小二乘解。這種方法的優點在于,它執行其導緻批次lda的确切最小二乘解模型的完全更新。

sairt是二進制回歸樹的增量版本。面對未知的參與力度,如逐漸和突然漂移功能,在功能,噪音和虛拟漂移的某些區域變化的資料流時,它适應的感應模式。它監視節點和忘記實施例的從標明區域,存儲在關聯到樹的葉子本地視窗,其餘的是有用的。

本文轉自d1net(轉載)

繼續閱讀