欢迎来到机器学习的世界!
欢迎来到 CFA Level II 课程中最令人兴奋(且现代)的单元之一!虽然“机器学习”(Machine Learning, ML)听起来像是科幻电影里的东西,但它其实是你已经学过的统计工具的强大延伸。在这一章,我们将学习电脑如何从数据中“学习”,从而进行预测并找出规律,而无需我们手把手教它应该找什么。别担心,即使你不是计算机科学家,我们也会把这些内容拆解成简单易懂的部分。
1. 到底什么是机器学习?
其核心而言,机器学习是人工智能的一个分支,透过算法在大型数据集种训练以找出规律。电脑并非由人类编写特定的规则(例如:“如果市盈率 P/E < 15,则买入”),而是自行观察数据并找出规律。
监督式学习与非监督式学习
课程根据数据是否具有标签(Labels),将机器学习分为两个主要的“思想学派”:
A. 监督式学习(Supervised Learning): 这就像学生跟着老师学习。数据集包含输入(Inputs/Features,特征)和正确答案(Target Variables,目标变量)。目标是学习出一套规则,将输入对应到正确的输出。
例子: 利用“公司比率”(输入)和“股票回报”(目标)的历史数据来预测未来回报。
B. 非监督式学习(Unsupervised Learning): 这就像学生独自逛图书馆。数据没有标签,也没有目标变量。电脑只是单纯寻找数据中的结构或分组。
例子: 提供 500 只股票的数据,要求电脑根据其表现将它们分组,但不告诉它分组的标准是什么。
C. 强化学习(Reinforcement Learning): 这有点不同。一个“代理人(Agent)”透过试错(Trial and Error)来最大化奖励(Reward)。就像训练狗狗吃零食:做得好就有奖励,做得不好就没有。
快速总结
监督式: 我们知道要寻找的答案(目标)。
非监督式: 我们只是在数据中寻找隐藏的规律或捷径。
2. 监督式学习:回归与分类
根据我们想要预测的内容,监督式学习可进一步细分为两类:
1. 回归(Regression): 用于目标变量是连续性(Continuous)数据(数字)时。
例子: 预测房价或债券的确切回报。
2. 分类(Classification): 用于目标变量是类别(Categorical)数据(标签)时。
例子: 预测一家公司会“违约”还是“不违约”。
必须掌握的重要算法:
惩罚性回归(LASSO): 在标准回归中,变量过多会导致问题。LASSO(最小绝对收缩与选择算子)会对特征数量过多进行“惩罚”。它甚至可以将不重要变量的系数收缩至零,从而自动完成“特征选择”!
支持向量机(Support Vector Machines, SVM): 可以把它想象成在两组数据(例如:“成功”vs“失败”)之间划出一条最宽的“界线”(超平面)。它的目标是最大化两组数据之间的边际(Margin)。
分类与回归树(CART): 基本上就是流程图。“债务权益比是否大于 1?是,走左边;否,走右边。” 它们的优点是人类非常容易理解。
随机森林(Random Forests): 这是一种集成方法(Ensemble Method)。我们不依赖单一决策树(可能会出错),而是建立成百上千棵树,让它们对结果进行“投票”。这就是所谓的“群众智慧”。
3. 非监督式学习:寻找隐藏结构
由于非监督式学习没有“答案”,我们主要用它来进行两项任务:
降维(主成分分析 PCA)
有时我们有 100 个不同的变量,但其中许多变量传达的是相同的信息。主成分分析(PCA)将许多变量的信息总结为少数几个“主成分”。
比喻: 与其用身高、臂长、腿长和躯干长(4 个变量)来描述一个人,不如将其总结为“体型”(1 个变量)。
聚类(K-Means)
K-Means 聚类将数据点分入“K”个群组中。它从随机点开始,不断优化分组,直到每个组内部的项目彼此最相似为止。
比喻: 将一大堆脏衣服分成衬衫、裤子和袜子,过程中没人告诉你什么是“衬衫”。
关键总结
PCA 让数据变小(列减少)。
聚类 让数据有条理(行被分组)。
4. 神经网络与深度学习
神经网络(Neural Networks, NNs)的灵感来自人脑。它们由输入层(Input Layer)、隐藏层(Hidden Layers)和输出层(Output Layer)组成。当网络拥有许多隐藏层时,我们称之为深度学习(Deep Learning)。
神经网络对于处理非线性关系(复杂规律)非常强大,但它们通常被称为“黑箱”,因为人类很难确切看出电脑为什么做出特定的决定。
5. 机器学习工作流程
建立模型不只是按个按钮,它遵循特定的路径:
1. 数据收集: 搜集原始信息。
2. 数据清洗: 处理缺失值和极值。
3. 特征工程: 建立新变量(例如将日期转换为“星期几”)。
4. 训练/验证/测试: 这是学生最容易混淆的地方!我们来拆解一下。
三个数据集
为了避免“作弊”,我们将数据分为三部分:
1. 训练集(Training Set): 模型实际“看到”并从中学习的数据。
2. 验证集(Validation Set): 用于调校模型(就像调整“旋钮”以找到最佳设定)。
3. 测试集(Test Set): “期末考”。模型只有在最后才会看到这组数据,以验证其在现实世界中的表现。
6. 过度拟合与偏差-方差权衡
这可能是考试中最重要的概念!
过度拟合(Overfitting): 当模型学习数据“太好”时就会发生,包括学习到了随机噪声和错误。它在训练数据上表现出色,但在新数据上却惨败。
比喻: 背下练习题的所有答案,而不是理解数学概念。你在练习题会拿 100 分,但正式考试会不及格。
欠拟合(Underfitting): 模型太简单,看不出规律。
比喻: 试图用一条直线去描述一条复杂的曲线。
权衡(Trade-off)
\( \text{Total Error} = \text{Bias}^2 + \text{Variance} + \text{Irreducible Error} \)
高偏差(High Bias)= 欠拟合: 模型太“固执”或太简单。
高方差(High Variance)= 过度拟合: 模型太“灵活”或太复杂。
记忆小撇步:
Variance(方差)= Very complex(非常复杂,即过度拟合)。
Bias(偏差)= Basic(基础,即欠拟合)。
7. 评估模型表现
我们如何知道模型是否好用?对于分类问题,我们使用混淆矩阵(Confusion Matrix)。
关键指标:
- 精确率(Precision): 在模型所有预测为“违约”的案例中,有多少是真的违约?(重质不重量)。
- 召回率(Recall): 在所有实际发生的违约中,模型抓到了多少?(重覆盖率/数量)。
- 准确度(Accuracy): 正确预测总数除以预测总数。
- F1 分数(F1 Score): 精确率与召回率之间的平衡(调和平均数)。
常见错误: 不要假设准确度总是最好的指标。如果 99% 的公司都不违约,那么一个预测“没人会违约”的模型就有 99% 的准确度,但它对于找出那 1% 的违约公司完全没用!
成功总结清单
在继续学习之前,请确保你能回答以下问题:
1. 我能解释监督式学习与非监督式学习的区别吗?
2. 我知道 LASSO 透过将系数降至零来协助特征选择吗?
3. 我理解过度拟合会导致高方差及较差的样本外表现吗?
4. 我能指出 PCA 是用来减少变量数量(降维)的吗?
5. 我记得测试集只有在模型训练并调校完毕后才能使用吗?
如果这让你感觉像是学了太多新词汇,别担心。专注于每种方法的“目标”,而不是背后的数学。CFA Level II 考试非常重视你选择正确工具解决正确问题的能力!