數據挖掘(英語:Data mining)是一個跨學科的計算機科學分支[1][2][3] 。它是用人工智能機器學習統計學數據庫的交叉方法在相對較大型的數據集中發現模式的計算過程[1]

數據挖掘過程的總體目標是從一個數據集中提取信息,並將其轉換成可理解的結構,以進一步使用[1]。除了原始分析步驟,它還涉及到數據庫和數據管理方面、數據預處理英語data pre-processing模型推斷方面考量、興趣度度量、複雜度的考慮,以及發現結構、可視化在線更新等後處理[1]。數據挖掘是「資料庫知識發現」(Knowledge-Discovery in Databases, KDD)的分析步驟[4] ,本質上屬於機器學習的範疇。

類似詞語「資料採礦」、「數據捕魚」和「數據探測」指用數據挖掘方法來採樣(可能)過小以致無法可靠地統計推斷出所發現任何模式的有效性的更大總體數據集的部分。不過這些方法可以建立新的假設來檢驗更大數據總體。

歷史

資料探勘是因為海量有用資料快速增長的產物。使用計算機進行歷史資料分析,1960年代數字方式採集資料已經實現。1980年代,關係數據庫隨著能夠適應動態按需分析資料的結構化查詢語言發展起來。數據倉庫開始用來存儲大量的資料。

因為面臨處理資料庫中大量資料的挑戰,於是資料探勘應運而生,對於這些問題,它的主要方法是資料統計分析人工智能搜索技術。

定義

資料探勘有以下這些不同的定義:

  1. 「從資料中提取出隱含的過去未知的有價值的潛在信息」[5]
  2. 「一門從大量資料或資料庫中提取有用信息的科學」[6]

儘管通常資料探勘應用於資料分析,但是像人工智能一樣,它也是一個具有豐富含義的詞彙,可用於不同的領域。 它與KDD(Knowledge discovery in databases)的關係是:KDD是從數據中辨別有效的、新穎的、潛在有用的、最終可理解的模式的過程;而數據挖掘是KDD通過特定的算法在可接受的計算效率限制內生成特定模式的一個步驟。 事實上,在現今的文獻中,這兩個術語經常不加區分的使用。

本質

數據挖掘本質上屬於機器學習的內容。

例如《數據挖掘:實用機器學習技術及Java實現》一書[7]大部分是機器學習的內容。這本書最初只叫做「實用機器學習」,「數據挖掘」一詞是後來為了營銷才加入的[8]。通常情況下,使用更為正式的術語,(大規模)數據分析分析學,或者指出實際的研究方法(例如人工智能和機器學習)會更準確一些。

過程

數據挖掘的實際工作是對大規模數據進行自動或半自動的分析,以提取過去未知的有價值的潛在信息,例如數據的分組(通過聚類分析)、數據的異常記錄(通過異常檢測)和數據之間的關係(通過關聯式規則挖掘)。這通常涉及到數據庫技術,例如空間索引英語spatial index。這些潛在信息可通過對輸入數據處理之後的總結來呈現,之後可以用於進一步分析,比如機器學習和預測分析。舉個例子,進行數據挖掘操作時可能要把數據分成多組,然後可以使用決策支持系統以獲得更加精確的預測結果。不過數據收集、數據預處理、結果解釋和撰寫報告都不算數據挖掘的步驟,但是它們確實屬於「資料庫知識發現」(KDD)過程,只不過是一些額外的環節。

數據庫知識發現(KDD)過程通常定義為以下階段:

(1) 選擇
(2) 預處理
(3) 變換
(4) 數據挖掘
(5) 解釋/評估。[4]

預處理

在運用數據挖掘算法之前,必須收集目標數據集。由於數據挖掘只能發現實際存在於數據中的模式,目標數據集必須大到足以包含這些模式,而其餘的足夠簡潔以在一個可接受的時間範圍內挖掘。常見的數據源如資料超市資料倉儲。在數據挖掘之前,有必要預處理來分析多變量數據。然後要清理目標集。數據清理移除包含噪聲和含有缺失數據的觀測量。

數據挖掘

數據挖掘涉及六類常見的任務: [4]

  • 異常檢測(異常/變化/偏差檢測)– 識別不尋常的數據記錄,錯誤數據需要進一步調查。
  • 關聯規則學習(依賴建模)– 搜索變量之間的關係。例如,一個超市可能會收集顧客購買習慣的數據。運用關聯規則學習,超市可以確定哪些產品經常一起買,並利用這些信息幫助營銷。這有時被稱為市場購物籃分析。
  • 聚類 – 是在未知數據的結構下,發現數據的類別與結構。
  • 分類 – 是對新的數據推廣已知的結構的任務。例如,一個電子郵件程序可能試圖將一個電子郵件分類為「正常郵件」或「垃圾郵件」。
  • 迴歸 – 試圖找到能夠以最小誤差對該數據建模的函數。
  • 匯總英語Automatic summarization – 提供了一個更緊湊的數據集表示,包括生成可視化和報表。

