hadoop與機器學習,這兩個是相輔相成的必須學習完hadoop才能學習機器學習,還是可以單獨去學習?

沒搞明白,這兩個是必須學完hadoop才可以去看機器學習,還是兩個可以分開,其中一個了解一點就可以!剛剛想轉行的小菜雞!


這問法就像是問是否學完開車才能學廚師。


想起了當年冬奧會,央視記者問教練是不是雙板滑雪練到最好才能去滑單板......

按題主這意思,用 fpga 搞機器學習就算沒人權唄。

Hadoop 和機器學習沒什麼關聯關係。

要非說有什麼共同點,就是大部分扯大數據和機器學習的公司都是在扯淡吧 XD


兩者之間沒有關係,機器學習本身就是一門學科,其理論的代碼實現可以在任何計算機平台、語言上實現。而當機器學習使用的特徵、數據量太大的時候,學習、訓練時間過長就是一個問題。只能通過增強計算機性能來解決。

而Hadoop恰好就是一個開源的、可運用廉價計算機、工作站集群提高計算性能的分散式平台,包括了分散式存儲、計算和資源調度模塊,這時可以運用Hadoop作為機器學習演算法實現的並行計算平台來提升機器學習演算法的運行速度,當然演算法也必須是可以並行計算的才有可能提升性能。就好比Alpha Go,它本身軟體是機器學習領域成果的實現,軟體理論上可以在任何計算機上運行,但為了速度,它總要有一個計算集群去處理海量的數據,完成訓練,而Hadoop的角色可以理解為就是這個計算集群的管理者、執行者。

Hadoop早期主打的是分散式存儲和mapReduce計算框架,但mapReduce目前來說編程抽象程度低,不便操作,shuffle全靠I/O性能太差;所以Hadoop目前最大的優勢就是yarn,也就是一個分散式的資源調度平台,可以把其他速度更快、更加易用的計算框架例如Spark通過Hadoop的yarn來調度。

也就是說Hadoop更像一個分散式管理、存儲平台,可以管理一個分散式集群。而機器學習本身就只是一門學科,它的一些演算法實現可以通過Hadoop在廉價的微機集群上運行,加快運行速度。兩者之間本身是沒有什麼關係的,但在大數據時代的應用層面上,可以將它們結合起來應用。

另外,您如果要入門機器學習,良好的數學功底是必不可少的,入門書籍強烈推薦周志華教授的《機器學習》,可謂計算機類圖書的一股清流。


話說,我不明白你的「學完 hadopp」是幾個意思?你這前二十幾年,學完了哪一門學科或者技能?

同學,不要把你的人生變成一門一門的課程和一場一場的考試:考前熬夜複習,考完扔在一邊。


用不到的不用學。


既然你誠心的發問了,我就明確的跟你說,這兩個東西就不在一個緯度上……

一個是做事情A 工具,一個是 事情b


首先我想clarity 一個誤區,工業屆做project,數據質量遠比演算法重要data quality &>&>&>&>&> algo. 做一個proj 的流程大致如下,數據到手(或者自己爬蟲搞數據, 或者從log 裡面extract出來) -&> EDA (exploratory data analysis) -&> feature engineering -&> feature selection -&> choose model -&> model output -&> model evaluation -&> viz.

可以看出其實Model真的只是佔用一小部分,大部分都是在data cleaning feature engineering, 打個不恰當的比方,現在有一堆數據,頭髮長短,眼睛大小,鼻子高挺,身高等等讓你區分男女,如果你的數據質量不過關,就算你在頭髮長短,眼睛大小等這幾個特徵玩出花出來,也不可能有染色體這個特徵好使,什麼model 都不需要直接一個if else 就出來了。我想說的是什麼意思呢,有可能你覺得fancy 的 model, 其實是在另外一個維度在折騰,完全不在點子上面. 我想要的是蘭州拉麵,你卻在米其林三星的鵝肝上面怎麼折騰研究出蘭州拉麵。說了這麼多,主要是給題主一個overview, 做 machine learning, data mining. algo只是一小部分, 我們得要有更大的視野去看待一個東西.

回到題目的主題,any relation between hadoop, spark, mpi or whatever u like and machine learning? Hadoop 是一個生態系統,狹義來講很多人就以為hadoop == mapreduce. mapreduce只是hadoop 生態系統的一個小部分,hadoop 最開始(from version 2.x )的三個組件yarn, mapreduce, hdfs. 後來添加了很多其他的比如pig (data flow language), hive(sql-like), hbase(distributed database based on hdfs), 至於spark, spark 只是一個可以替代mapreduce的計算層. 那麼spark 和 mapreduce 什麼時候該用哪個呢? spark 是基於內存計算, mapreduce 自然慢的多,所以就是數據量小的時候spark, 數據量大的時候用mr, 至於多大多小, it depends. 那麼Hadoop 在big data 裡面扮演什麼角色呢, 敲黑板了, 重點來了 ETL ETL ETL!!!. 也就是說大數據量的ETL hadoop 是最擅長的了, 相比於以前的ETL工具,hadoop唯一擅長的就是大數據量, 用幾個廉價的機器搞一個集群, 然後處理公司每天的大數據. 所以, hadoop 把數據處理好以後,也就是說上面說的到EDA之前(包括EDA)的, 都可以用hadoop 來解決, 然後把乾淨的數據feed 給model 和 feature engineering. 就是這麼個關係。


