機器學習和數據挖掘的界限在哪裡?


機器學習強調的是演算法,而數據挖掘是整個過程,包括數據倉庫,數據建模,數據預處理,演算法,工程化等


現在才看到邀請,sorry。

其實前一段時間也在思考一個問題,數據挖掘與機器學習有什麼區別。

個人認為:

(1)機器學習是趨於技術層面的一種定義,其內容可以是包含各種實現機器經驗自增的演算法;

(2)而數據挖掘則更偏向於應用層面的一種定義,重點在於挖掘數據包含的潛在價值,其途徑可以是機器學習里的中各種演算法,也可以是簡單的人工手段進行挖掘,甚至直接從數據維度觀測到的數據價值,一樣屬於數據挖掘的範疇,並且數據挖掘是一整個工程化的過程,包括數據的收集、清洗預處理、價值挖掘等。

PS:同理,諸如NLP、人工智慧,個人也認為是一種偏應用層面的定義,其底層支撐很大程度上依賴於機器學習的知識。


謝邀,頭一次被大v邀請好 動

首先機器學習這個詞應該更側重於技術方面和各種演算法,一般提到機器學習就會想到語音識別,圖像視頻識別,機器翻譯,無人駕駛等等各種其他的模式識別,甚至於谷歌大腦等AI,這些東西的一個共同點就是極其複雜的演算法,所以說機器學習的核心就是各種精妙的演算法。但是這些在工業界機器學習很多職位並不是這麼一回事的,相對於以上種種逼格要low很多,公司裡面很多任務是數據給你之後你就是嘗試「普適的」演算法往裡面套就是了,所以在工業界很多聲稱搞機器學習的都是調包俠;再者因為機器學習的演算法和模型基本都是一般性的,沒有domain knowlege,所以又有了很大一部分工作做特徵工程。數據挖掘則更偏向於「數據」而非演算法,而且包括了很多數據的前期處理,用爬蟲爬取數據,然後做數據的清洗,數據的整合,數據有效性檢測,數據可視化(畫圖)等等,最後才是用一些統計的或者機器學習的演算法來抽取某些有用的「知識」。前期數據處理的工作比較多。


多謝邀請。

我本人是很不同意用一些專業的名詞來使得一門學問或者一門科學變得複雜化,經濟學就是這樣。所以樓上的一些回答我不是很贊同,原因就是他們用專業的辭彙來描述專業的辭彙,對於答案來說,幾乎沒有任何用處,就像你給一個不懂英語的人用 英語來解釋一個詞一樣。

其實之前的很長一段時間裡,我都在思考數據挖掘和機器學習之間到底是什麼關係。我現在幾乎把他們認為這是同義詞,如果有人非要說他們有具體的區別,我也沒有任何意見。但是,我要說明一點,就是語言只要不產生歧義,就沒有必要太去追究其中的真理了吧。

有時候別人問我:「誒,你是什麼專業」,我有時回答「數據挖掘專業」,有時回答「機器學習專業」,這對他們不產生邏輯上的混亂,足夠了。

最終發現,我並不需要去了解他們之間真正的關係,他們只是兩個名詞而已。


本大爺不邀自來也。

(剛想到的能把自己逗笑的雙關詞,我好機智。)

機器學習,更注重於模型的訓練, 偏於過程。

數據挖據,更注重於獲得有效數據,重在目的。

至於演算法啊代碼啊啥啥啥啊,抱歉在程序員的世界裡,我還不知道有什麼是可以脫離演算法和代碼的。


謝邀:

記得看過這麼一篇相似的文章,是斯坦福大學的印度學生、機器學習愛好者 Pararth Shah對問題:對於那些非計算機科學行業的人,你會如何向他們解釋機器學習和數據挖掘?的回復,非常的經典,希望對題主有用。文章由@jiqihuman編譯。

買點芒果去

假設有一天你準備去買點芒果。有個小販擺放了一車。你可以一個一個挑,然後小販根據你挑的芒果的斤兩來算錢(在印度的典型情況)。顯然,你想挑最甜最熟的芒果對吧(因為小販是按芒果的重量來算錢,而不是按芒果的品質來算錢的)。可是你準備怎麼挑呢?

你記得奶奶和你說過, 嫩黃的芒果比暗黃的甜。 所以你有了一個簡單的判斷標準:只挑嫩黃的芒果。你檢查各個芒果的顏色,
挑了些嫩黃的,買單,走人,爽不?

可沒那麼簡單。生活是很複雜的

