第2讲:数据科学的基本方法

数据科学的主要方法

一、导入:为什么要学习数据科学的方法

在前面我们已经讨论过,数据科学不仅是一门研究数据的学科,更是一门面向现实问题解决的交叉学科。那么,数据科学究竟依靠什么方法来解决问题?从整体上看,数据科学的方法体系主要建立在两大基础之上:一类是统计学方法,另一类是机器学习方法。前者更强调规律发现、推断解释与模型建构,后者更强调从数据中自动学习模式并进行预测。二者并不是彼此割裂的,而是在现代数据科学中相互融合、相互支撑。


二、数据科学方法的整体框架

从方法分类来看,数据科学的方法主要可以分为以下几类:

  • 监督学习(Supervised Learning)
  • 无监督学习(Unsupervised Learning)
  • 半监督学习(Semi-supervised Learning)
  • 强化学习(Reinforcement Learning)

这几类方法构成了现代数据科学建模与分析的基本框架。其中,监督学习和无监督学习最为常见,半监督学习适用于”少量标注、大量未标注”的现实场景,而强化学习则更多用于序列决策与动态优化问题。


三、监督学习:从已知样本中学习规律

1. 什么是监督学习

监督学习是指:在训练数据中,输入变量和输出变量都是已知的,我们利用这类”有答案”的样本去学习一个映射关系,从而对未来未知样本进行预测。换句话说,监督学习的核心任务就是:已知输入和输出,学习输入到输出之间的函数关系

在监督学习中,通常会涉及几个基本概念:

  • 实例(Instance):一个具体观测对象
  • 特征向量(Feature Vector):描述实例的多个变量
  • 特征空间(Feature Space):所有特征向量组成的空间
  • 训练集(Training Set):用于学习模型的数据集合

监督学习的目标,是在某个假设空间中找到一个最优模型。这个模型既可以写成决策函数 Y=f(X),也可以写成条件概率分布 P(Y|X)

2. 监督学习的典型任务

监督学习主要包括三类典型问题:

(1)回归问题

当输出变量是连续数值时,我们面对的是回归问题。例如,根据房屋面积、地段、楼层等变量预测房价;根据家庭收入预测消费支出。这类问题的重点在于刻画变量之间的数量关系,并利用模型进行数值预测。

(2)分类问题

当输出变量是离散类别时,我们面对的是分类问题。例如,判断一个客户是否违约,判断一封邮件是否为垃圾邮件,判断一位员工是否会离职。分类问题中常用的评价指标包括:

  • 精确率(Precision)
  • 召回率(Recall)
  • F1 值(F1-score)
  • 混淆矩阵(Confusion Matrix)

其中,混淆矩阵中的四个基本量分别是 TP、FP、FN、TN,这些指标共同帮助我们评估分类器的实际效果。

(3)标注问题

标注问题也叫结构预测问题,它的输入往往是一个序列,输出也是一个序列。例如在自然语言处理中,对一句话中的每个词进行词性标注、命名实体识别等。它比普通分类问题更复杂,因为输出之间往往具有结构关系。


四、无监督学习:在没有标签的情况下发现结构

与监督学习不同,无监督学习面对的数据通常只有输入变量,没有现成的输出标签。此时,研究者无法直接告诉模型”正确答案是什么”,而是希望模型自己从数据中发现潜在结构、相似关系或隐藏模式。

无监督学习常见的任务包括:

  • 聚类分析:把相似对象自动分成若干组
  • 降维分析:把高维变量压缩为较少的综合变量
  • 关联规则分析:发现变量之间的共现关系
  • 主题发现:从文本中自动提取主题结构

无监督学习特别适合探索性分析。当我们对数据结构并不清楚时,它往往可以帮助我们先”看清数据”,再进入下一步建模。


五、半监督学习:利用少量标注数据和大量未标注数据

在现实问题中,完全标注的数据往往难以获取。很多时候,我们只能得到少量”有标签”的样本,而大量样本只有输入信息,没有输出标签。例如在信用评分中,一部分客户已经发放贷款,因此知道是否违约;而另一部分客户尚未发放贷款,所以无法知道其最终违约情况。