舉個例子

你在學習如何種地。

學習什麼時候該播種,什麼時候該澆水,什麼時候該除草等等

你學的差不多了

想實踐一下自己學的對不對,然後你找了一小塊地實踐一下。因為地比較小,在播種的時候你用鋤頭就能應付的過來

過一段時間之後

你覺得現在你種地的技術已經很成熟了

所以你想把租一塊非常大的地來種,在播種的時候你還用鋤頭嗎?不,你換了拖拉機來播種

所以

學習如何種地,就像是學習機器學習的理論知識

那個小地,就像你想實踐自己理論的時候找的小的數據集

那個鋤頭,就像你處理數據的時候用的一些小工具,例如octive,python等

那個非常大地,就是你實際遇到的很大很大的數據集了

那個拖拉機,就是hadoop了。。

綜上所述,機器學習是理論,hadoop就是一個工具。。。用來處理比龐大複雜的數據。。


想搞機器學習的話實際工作中用到的更多是spark,MLlib。Python跑少量數據,結果好的話再上集群。

至於Hadoop,spark這種都是大數據的處理工具,到了一定體量才會用到。你可以學Hadoop或者spark或者both然後出來做大數據的開發運維,也可以只學如何使用其中幾個工具再看看機器學習演算法和Python然後出來做機器學習,甚至你不了解Hadoop,spark也可以出來做機器學習。

綜上,二者有聯繫,但並沒有什麼必要的先後順序。按著你期望的職業發展,點技能樹吧。


大數據很熱門...

機器學習也很熱門...

但是這兩個熱門真的不是同一個點...

不是有了大數據才需要機器學習的 也不是機器學習需要大數據支撐...

這裡需要明白大數據和大量數據不是一個概念....=w= 這麼說你懂了么


Hadoop技術棧主要用來做大數據的處理、ETL工作等,機器學習主要用來做統計機器學習的預測工作,兩者是互相獨立的。

面試中有面到一些在實驗室做圖像識別的同學,機器學習和深度學習方面的知識很厲害,但是可能Hadoop分散式計算方面了解得稍微少一點。


Hadoop 只是工具,用到再學就可以了…


根本就沒有任何關係


長遠來看,了解是必要的,不過看你想發展的方向了,工作上多少都會有交叉。如果只想在理論層面深耕的話,大可沒有必要,人生苦短,我用python,類似pandas之類的工具已經很足夠了。


有空敲字回答的人卻在冷嘲熱諷~

兩者不是一個概念,不相輔相成,但是很多崗位要求兩個技能都具備。具體原因現在你不需要知道。機器學習演算法是重點,建議先深挖這個,hadoop可以先放一放。另外,編碼能力和演算法能力要並重,基本的計算機知識也需要具備:python加java/c++(新手建議java)、演算法數據結構、資料庫、操作系統、計網等。

再具體的,你得自己搜了。要不然呢,那些冷嘲熱諷的人估計又得嘚瑟了~作為菜雞,我反正一向認為這些人都是沙幣。但是,因為菜,得虛心向他們請教,這也是短期內無法改變的事實,不是嗎?


我的理解是:沒有必然聯繫。

但是如果要做一個完整的系統。或許ML作為內核,Hadoop系列的東西會是底層、數據計算層或者ETL作用。

兩個技能可以單點。


放棄吧,這種問題你都不能靠自己和網路搞明白,這條路你走不動的。


沒啥大關係

Hadoop更像傳統資料庫的替代


搭建Hadoop集群可以進行大規模數據處理,本來就是個分散式計算框架

機器學習學的重點是各自演算法

我沒看出二者有必然的聯繫,也沒聽過必須學Hadoop才能學機器學習

另外:入門機器學習,個人並不推薦西瓜書,尤其是對入門者來說,沒有深厚的數學功底還是先補一補統計學等數學基礎,推薦《統計方法論》


推薦閱讀:

機器學習中如何用交叉驗證來驗證是否過擬合?
機器學習方面高質量的論文怎麼找?
有沒有講sklearn的書?
你的科研課題是完全根據興趣的嗎?
怎樣看待Ali Rahimi 獲得 NIPS 2017 Test-of-time Award後的演講?

TAG:機器學習 | Hadoop | 大數據 |