你回到家,開始慢慢品嘗你的芒果。你發現有一些芒果沒有想的那麼甜。你焦慮了。顯然,奶奶的智慧不夠啊。挑芒果可不是看看顏色那麼簡答的。

經過深思熟慮(並且嘗了各種不同類型的芒果), 你發現那些大個兒的,嫩黃的芒果絕對是甜的,而小個兒,嫩黃的芒果,只有一半的時候是甜的(比如你買了100個嫩黃的芒果,50個比較大,50個比較小,那麼你會發現50個大個兒的芒果是甜的,而50個小個兒的芒果,平均只有25個是甜的)。

你對自己的發現非常開心,下次去買芒果的時候你就將這些規則牢牢的記在心裡。但是下次再來到市集的時候,你發現你最喜歡的那家芒果攤搬出了鎮子。於是你決定從其它賣芒果的小販那裡購買芒果,但是這位小販的芒果和之前那位產地不同。現在,你突然發現你之前學到的挑芒果辦法(大個兒的嫩黃的芒果最甜)又行不通了。你得從頭再學過。你在那位小販那裡,品嘗了各類芒果,你發現在這裡,小個兒、暗黃的芒果其實才是最甜的。

沒多久,你在其它城市的遠房表妹來看你。你準備好好請她吃頓芒果。但是她說芒果甜不甜無所謂,她要的芒果一定要是最多汁的。於是,你又用你的方法品嘗了各種芒果,發現比較軟的芒果比較多汁。

之後,你搬去了其它國家。在那裡,芒果吃起來和你家鄉的味道完全不一樣。你發現綠芒果其實比黃芒果好吃。

再接著,你娶了一位討厭芒果的太太。她喜歡吃蘋果。你得天天去買蘋果。於是,你之前積累的那些挑芒果的經驗一下子變的一文不值。你得用同樣的方法,去學習蘋果的各項物理屬性和它的味道間的關係。你確實這樣做了,因為你愛她。

有請計算機程序出場

現在想像一下,最近你正在寫一個計算機程序幫你挑選芒果(或者蘋果)。你會寫下如下的規則:

1:if(顏色是嫩黃 and 尺寸是大的 and 購自最喜歡的小販): 芒果是甜的

2:if(軟的): 芒果是多汁的

等等等等。

你會用這些規則來挑選芒果。你甚至會讓你的小弟去按照這個規則列表去買芒果,而且確定他一定會買到你滿意的芒果。

但是一旦在你的芒果實驗中有了新的發現, 你就不得不手動修改這份規則列表。你得搞清楚影響芒果質量的所有因素的錯綜複雜的細節。

如果問題越來越複雜, 則你要針對所有的芒果類型,手動地制定挑選規就變得非常困難。你的研究將讓你拿到芒果科學的博士學位(如果有這樣的學位的話)。

可誰有那麼多時間去做這事兒呢。

有請機器學習演算法

機器學習演算法是由普通的演算法演化而來。通過自動地從提供的數據中學習,它會讓你的程序變得更「聰明」。

你從市場上的芒果里隨機的抽取一定的樣品(訓練數據), 製作一張表格, 上面記著每個芒果的物理屬性, 比如顏色, 大小, 形狀, 產地, 賣家, 等等。(這些稱之為特徵)。

還記錄下這個芒果甜不甜, 是否多汁,是否成熟(輸出變數)。你將這些數據提供給一個機器學習演算法(分類演算法/回歸演算法),然後它就會學習出一個關於芒果的物理屬性和它的質量之間關係的模型。

下次你再去市集, 只要測測那些芒果的特性(測試數據),然後將它輸入一個機器學習演算法。演算法將根據之前計算出的模型來預測芒果是甜的,熟的,
並且/還是多汁的。

該演算法內部使用的規則其實就是類似你之前手寫在紙上的那些規則(例如,
決策樹),或者更多涉及到的東西,但是基本上你就不需要擔心這個了。

瞧,你現在可以滿懷自信的去買芒果了,根本不用考慮那些挑選芒果的細節。更重要的是,你可以讓你的演算法隨著時間越變越好(增強學習),當它讀進更多的訓練數據,
它就會更加準確,並且在做了錯誤的預測之後自我修正。但是最棒的地方在於,你可以用同樣的演算法去訓練不同的模型,
比如預測蘋果質量的模型,
桔子的,香蕉的,葡萄的,櫻桃的,西瓜的,讓所有你心愛的人開心:)

這,就是專屬於你的機器學習,是不是很酷啊。

機器學習:讓你的演算法更聰明, 所以你就可以偷懶嘍…..