結果驗證

數據挖掘的價值一般帶着一定的目的,而這目的是否得到實現一般可以通過結果驗證來實現。驗證是指「通過提供客觀證據對規定要求已得到滿足的認定」,而這個「認定」活動的策劃、實施和完成,與「規定要求」的內容緊密相關。數據挖掘過程中的數據驗證的「規定要求」的設定,往往與數據挖掘要達到的基本目標、過程目標和最終目標有關。驗證的結果可能是「規定要求」得到完全滿足,或者完全沒有得到滿足,以及其他介於兩者之間的滿足程度的狀況。驗證可以由數據挖掘的人自己完成,也可以通過其他人參與或完全通過他人的項目,以與數據挖掘者毫無關聯的方式進行驗證。一般驗證過程中,數據挖掘者是不可能不參與的,但對於認定過程中的客觀證據的收集、認定的評估等過程如果通過與驗證提出者無關的人來實現,往往更具有客觀性。通過結果驗證,數據挖掘者可以得到對自己所挖掘的數據價值高低的評估。

隱私問題及倫理[9]

與資料探勘有關的,還牽扯到隱私問題,例如:一個僱主可以透過訪問醫療記錄來篩選出那些有糖尿病或者嚴重心臟病的人,從而意圖削減保險支出。然而,這種做法會導致倫理和法律問題。

對於政府和商業資料的挖掘,可能會涉及到的,是國家安全或者商業機密之類的問題。這對於保密也是個不小的挑戰。[10]

資料探勘有很多合法的用途,例如可以在患者群的資料庫中查出某藥物和其副作用的關聯。這種關聯可能在1000人中也不會出現一例,但藥物學相關的項目就可以運用此方法減少對藥物有不良反應的病人數量,還有可能挽救生命;但這當中還是存在着資料庫可能被濫用的問題。

資料探勘實現了用其他方法不可能實現的方法來發現資訊,但它必須受到規範,應當在適當的說明下使用。

如果資料是收集自特定的個人,那麼就會出現一些涉及保密、法律和倫理的問題。[11]

2018年5月25日,歐盟一般資料保護規範(General Data Protection Regulation,GDPR)正式上路,保障個人資料蒐集的同意權與刪除要求,在進入網站時會進行個人資料蒐集、處理及利用之告知,並在當事人同意之下做蒐集。[12]

方法

數據挖掘的方法包括監督式學習非監督式學習半監督學習增強學習。監督式學習包括:分類、估計、預測。非監督式學習包括:聚類,關聯規則分析。

例子

數據挖掘在零售行業中的應用:零售公司跟蹤客戶的購買情況,發現某個客戶購買了大量的真絲襯衣,這時資料探勘系統就在此客戶和真絲襯衣之間建立關聯。銷售部門就會看到此信息,直接發送真絲襯衣的當前行情,以及所有關於真絲襯衫的資料發給該客戶。這樣零售商店通過資料探勘系統就發現了以前未知的關於客戶的新信息,並且擴大經營範圍。

數據捕撈

通常作為與資料倉庫和分析相關的技術,資料探勘處於它們的中間。然而,有時還會出現十分可笑的應用,例如發掘出不存在但看起來振奮人心的模式(特別的因果關係),這些根本不相關的、甚至引人誤入歧途的、或是毫無價值的關聯,在統計學文獻裡通常被戲稱為「資料挖泥英語Data dredging」(Data dredging, data fishing, or data snooping)。

資料探勘意味著掃瞄可能存在任何關係的資料,然後篩選出符合的模式,(這也叫作「過度匹配模式」)。大量的數據集中總會有碰巧或特定的資料,有著「令人振奮的關係」。因此,一些結論看上去十分令人懷疑。儘管如此,一些探索性資料分析 還是需要應用統計分析尋找資料,所以好的統計方法和數據資料的界限並不是很清晰。

更危險是出現根本不存在的關聯性。投資分析家似乎最容易犯這種錯誤。在一本叫做《顧客的遊艇在哪裡?》的書中寫道:「總是有相當數量的可憐人,忙於從上千次的賭輪盤的輪子上尋找可能的重複模式。十分不幸的是,他們通常會找到。」[13]

多數的資料探勘研究都關注於發現大量的資料集中,一個高度詳細的模式。在《大忙人的資料探勘》一書中, 西弗吉尼亞大學不列顛哥倫比亞大學研究者討論了一個交替模式,用來發現一個資料集當中兩個元素的最小區別,它的目標是發現一個更簡單的模式來描述相關數據。[14]

參見

方法
應用領域
應用實例
相關主題

數據挖掘是關於分析數據的;有關從數據中提取信息的信息,參見:

參考文獻

延伸閱讀

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.