数据挖掘
来自维基百科,自由的百科全书
数据挖掘(英語:Data mining)是一个跨学科的计算机科学分支[1][2][3] 。它是用人工智能、机器学习、统计学和数据库的交叉方法在相對較大型的数据集中发现模式的计算过程[1]。
数据挖掘过程的总体目标是从一个数据集中提取信息,并将其转换成可理解的结构,以进一步使用[1]。除了原始分析步骤,它还涉及到数据库和数据管理方面、数据预处理、模型与推断方面考量、兴趣度度量、复杂度的考虑,以及发现结构、可视化及在线更新等后处理[1]。数据挖掘是“資料庫知識發現”(Knowledge-Discovery in Databases, KDD)的分析步骤[4] ,本质上属于机器学习的范畴。
类似词语“資料採礦”、“数据捕鱼”和“数据探测”指用数据挖掘方法来采样(可能)过小以致无法可靠地统计推断出所发现任何模式的有效性的更大总体数据集的部分。不过这些方法可以建立新的假设来检验更大数据总体。
歷史
資料探勘是因為海量有用資料快速增長的產物。使用計算機進行歷史資料分析,1960年代數字方式採集資料已經實現。1980年代,关系数据库隨著能夠適應動態按需分析資料的結構化查詢語言發展起來。数据仓库開始用來存儲大量的資料。
定義
資料探勘有以下這些不同的定義:
儘管通常資料探勘應用於資料分析,但是像人工智能一樣,它也是一個具有豐富含義的詞彙,可用於不同的領域。 它与KDD(Knowledge discovery in databases)的关系是:KDD是从数据中辨别有效的、新颖的、潜在有用的、最终可理解的模式的过程;而数据挖掘是KDD通过特定的算法在可接受的计算效率限制内生成特定模式的一个步骤。 事实上,在现今的文献中,这两个术语经常不加区分的使用。
本质
数据挖掘本质上属于机器学习的内容。
例如《数据挖掘:实用机器学习技术及Java实现》一书[7]大部分是机器学习的内容。这本书最初只叫做“实用机器学习”,“数据挖掘”一词是后来为了营销才加入的[8]。通常情况下,使用更为正式的术语,(大规模)数据分析和分析学,或者指出实际的研究方法(例如人工智能和机器学习)会更准确一些。
过程
数据挖掘的实际工作是对大规模数据进行自动或半自动的分析,以提取过去未知的有价值的潜在信息,例如数据的分组(通过聚类分析)、数据的异常记录(通过异常检测)和数据之间的关系(通过关联式规则挖掘)。这通常涉及到数据库技术,例如空间索引。这些潜在信息可通过对输入数据处理之后的总结来呈现,之后可以用于进一步分析,比如机器学习和预测分析。举个例子,进行数据挖掘操作时可能要把数据分成多组,然后可以使用决策支持系统以获得更加精确的预测结果。不过数据收集、数据预处理、结果解释和撰写报告都不算数据挖掘的步骤,但是它们确实属于“資料庫知識發現”(KDD)过程,只不过是一些额外的环节。
数据库知识发现(KDD)过程通常定义为以下阶段:
- (1) 选择
- (2) 预处理
- (3) 变换
- (4) 数据挖掘
- (5) 解释/评估。[4]
在运用数据挖掘算法之前,必须收集目标数据集。由于数据挖掘只能发现实际存在于数据中的模式,目标数据集必须大到足以包含这些模式,而其余的足够简洁以在一个可接受的时间范围内挖掘。常见的数据源如資料超市或資料倉儲。在数据挖掘之前,有必要预处理来分析多变量数据。然后要清理目标集。数据清理移除包含噪声和含有缺失数据的观测量。
数据挖掘涉及六类常见的任务: [4]
数据挖掘的价值一般带着一定的目的,而这目的是否得到实现一般可以通过结果验证来实现。验证是指“通过提供客观证据对规定要求已得到满足的认定”,而这个“认定”活动的策划、实施和完成,与“规定要求”的内容紧密相关。数据挖掘过程中的数据验证的“规定要求”的设定,往往与数据挖掘要达到的基本目标、过程目标和最终目标有关。验证的结果可能是“规定要求”得到完全满足,或者完全没有得到满足,以及其他介于两者之间的满足程度的状况。验证可以由数据挖掘的人自己完成,也可以通过其他人参与或完全通过他人的项目,以与数据挖掘者毫无关联的方式进行验证。一般验证过程中,数据挖掘者是不可能不参与的,但对于认定过程中的客观证据的收集、认定的评估等过程如果通过与验证提出者无关的人来实现,往往更具有客观性。通过结果验证,数据挖掘者可以得到对自己所挖掘的数据价值高低的评估。
隐私问题及伦理[9]
與資料探勘有關的,還牽扯到隐私問題,例如:一個僱主可以透過訪問醫療記錄來篩選出那些有糖尿病或者嚴重心臟病的人,從而意圖削減保險支出。然而,這種做法會導致倫理和法律問題。
對於政府和商業資料的挖掘,可能會涉及到的,是國家安全或者商業機密之類的問題。這對於保密也是個不小的挑戰。[10]
資料探勘有很多合法的用途,例如可以在患者群的資料庫中查出某藥物和其副作用的關聯。這種關聯可能在1000人中也不會出現一例,但藥物學相關的項目就可以運用此方法減少對藥物有不良反應的病人數量,還有可能挽救生命;但这當中還是存在着資料庫可能被濫用的问题。
資料探勘實現了用其他方法不可能實現的方法來發現資訊,但它必須受到規範,應當在適當的說明下使用。
如果資料是收集自特定的個人,那麼就會出現一些涉及保密、法律和倫理的問題。[11]
2018年5月25日,歐盟一般資料保護規範(General Data Protection Regulation,GDPR)正式上路,保障個人資料蒐集的同意權與刪除要求,在進入網站時會進行個人資料蒐集、處理及利用之告知,並在當事人同意之下做蒐集。[12]
方法
数据挖掘的方法包括監督式學習、非監督式學習、半监督学习、增强学习。監督式學習包括:分類、估计、預測。非监督式学习包括:聚类,关联规则分析。
例子
数据挖掘在零售行業中的應用:零售公司跟蹤客戶的購買情況,發現某個客戶購買了大量的真絲襯衣,這時資料探勘系統就在此客戶和真絲襯衣之間建立關聯。銷售部门就會看到此信息,直接發送真絲襯衣的當前行情,以及所有关于真丝衬衫的资料发給該客戶。這樣零售商店通過資料探勘系統就發現了以前未知的關於客戶的新信息,并且扩大经营范围。
数据捕捞
通常作為與資料倉庫和分析相關的技術,資料探勘處於它們的中間。然而,有時還會出現十分可笑的應用,例如發掘出不存在但看起來振奮人心的模式(特別的因果關係),這些根本不相關的、甚至引人誤入歧途的、或是毫無價值的關聯,在統計學文獻裡通常被戲稱為「資料挖泥」(Data dredging, data fishing, or data snooping)。
資料探勘意味著掃瞄可能存在任何關係的資料,然後篩選出符合的模式,(這也叫作「過度匹配模式」)。大量的數據集中總會有碰巧或特定的資料,有著「令人振奮的關係」。因此,一些結論看上去十分令人懷疑。儘管如此,一些探索性資料分析 還是需要應用統計分析尋找資料,所以好的統計方法和數據資料的界限並不是很清晰。
更危險是出現根本不存在的關聯性。投資分析家似乎最容易犯這種錯誤。在一本叫做《顧客的遊艇在哪裡?》的書中寫道:「總是有相當數量的可憐人,忙於從上千次的賭輪盤的輪子上尋找可能的重複模式。十分不幸的是,他們通常會找到。」[13]
多數的資料探勘研究都關注於發現大量的資料集中,一個高度詳細的模式。在《大忙人的資料探勘》一書中, 西弗吉尼亞大學和不列顛哥倫比亞大學研究者討論了一個交替模式,用來發現一個資料集當中兩個元素的最小區別,它的目標是發現一個更簡單的模式來描述相關數據。[14]
参见
- 方法
- 应用领域
- 应用实例
- 客户分析
- 农业数据挖掘
- 气象中的数据挖掘
- 教育数据挖掘
- 美国国家安全局
- 定量构效关系
- 監視 / 大规模监控 (e.g., 恒星风 (情报活动代号))
- 相关主题
数据挖掘是关于分析数据的;有关从数据中提取信息的信息,参见:
參考文獻
延伸阅读
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.