小草说----大数据和机器学习为什么这样火
小草說—-大數(shù)據(jù)和機(jī)器學(xué)習(xí)為什么這樣火
標(biāo)簽(空格分隔): SPARK機(jī)器學(xué)習(xí)
歡迎關(guān)注小小草的微信號:大數(shù)據(jù)機(jī)器學(xué)習(xí)。日后不定期分享大數(shù)據(jù),機(jī)器學(xué)習(xí)的學(xué)習(xí)資料與博文,希望與大家共同學(xué)習(xí)進(jìn)步~
很多年前,當(dāng)我還在應(yīng)付著微分方程,條件概率,用問卷星寫抽樣調(diào)查報告在QQ群發(fā)求填,對著30多條就被稱為大樣本的數(shù)據(jù)做檢驗和回歸的時候,“大數(shù)據(jù)”的概念已經(jīng)如火如荼地在微博圈和朋友圈里圈圈相傳了。
但是到底大數(shù)據(jù)是什么,和我們生活有什么關(guān)系,企業(yè)是怎么“大數(shù)據(jù)”的,它到底在星星之火,還是燃燒燎原,到底是蹣跚隕落還是晨輝未起呢?一切都似乎神秘不可窺探。
寫這篇文章絕不是給大家科普,小女子尚未到達(dá)大談己論的火候,只當(dāng)是對我接觸大數(shù)據(jù)與機(jī)器學(xué)習(xí)以來所思所想所見所學(xué)的一道梳理與記錄。
大數(shù)據(jù)有多大?
大數(shù)據(jù)是數(shù)據(jù),就像紅蘋果是蘋果,美少女是少女一樣,只是加上了一個平無奇常的定語,便賦予了獨(dú)有的屬性———“大”!這里我說不出它有多大,也不知道大小的界線,每個企業(yè)的數(shù)據(jù)量都不同,要不你自行腦補(bǔ)一下,大到?jīng)]地方存儲,大到簡單的計算都非常慢非常吃力,就像一個大胖子,全身的肉都下垂到地上了,動一下都汗流浹背,張嘴講話都挪不動臉上的肉,哈哈。
數(shù)據(jù)來自何處?
我將數(shù)據(jù)的來源分成三大類:
第一,公司自有的用戶行為數(shù)據(jù),公司有自己的網(wǎng)站,只要有用戶打開了這個網(wǎng)站,所有的操作與行為都會被詳細(xì)記錄,包括從什么頁面跳轉(zhuǎn)過來,進(jìn)入網(wǎng)站各個頁面的時間點(diǎn),在每個頁面停留的時間段,用戶的IP,通過IP號還可以知道用戶所在的城市與區(qū)域,當(dāng)然每個用戶在網(wǎng)站上的購買行為等等都是公司的可以自由支配的數(shù)據(jù)。如此一來,擁有越多活躍用戶的網(wǎng)站將掌握越豐富的數(shù)據(jù),從而也可以從數(shù)據(jù)中挖掘更多意想不到的價值,比如淘寶,京東,攜程網(wǎng)等等。
第二,與其他數(shù)據(jù)龍頭的公司合作,所謂數(shù)據(jù)龍頭公司,就是上一點(diǎn)中那些擁有巨大數(shù)據(jù)的公司,如果有資源與人脈,你也許可以與淘寶合作,獲得一部分你想要的消費(fèi)行為數(shù)據(jù),從而實現(xiàn)你的分析需求。另外,像電信,移動這類巨頭,如果能合作,便可以獲得用戶的上網(wǎng)行為數(shù)據(jù),只要你上網(wǎng),那么你的所有網(wǎng)絡(luò)行為在電信都是有記錄的,通過數(shù)據(jù)挖掘可能會獲得巨大的商業(yè)價值。
第三,爬蟲爬取數(shù)據(jù)。爬蟲可以模擬人登入各類網(wǎng)站,然后爬取網(wǎng)站上的數(shù)據(jù)與內(nèi)容,比如可以爬取大眾點(diǎn)評上所有店的信息,包括它的評價數(shù),評分,地址,類別等。只要網(wǎng)站上有這個信息,便能獲得。爬蟲的缺點(diǎn)是,許多網(wǎng)站,比如微博會有反爬蟲的措施,一個IP號反復(fù)登入超過某個頻率便會被拉黑;另外,登入許多網(wǎng)站時需要輸入驗證碼也是一中反爬蟲的方式,扭曲的字母與數(shù)字人可以看清但機(jī)器卻時常難以分辨。
以上三種是我所接觸到的主要的數(shù)據(jù)獲取方式。
在這里說個小小題外話,我之前一直想為什么咨詢公司現(xiàn)在很少有將大數(shù)據(jù)結(jié)合起來的,現(xiàn)在想到可能的原因是咨詢公司沒有自己的數(shù)據(jù),企業(yè)寧可自己高額招聘分析人員也絕不可能將自己數(shù)據(jù)交給咨詢公司去做診斷與分析,況且數(shù)據(jù)是接連不斷的,而咨詢公司提供的服務(wù)是一時的。(感覺這里還是有新的商業(yè)模式可以挖掘的,各位客官如何看?)
大數(shù)據(jù)存儲在哪里?
每天產(chǎn)生幾億的數(shù)據(jù),要源源不斷地增量存儲,而且數(shù)據(jù)的格式多姿多彩,傳統(tǒng)的方式肯定無法再滿足了。購買高性能的大型服務(wù)器,不但昂貴,而且也只能滿足一時的數(shù)據(jù)量。
此時,我要普及一個很重要的概念————“分布式”。什么是分布式呢,舉一個簡單的例子,一臺普通的電腦(假設(shè)8G內(nèi)存,4核,1T硬盤),當(dāng)我的數(shù)據(jù)超過1T的時候,我又買了臺電腦,將這兩臺電腦部署在一起,我就可以存2T的數(shù)據(jù)了,同理,隨著數(shù)據(jù)量不斷的擴(kuò)大,我可以不斷地買新電腦加入這個集群,我的數(shù)據(jù)通過某種機(jī)制被分布在了多臺電腦上,同時會有一個入口讓你自由存取集群里的數(shù)據(jù)。我們稱每臺PC為一個節(jié)點(diǎn),在這些節(jié)點(diǎn)組成的大家庭中,有一個主節(jié)點(diǎn)如同皇帝,其他為從節(jié)點(diǎn)如同各地方的官員,形成了一個從容運(yùn)行的生態(tài)系統(tǒng)。原來在單臺電腦上需要運(yùn)行10個小時的算法程序,在集群中可能只需要1個小時(因為內(nèi)存,核數(shù)增多了)。這就是所謂的“分布式”,它還帶著另一個優(yōu)點(diǎn),就是可擴(kuò)展,集群的大小可以根據(jù)企業(yè)的發(fā)展和數(shù)據(jù)增量來自由擴(kuò)展。
這樣是不是比去買一臺相同性能的大型服務(wù)器要棒好多呢~
了解了分布式的概念,你可能會問,那總要有個工具或者載體能夠把這些獨(dú)立的PC連接起來形成一個集群的呀~對呀,我現(xiàn)在就要介紹一下hadoop,這個詞我第一次聽到是在一門研究生課上,有一張PPT一閃而過我卻一直記著這個詞,后來學(xué)了hadoop開發(fā)才對它有進(jìn)一步的了解。hadoop 現(xiàn)在最穩(wěn)定的是版本2,Hadoop2現(xiàn)在由三個部分組成:hdfs, yarn,mapreduce
hdfs是分布式存儲數(shù)據(jù)的文件系統(tǒng),里面也有一臺節(jié)點(diǎn)為皇帝叫namenode,負(fù)責(zé)管理其他從節(jié)點(diǎn),其他節(jié)點(diǎn)叫datanode,按塊存儲著數(shù)據(jù),并且聽從namenode的差遣;
mapreduce是一個計算框架,當(dāng)我們想對數(shù)據(jù)就行分析的時候,就會從hdfs上讀取數(shù)據(jù)然后通過mapreduce進(jìn)行計算,計算完的結(jié)果同樣可以存儲會hdfs上;
yarn是一個資源調(diào)度框架,集群里有那么多pc組成,那么在mapreduce執(zhí)行計算任務(wù)的時候,誰干什么,誰有多少資源,以及任務(wù)的執(zhí)行都是歸yarn管的。
hadoop的主要成員各司其職,形成了一個核心的大數(shù)據(jù)框架。
具體他們的運(yùn)行原理我在這里就不長篇大論地講了,有興趣的小伙伴可以關(guān)注我的公眾號,我會定期發(fā)送筆記與學(xué)習(xí)文檔給大家。(話說現(xiàn)在hadoop3版本據(jù)說已經(jīng)出來了)
在這個hadoop集群中,我們照樣可以安裝mysql等關(guān)系型數(shù)據(jù)庫,也可以安裝hbase這樣的列式存儲的數(shù)據(jù)庫,來實現(xiàn)數(shù)據(jù)的存儲與讀取,我有許多朋友都在從事hadoop大數(shù)據(jù)開發(fā)的工作,在企業(yè)無論大小,都在嘗試著部署自己的大數(shù)據(jù)集群,因為在利用數(shù)據(jù)之前,建立一個有效的系統(tǒng)能穩(wěn)定安全高效地將數(shù)據(jù)有條有序地存放好是關(guān)鍵首步。
大數(shù)據(jù)如何分析?
說起分析,我覺得其實是企業(yè)大張旗鼓,費(fèi)盡心機(jī)投身于大數(shù)據(jù)的關(guān)鍵與核心。撇開賣數(shù)據(jù)來賺錢,數(shù)據(jù)其實不產(chǎn)生實際的價值,只有通過分析數(shù)據(jù),幫助企業(yè)決策與定位,從而提高企業(yè)業(yè)績,才能產(chǎn)生真正的價值。那么分析的過程就尤為重要了。
我自定義將數(shù)據(jù)分析的程度分成兩類,一類是淺層的描述分析;一類是深層的建模分析。
之所以這樣分,是因為企業(yè)不同的發(fā)展程度與業(yè)務(wù)需求,對于現(xiàn)階段數(shù)據(jù)分析的程度也不同。去拉勾網(wǎng),前程無憂等招聘網(wǎng)站搜索數(shù)據(jù)分析師,不同企業(yè)的要求是不同的。
有些企業(yè)只要求你掌握mysql,sql server等關(guān)系型數(shù)據(jù)庫和nosql查詢,甚至有些還停留在熟練使用excel上。這類企業(yè)可能只需要通過sql去增刪查減數(shù)據(jù),為各業(yè)務(wù)部門提供銷售,經(jīng)營,供應(yīng)鏈等數(shù)據(jù)的報表,在計算上涉及加減乘除以及其他描述性統(tǒng)計的功能。
第二類企業(yè)會需要你使用SAS,SPSS,Eviews等分析工具,這些工具能不僅能實現(xiàn)增刪查減與描述性統(tǒng)計的功能,還能夠使用其中的功能進(jìn)行數(shù)據(jù)建模分析,不會寫coding的小伙伴也可以使用它們的圖形化界面去靈活操作。
第三類企業(yè)會進(jìn)入更深層次,它們不但需要你掌握sql,還需要你能熟練利用R,Python語言進(jìn)行數(shù)據(jù)挖掘,進(jìn)行數(shù)據(jù)建模。R和Python有非常豐富的算法包可以直接調(diào)用,但對于一些不常用的算法,分析師也需要自己用代碼寫算法程序。
第四類企業(yè)是在第三類企業(yè)基礎(chǔ)上的大數(shù)據(jù)升華。隨著數(shù)據(jù)量增大,單純地將python,R在本地機(jī)器上運(yùn)行已經(jīng)無法承載了,于是目前有一個備受青睞的框架————Spark! Spark是一種內(nèi)存計算框架,比起hadoop的mapreduce速度簡直是神一樣的存在。Spark的具體介紹我過后再驚心動魄地和大家講解,在這里只說它的兩個優(yōu)點(diǎn),第一它也封裝了越來越多的機(jī)器學(xué)習(xí)的包,我們可以直接調(diào)用;第二它支持R,Python,Java,Scala四種語言,就是說你只要會其中任何一種,都可以使用Spark去實現(xiàn)快速地算法程序。原來要跑幾個小時,現(xiàn)在輕松幾分鐘,是不是高效地不要不要的~
以上就是目前比較普遍的分析情形,隨著數(shù)據(jù)量的增大,像Spark這類框架也許會持續(xù)走紅,企業(yè)們也正在向大數(shù)據(jù)領(lǐng)域逐漸地學(xué)習(xí)與嘗試。
大數(shù)據(jù)分析之機(jī)器學(xué)習(xí)
上面說了Spark機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí)其實是由來已久的,大家記不記得大學(xué)里概率論這門課中會教條件概率,樸素貝葉斯公式,全概率公式,那么這個樸素貝葉斯其實就是機(jī)器學(xué)習(xí)中的一種分類算法。你的QQ郵箱分辨垃圾郵件與非垃圾郵件,沃爾瑪可能會將消費(fèi)者分為有錢消費(fèi)者和普通消費(fèi)者,信用卡部會將用戶分為正常用戶和潛在的違約用戶等等,可能背后都會涉及到貝葉斯算法。分類的算法還有支持向量機(jī),決策樹,邏輯回歸。
另外還有一種最常見的機(jī)器學(xué)習(xí)算法是推薦算法,比如酷狗音樂向你推薦你可能喜歡的歌曲,優(yōu)酷向你推薦你可能喜歡的電影,淘寶和京東向你推薦你可能喜歡的商品,你自己都不知道懷孕了亞馬遜就向你推送胎教音樂了,等等這些背后都是推薦算法的運(yùn)作。推薦算法分為基于用戶的推薦與基于物品的推薦,還是一樣,后續(xù)文章我會對這些算法詳細(xì)說明。
所謂機(jī)器學(xué)習(xí)就是讓機(jī)器去學(xué)習(xí)一組數(shù)據(jù),找到從中隱晦的規(guī)律,建立模型,當(dāng)下一個數(shù)據(jù)進(jìn)來的時候,機(jī)器能根據(jù)這個模型做出準(zhǔn)確地預(yù)測。機(jī)器學(xué)習(xí)的這些算法在金融領(lǐng)域的量化投資上也是十分常用。
那么你可能會問了,貝葉斯這些東東幾十年前國外的論文就一大堆,其理論早就成熟了,為啥機(jī)器學(xué)習(xí)現(xiàn)在才火起來呢?這個原因我之前自己想過,上周領(lǐng)導(dǎo)給我們培訓(xùn)的時候,我發(fā)現(xiàn)想的和領(lǐng)導(dǎo)一樣,所以我才敢在這里大談一下,哈哈。
其實很簡單,成熟的理論無法用到實踐中產(chǎn)生商業(yè)價值自然得不到人們的關(guān)注,也只有數(shù)學(xué)家和學(xué)術(shù)研究者對其錯綜復(fù)雜的推導(dǎo)之美愛之深切(曾經(jīng)有位老師在課上推導(dǎo)了一黑板的公式,然后望著黑板,由心而生地感嘆了一句“so beautiful!”,我才理解他們的感情)。那么現(xiàn)在情況變了,商人也好,程序員也好,已經(jīng)開始目不轉(zhuǎn)睛地愛上了數(shù)據(jù)挖掘,晦澀難懂又無法商業(yè)化的公式和算法,如今已經(jīng)可以通過一些大數(shù)據(jù)的工具(比如SPARK)活靈活現(xiàn)地巧妙應(yīng)用了,從數(shù)據(jù)的獲取到價值的展示短短的幾天甚至一天就可以實現(xiàn)。你叫它怎么能不火起來呢,哈哈。
有些小伙伴會說機(jī)器學(xué)習(xí)和大數(shù)據(jù)很多年前就火過一段時間了,好像也沒啥花頭。我個人覺得,之前的火是燃燒在人們“口中”,現(xiàn)在的火是點(diǎn)燃在“企業(yè)的實踐中”,之前是大公司一家獨(dú)大,現(xiàn)在是中小企業(yè)人人皆可嘗試。
結(jié)束語
能看到這里的小伙伴真是不容易,歡迎點(diǎn)個贊讓我知道你們是誰,哈哈。
另外要注明的是,以上所有言論都是我的一家之言,錯誤的地方希望小伙伴們能指正。
再另外,感興趣的小伙伴歡迎關(guān)注我的公眾號,文章都是自己寫的,以后會不斷更新,有技術(shù)資料也有文藝日志。
再另外,我不是程序員,也不準(zhǔn)叫我女程序員。
掃描二維碼,關(guān)注小草-墨色鳳舞的微信公眾號,本小草是一顆偽程序猿草,和,偽文藝草,等待大家?guī)绎w
總結(jié)
以上是生活随笔為你收集整理的小草说----大数据和机器学习为什么这样火的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 讷于言而敏于行_百度百科
- 下一篇: 艺赛旗(RPA)如何导入 py 文件到流