这种情况下,如果只使用已标注样本,可能浪费大量信息;如果能把未标注样本的信息也利用起来,就形成了半监督学习。它的基本思想是:

  • 使用少量标注数据提供学习方向
  • 使用大量未标注数据补充数据分布信息
  • 在较低标注成本下提升模型性能

因此,半监督学习特别适合那些”标签昂贵、数据便宜”的应用场景。


六、强化学习:在动态环境中学习最优决策

强化学习研究的是”智能体如何在环境中不断试错并获得最优策略”的问题。它特别适用于动态决策、序列控制与长期收益优化问题。

强化学习的核心要素包括:

  • 状态(State):当前环境所处的情况
  • 动作(Action):在某个状态下可以采取的行为
  • 奖励(Reward):采取动作后获得的反馈
  • 策略(Policy):给定状态下如何选择动作的规则
  • 状态价值函数动作价值函数:衡量长期收益的函数

从求解方式来看,强化学习可以分为:

  • 无模型方法(Model-free)
  • 有模型方法(Model-based)
  • 基于策略的方法(Policy-based)
  • 基于价值的方法(Value-based)

强化学习的典型应用包括自动驾驶、机器人控制、游戏智能体、推荐系统动态优化等。


七、机器学习:现代数据科学的重要支柱

机器学习是近几十年来迅速发展起来的一门交叉学科,它涉及概率论、统计学、逼近论、凸分析、算法复杂度等多个领域。简单来说,机器学习研究的是:如何让计算机利用数据和经验自动改进算法性能

机器学习之所以重要,是因为它能够:

  • 从海量数据中自动提取规律
  • 对未知样本进行预测
  • 在复杂场景中实现模式识别与智能决策

机器学习已广泛应用于:

  • 数据挖掘
  • 计算机视觉
  • 自然语言处理
  • 医学诊断
  • 金融风控
  • 搜索引擎
  • 证券分析
  • 欺诈检测
  • 语音识别
  • 新闻生成
  • 智能推荐等领域

八、机器学习的发展历程

机器学习的发展并不是一蹴而就的。早在 1943 年,Warren McCulloch 和 Walter Pitts 就提出了人工神经网络模型,被视为人工智能的重要开端。1956 年达特茅斯会议则标志着人工智能学科的正式诞生。此后,机器学习经历了多个发展阶段,从早期神经网络,到统计学习,再到近年来的深度学习浪潮。

在新的发展方向上,机器学习还不断拓展出多个重要分支,例如:

  • 集成学习
  • 可扩展机器学习
  • 强化学习
  • 迁移学习
  • 概率网络
  • 深度学习

这些方向共同推动了机器学习在理论和应用上的快速演进。


九、机器学习与数据挖掘的关系

机器学习和数据挖掘关系密切,但二者并不完全相同。

一方面,机器学习是数据挖掘的重要工具。数据挖掘在发现海量数据中的知识时,大量依赖机器学习提供的方法支持。另一方面,数据挖掘并不仅仅等于机器学习,它还涉及数据库管理、大规模存储、数据清洗、噪声处理、计算效率等更实际的问题。

可以说:

  • 机器学习更关注”如何从数据中学习”
  • 数据挖掘更关注”如何从海量数据中提取有价值的知识”

因此,数据挖掘可以看作机器学习与数据库技术的交叉领域。


十、统计学习与机器学习:联系与差异

统计学习和机器学习在很多场景下高度重叠,但二者在研究风格和关注重点上也存在差异。

1. 联系

二者都以数据为研究对象,都希望通过模型从数据中提取规律,并对未知数据进行预测或解释。因此,很多机器学习方法本质上都有统计学基础,这也是”统计学习”这一名称的重要来源。

2. 差异

从研究方法上看:

  • 统计学更强调形式化建模、理论推导和可解释性
  • 机器学习更强调预测性能、算法实现和复杂场景适应性

从研究对象上看:

  • 统计学更关注低维问题、置信区间、假设检验、最优估计等
  • 机器学习更关注高维预测、在线学习、半监督学习、流形学习、主动学习、Boosting 等问题

从术语上看,两者也有很多对应关系,例如:

  • Estimation 对应 Learning
  • Covariate 对应 Feature
  • Response 对应 Label
  • Classifier 对应 Hypothesis