其實數據挖掘(Data Mining)更應該叫Knowledge Discovery in Databases,它是資料庫、機器學習、統計的混合體。可以這樣理解:DM更注重efficiency,指知識發現的整個過程(爬取、存儲、預處理、分析、可視化);ML更注重effectiveness,關注數據分析中的一些有實質性的啟發式演算法(substantive heuristics),可能這些演算法並沒有普適性;Statistics更注重數學角度的validity。推薦你看兩篇經典文章:From data mining to knowledge discovery in databases; Three perspectives of data mining.

PS. 一句話解釋大數據:Let data have sex. 我認為這是迄今為止解釋的最清晰、最準確的。


嗯,界限在哪裡?其實我更想知道你為什麼提出這個問題。

就我個人的理解來說,這二者並沒有很嚴格的界限,我願意把機器學習理解為人工智慧的延伸和細化,把數據挖掘理解為從數據中找規律,二者有交叉和覆蓋,也有看起來各自獨立的內容。

舉個例子來說明兩者明顯的不同:「讓計算機學會下棋」通常會被認為是機器學習(Tom Mitchell的《Machine Learning》就拿這個作為第一章),而一般在數據挖掘的教材里很少會提這個;「關聯規則分析」通常會被認為是數據挖掘(幾乎每本數據挖掘圖書都會包含這個,比如韓家煒的《數據挖掘:概念與技術》的第6章),而一般在機器學習的教材里你看不到關聯分析。

再舉個例子說明兩者常常出現的交叉:我記得一開始學習數據挖掘,看到了決策樹演算法,沒看太明白,後來發現機器學習教材里也有決策樹演算法,而且講得更細緻;二十多年前我第一次學習神經網路,感覺它好像是放在人工智慧的範疇,後來發現在機器學習和數據挖掘的教材里也都有神經網路的章節。

你想知道界限在哪裡?首先要想清楚為什麼要了解這個界限。可是為什麼一定要劃清界限呢?如果是為了解決某個問題,只要你知道如何解決這個問題,以及這種解決方案是合理有效的就好了。就像錢鍾書老先生說的:你吃了一個雞蛋很美味,為什麼非要看那隻母雞長什麼樣呢?

【總結】魯迅在《故鄉》一文里有句話:「這正如地上的路;其實地上本沒有路,走的人多了,也便成了路」。很適合做這個問題的簡單答案,而在我的眼裡只是一片茫茫曠野……


謝邀,本人數據挖掘小白一枚,個人感覺機器學習比較傾向於演算法,而數據挖掘更傾向於業務,大多數情況會使用一些機器學習的演算法來實現業務邏輯,兩者之間存在一些交集。機器學習傾向於解決一類抽象的問題,而數據挖掘更傾向於構建抽象模型解決特定的一個問題。


1.人工智慧:給機器賦予人類的智能,讓機器能夠像人類那樣獨立思考。當然,目前的人工智慧沒有發展到很高級的程度,這種智能與人類的大腦相比還是處於非常幼稚的階段,但目前我們可以讓計算機掌握一定的知識,更加智能化的幫助我們實現簡單或複雜的活動。

2.機器學習。通俗的說就是讓機器自己去學習,然後通過學習到的知識來指導進一步的判斷。舉個最簡單的例子,我們訓練小狗狗接飛碟時,當小狗狗接到並送到主人手中時,主人會給一定的獎勵,否則會有懲罰。於是狗狗就漸漸學會了接飛碟。同樣的道理,我們用一堆的樣本數據來讓計算機進行運算,樣本數據可以是有類標籤的,並設計懲罰函數,通過不斷的迭代,機器就學會了怎樣進行分類,使得懲罰最小。然後用學習到的分類規則進行預測等活動。

3.數據挖掘。數據挖掘是一門交叉性很強的學科,可以用到機器學習演算法以及傳統統計的方法,最終的目的是要從數據中挖掘到為我所用的知識,從而指導人們的活動。所以我認為數據挖掘的重點在於應用,用何種演算法並不是很重要,關鍵是能夠滿足實際應用背景。而機器學習則偏重於演算法本身的設計。


謝邀。

個人理解,機器學習是數據挖掘的一部分。

界限的話,凡是可以用數據訓練模型的都屬於機器學習。不能訓練模型且和數據有關的都屬於數據挖掘


