1.数据挖掘基础简介
本文由中山大学In+ Lab整理完成,转载注明出处
团队介绍 传送门
一、什么是数据挖掘
随着alphago在围棋上横扫各路高手,轻松击败李世石使得人工智能大火,各种关于数据挖掘、人工智能、机器学习的文章络绎不绝。由此引发了大家的思考,什么是数据挖掘?
数据挖掘通俗点来讲是通过某种方式找出潜藏在大量数据中我们所需要的信息。数据挖掘包含了机器学习、统计学、数学等多个学科的知识。数据挖掘不仅可以在互联网行业中应用,还可以在传统行业中发挥重要的价值。
三国演义中诸葛亮和司马懿交手的次数非常多,下面就以此为案例来对比阐述什么是数据挖掘。
1. 简要分析
诸葛亮战斗指数: 诸葛亮舌战群儒碾压东吴文臣、草船借箭抖机灵、借东风呼风唤雨、借关羽之手在华容道捉放曹、三气周瑜把周瑜挤兑得一命呜呼;
司马懿战斗指数: 司马懿曾任曹魏的大都督、大将军、太尉、太傅,是辅佐了魏国三代的托孤辅政之重臣,后期成为掌控魏国朝政的权臣。善谋奇策,多次征伐有功;
PK结果: 诸葛亮败。
2. 统计分析
诸葛亮战斗指数: 诸葛亮在和曹军斗智斗勇的成功率有80%左右;
司马懿战斗指数: 司马懿在军事战绩上成功率有70%;
PK结果: 诸葛亮有较大几率获胜。
3. 数据挖掘
通过大量的历史样本数据,我们发现了这样几个规律;
军事战争中善于隐忍的人和去了解敌方虚实的人比四处挑战不顾敌方虚实的人赢面更大;
团队内部团建和睦的军队比那些一盘散沙的小兵更有战斗力和凝聚力;
当机立断的首领比优柔寡断的首领更容易获得战争的先机。
由上可得:
当诸葛亮在西线急于决战,送给司马懿妇人衣物以激怒之时,司马懿不为所动,坚持自己的战略方针,使诸葛亮功败垂成;
司马懿制止魏军进攻,力主坚守不战。认为,蜀军远道面来,带粮草必定有限,因而,急于设计决战;
得出结论,司马懿赢面更大。
数据挖掘就是通过各个维度的分析探索,找到潜藏在内部的规律和联系,从而得出结论。
二、三大最常见的数据挖掘任务
1.回归任务
回归任务是一种对数值型连续随机变量进行预测和建模的监督学习算法。使用案例一般包括房价预测、股票走势或测试成绩等连续变化的案例。
回归任务的特点是标注的数据集具有数值型的目标变量。也就是说,每一个观察样本都有一个数值型的标注真值以监督算法。
2.分类任务
分类是一种对离散型随机变量建模或预测的监督学习算法。使用案例包括邮件过滤、金融欺诈和预测雇员异动等输出为类别的任务。
许多回归算法都有与其相对应的分类算法,分类算法通常适用于预测一个类别(或类别的概率)而不是连续的数值。
3.聚类任务
聚类是一种无监督学习任务,该算法基于数据的内部结构寻找观察样本的自然族群(即集群)。使用案例包括细分客户、新闻聚类、文章推荐等。
因为聚类是一种无监督学习(即数据没有标注),并且通常使用数据可视化评价结果。如果存在「正确的回答」(即在训练集中存在预标注的集群),那么分类算法可能更加合适。
三、过拟合与欠拟合
评估模型的是否过拟合或者欠拟合,需要将数据划分成训练集、验证集和测试集,我们通过一个形象的例子来理解这件事。
首先做一个类比:
训练集 → 题解大全
验证集 → 模拟考试
测试集 → 高考!
机器学习算法是个笨学生,他没法直接从人类教师那里学会抽象的概念,于是唯一有效的策略就是天赋不足勤来补:玩命刷题! 想想看带标签的训练数据,是不是很像你平时做的习题册呢? 数据本身是题目,标签是正确答案。所以机器学习算法能够通过大量做题来学会抽象概念(但是这个傻孩子实际上只学会了怎么解答与特定抽象概念相关的问题)。
你说你学会了东西,但空口无凭啊,你得通过考试来证明自己!于是就有了测试集。测试集相当于考试的原因是,你只能看到题目(数据)而无法得知答案(标签)。你只能在交卷之后等老师给你打分。
所以我们需要模拟考试,也就是验证集。我们可以获得验证集的标签,但是我们假装得不到,让自己以考试的心态去面对,过后也就能通过自己对答案来了解自己到底学会了多少,而这种几乎没有成本的考试我们想进行多少次都行,这就是验证集存在的意义,我们的模型只能在测试集上面跑一次,一考定终身。
我们需要验证集的真正原因是:防止机器学习算法作弊!我们训练一个机器学习模型不是为了让它在那有限的带标签数据high个够,而是要将模型应用于真实世界。绝大多数情况下,我们无法直接从真实世界获得答案,我们能收集到的数据是没有标签的裸数据,我们需要高效准确的机器学习模型为我们提供答案。不能直接使用测试集不是因为我们负担不起在测试集上跑模型的成本(事实上几乎为0),而是因为我们不能泄露测试集的信息。试想一下,假如你搞到了真正的高考题和答案,你一遍又一遍地去做这套题目,会发生什么?也许你会成为高考状元,可是你真的学会这些知识了吗?你能够再去做一套高考题并且拿高分吗?你能够去当家教向学弟学妹传授你的知识和解答他们的问题吗? 偷窥到了测试集的机器学习模型就是废品,没有人需要它,它也做不了任何有用的事情。
切记,你的机器学习模型只能在测试集上跑一次,一考定终身!
过拟合的模型是个真正的书呆子,玩命刷题解大全(Demidovich ),但是只记住了所有的习题和答案,去做模拟考试就直接傻掉了。欠拟合的模型就是个不听课还懒惰的学渣,连习题册上的题目都搞不懂,别说模拟考试了。
四、阅读指引
在后续的系列文章中,我们将细节介绍数据挖掘的相关知识:
关联分析是比较简单易懂的数据分析处理的方法;
线性回归是逻辑回归的先导;
感知机模型是用来处理简单的线性可分的问题的,后续演变发展了两个方向,一个是SVM,另外一个是BP神经网络,用来解决一些更复杂的问题;
KNN模型使用了近朱者赤近墨者黑的思想,比较简单易懂;
朴素贝叶斯则是根据条件概率来生成最终的类别概率;
决策树模型可以理解为根据不同条件去做分支决策,后续呢也通过一些模型的组合得到了表现更好的随机森林,adaboost和gbdt模型
参考文献
https://zhuanlan.zhihu.com/p/31989569