因此,我们既不能把机器学习简单等同于统计学,也不能把两者对立起来。更准确地说,现代数据科学正是在二者融合中不断发展。


十一、统计学习的基本框架

统计学习可以概括为”三要素”:

1. 模型

模型是输入到输出关系的形式化表达。它可以是一个决策函数,也可以是一个条件概率分布。模型的本质,是在某个假设空间中寻找最优函数。

2. 策略

策略讨论的是”如何判定一个模型好不好”。这通常通过损失函数与风险函数来衡量。常见损失函数包括:

  • 0-1 损失函数
  • 平方损失函数
  • 绝对损失函数
  • 对数损失函数

进一步地,平均意义下模型预测好坏可以通过风险函数衡量,而在样本上的损失则形成经验风险。

3. 算法

算法讨论的是”怎样求出最优模型”。如果最优化问题有解析解,求解相对简单;若没有解析解,则需要依赖数值优化方法。


十二、模型评估与模型选择

在建模过程中,不能只关心训练误差,更要关注测试误差与泛化能力。一个模型如果在训练集上表现很好,但在新数据上效果很差,就发生了过拟合。

因此,模型评估与选择非常重要。常见方法包括:

  • 训练集、验证集、测试集划分
  • 简单交叉验证
  • S 折交叉验证
  • 留一交叉验证
  • 正则化方法

其中,正则化的本质是通过加入罚项抑制模型复杂度,从而降低过拟合风险;交叉验证则通过重复划分样本来提高模型评估的稳定性。


十三、生成模型与判别模型

在监督学习中,还可以从建模思想上把方法分为两大类:

1. 生成模型

生成模型研究联合分布 P(X,Y),再由此推导条件分布 P(Y|X)。典型方法包括:

  • 朴素贝叶斯
  • 隐马尔可夫模型

生成模型的优点是能够恢复联合分布,在样本较少或存在隐变量时有一定优势。

2. 判别模型

判别模型直接学习 Y=f(X)P(Y|X),重点在于预测准确性。典型方法包括:

  • K 近邻
  • 感知机
  • 决策树
  • Logistic 回归
  • 支持向量机
  • 提升方法
  • 条件随机场

相较于生成模型,判别模型通常更直接、更关注分类或预测效果。


十四、数据科学常用编程语言:R 与 Python

现代数据科学离不开编程工具,其中最具代表性的两种语言就是 RPython

1. R 语言

R 语言起源于 S 语言,是一个免费开源、面向统计分析和绘图的编程语言。它的主要优势在于:

  • 数据处理与统计分析能力强
  • 矩阵运算和建模功能完善
  • 可视化功能出色
  • 拥有大量扩展包
  • 新方法更新速度快
  • 与学术研究结合紧密

R 特别适合统计推断、模型分析、科研绘图和动态报告生成。对于从事统计分析和科研工作的同学来说,R 是非常重要的工具。

2. Python 语言

Python 是一种解释型、面向对象、高级通用编程语言。它在数据分析和人工智能领域应用极其广泛,其主要优势包括:

  • 可读性强,容易上手
  • 灵活性高,适合快速开发
  • 可与 Web、数据库、API 等系统整合
  • 在机器学习、爬虫、自动化等方面非常强大

Python 的生态系统丰富,常用环境包括:

  • Anaconda
  • Jupyter Notebook
  • PyCharm
  • Spyder
  • IPython

总体来看,R 更偏统计分析与学术研究,Python 更偏工程实现与综合开发,两者在数据科学中都具有重要地位。


十五、总结

从整体上看,数据科学的方法体系并不是零散的工具拼接,而是一个层次清晰、逻辑完整的方法框架。它既包括监督学习、无监督学习、半监督学习和强化学习等核心范式,也包括统计学习、机器学习、数据挖掘等重要方法传统。

如果用一句话来概括本章内容,那么可以这样说:

数据科学的方法,本质上就是围绕数据建模、规律发现、预测决策和问题解决所形成的一整套统计与计算方法体系。

对于我们学习者来说,不仅要知道这些方法”叫什么”,更要理解它们”解决什么问题”“适用于什么场景”“背后的逻辑是什么”。只有这样,方法学习才不会停留在工具层面,而会真正转化为分析问题和解决问题的能力。