大資料演算法點滴一

2021-07-09 06:29:40 字數 1209 閱讀 6992

大資料演算法筆記 from 哈爾濱工業大學 大資料演算法設計與分析 王巨集志

一、大資料問題

1byte=8bit,1kb=1024bytes,1mb=1025kb,gb、tb、pb、eb、zb、yb、bb、nb、db

4v特性:volume、variety、velocity、value,補充:對於web大資料還有virtuality

求解步驟:問題--可計算否--計算可行否(資源、時間、資料量)--演算法設計與分析--語言實現演算法--軟體系統

難點側重:

訪問全部資料時間過長——讀取部分資料——時間亞線性演算法

資料難於放入記憶體計算——將資料儲存在磁碟上,僅基於少量資料進行計算——外存演算法,空間亞線性演算法

計算需要全部資料,單個計算機難以儲存——並行處理——並行演算法

計算機能力或者知識不足——人類專家指導——眾包演算法

大資料演算法分析:分析時間空間複雜性,io複雜性,結果質量(近似比、competitive ratio)比如泛化能力,通訊複雜性

二、亞線性演算法

定義:時間、空間、io、通訊、能量等消耗是o(輸入規模),低於輸入規模的階

亞線性時間演算法:亞線性時間近似演算法(最優解),性質檢測演算法(測定某乙個特性)

亞線性空間演算法:資料流演算法

舉個栗子:水庫抽樣

輸入:大小未知的一組資料

輸出:這組資料的k個均勻抽樣

要求:僅掃瞄資料一次,空間複雜度o(k),儲存已掃瞄資料n(n>k)的k個均勻抽樣

演算法:1.申請長度為k的陣列a儲存抽樣;2.儲存首先接收到的k個元素;3.後面接收到第i個新元素t時,以k/i的概率隨機替換a中元素(即生成[1,i]間的隨機數j,若j小於等於k,則用t替換a[j])

證明:首先,接收到k+1個元素的時候,它用來替換陣列a中的某一元素的概率為k/k+1,接收到第i個數的時候,它以k/i的概率來替換,到i+1時,第i個數依然在a中的概率為1-1/(i+1),因為第i+1個元素用來替換a中元素的概率為k/(i+1),而第i個元素正好被替換的概率為1/k,所以i+1時刻第i個元素被替換的概率為兩個的積1/(i+1).所以,當接收到第n個數的時候,第i個數仍然在a中的概率為k/n

大資料處理點滴筆記

自我頭腦風暴,說得對與錯都請指點,後續補充。當下三大技術熱點 高併發 分布式 大資料 也許,還有很多,這只是自我修煉的三個目標 大資料處理系統有幾點要求 低延遲高效能 分布式可擴充套件 更多的要求是可橫向擴充套件 容錯 現在用的比較多的就是hadoop storm。hadoop 依賴於hdfs 磁碟...

《大資料演算法》一導讀

本書的緣起 大資料 在今天成為乙個非常時尚的概念,其影響已經遠遠超過了計算機學科本身,甚至影響到了自然科學 社會科學 人文科學等。由於其深遠的影響和廣泛的應用,大資料一直得到it從業人員的重視,他們對大資料相關理論 技術的學習有著強烈的需求。演算法設計與分析 是電腦科學的重要主題,進行大資料計算,演...

大資料演算法 大資料演算法概述

大資料 當下人人津津樂道的話題。然而對於大資料的公認定義以及完美體系還沒有完全誕生,但大街小巷已遍布雲計算 大資料,這些領域的經典案例更是層出不窮。由於認知的有限,就不繼續發表拙見了。只是因為很喜歡演算法和dm,加上最近在mooc上學習一門hit的 大資料演算法 課程,收穫很多特記錄於此,也推薦一下...