謝邀,目前主要偏重camera成像及缺陷檢測這塊,對機器學習已經擱置許久,說下我的理解:機器學習是一系列基於概率統計的模型或演算法,主要有生成式和判別式兩類;數據挖掘首先處理的是數據而不是圖像(計算機視覺),所以是對經驗數據的原因或結果的分析處理,其中分析的方法很大部分屬於機器學習演算法,如通過一系列條件估計某個結果的概率,其實就是生成式,數據挖掘還包括預處理和數據實際化建模的問題,高於純數學演算法


謝邀。

樓上的一些答案不錯,我從對外行的角度補充一點點自己的理解,內行人士輕拍:)

目前計算機方向招聘這兩類職位的人員時,

第一、基礎知識的共同點:希望應聘者有一定的數據、概率論基礎。因為比如很多數據挖掘或機器學習都需要對數據進行不同維度的統計分析等,這種基本功就需要有。這是共同點。

第二,在機器學習方向上的一些特點,會要求較細緻的一下分類、聚類演算法的細節。並且很可能安排的工作就需要實現一些演算法。

按目前的趨勢,結合大數據處理能力的機器學習演算法需求較強。以及一些高性能的前沿演算法研究實現。

第三,從兩種工作崗位的逼格講,機器學習方向可能略喜歡得瑟一些。其實很多機器學習崗位都是背後的數據挖掘人。

數據挖掘,更加要求個人用數據去解決問題的能力。

第四,數據挖掘工作與數據結合的流程長,可以說從工作鏈條看覆蓋了整個數據流程(問題定位、數據採集,清洗與規範化,數據處理如用機器學習方法建模等,結果解釋)。所以通常的數據挖掘工作機會,或者是偏數據的數據收集、ETL等苦逼活,或者是偏數據處理(應用AI技術解決問題)。

第五,很多機器學習的理論大神,也是數據挖掘高手。


謝謝邀請,記得很久以前看過類似的文章。主要比較了,機器學習,數據挖掘和模式分類的異同。我覺得,這三者都是互相交叉的,可以說,精通任何一個領域,另外兩個領域的內容也會理解個大半。當然,如果,非要區分三者,還是有一定的區別的。首先,我同意很多答案里說的,機器學習是對演算法的研究,比較理論,重視的是演算法的優化,正確率的提高,關注的是演算法本身。數據挖掘和模式分類則注重的是結果,一個是從數據中提煉出有用的信息,一個是對對象進行分類。如果理解的簡單一點,一個是理論的範式,一個是實際應用。數據挖掘有一整套的流程,數據倉庫,數據清洗整合,數據處理,數據可視化等等。可以說數據挖掘整體的流程中包含了機器學習,機器學習的很多演算法就是應用在數據處理這個步驟的,但是數據倉庫,清洗整合和數據可視化就包括了許多其他的技術和理論,比如資料庫,3D建模,甚至virtual reality的知識,從這個角度來說,數據挖掘涉及的知識面又比機器學習廣了許多。直觀角度看,數據挖掘更工程一點。模式分類,雖然也包含了一定的無監督學習,但是本身是一個偏向分類的過程。而數據挖掘在數據處理的步驟中包含了很多無監督學習,以及許多模式提取的知識。總結一下,從知識廣度來說,數據挖掘要廣於機器學習。從理論工程角度看,機器學習偏理論,數據挖掘偏工程。


機器學習有更多的套路,監督學習,集成學習,多標記學習等

數據挖掘沒什麼套路,更多的是面向問題領域的解決方案


謝邀,第一次被邀請,我所理解的機器學習和數據挖掘的界限在目的不同吧,機器學習只是一個基本理論,數據挖掘像是一門技術科學,就像中國儒家思想裡面「道」和「術」的關係吧,「道」教會基本的思想,「術」呢就是具體的基於基本思想的前提下進行具體的工作方法。


深度學習的小菜鳥路過,學識尚淺,不敢枉自作答,謝謝邀請。樓上的解釋很給力,受教了。


謝謝邀請!界限比較模糊,機器學習更加強調方法論,數據挖掘更強調處理分析數據的pipeline,個人感覺dm處理的大多都是實際應用問題。不得不說他們很多東西都是overlap的,比如最簡單的聚類演算法,ml和dm都在狂研究。

如果把統計學加進來考慮的的話,個人覺得ml是處在statistics和dm之間。


推薦閱讀:

大數據和「數據挖掘」是何關係?
有哪些很好玩而且很有用的 R 包?
制約大數據發展的核心因素是什麼?
使用爬蟲抓投資數據是否是一個高效的方式?
如何分析找出知乎的潛在的熱門問題?

TAG:數據挖掘 | 數據分析 | 機器學習 | 大數據 |