2. 机器学习基础
在Alpha端到端项目中,我们面对的数据形态和决策目标千差万别。有人给你一批带标签的历史交易记录,让你预测下一笔信号;有人只给你一堆用户行为日志,让你找出异常群体;还有人希望你训练一个智能体,在模拟市场中不断试错、最终学会稳定盈利。这三类任务,恰好对应机器学习的三大范式:监督学习、无监督学习和强化学习。理解它们的边界与联系,是后续所有建模工作的地基。
一、核心原理:三种学习范式在“学什么”
机器学习的本质,是从数据中寻找一个映射或策略,使得模型在未见过的情境下也能做出合理判断。三种范式的根本差异,在于训练信号从哪里来。
- 监督学习:数据带有明确标签,模型学习从输入到输出的映射。训练信号是“标准答案”,损失函数直接衡量预测与标签的差距。
- 无监督学习:数据没有标签,模型从数据自身的分布、密度或结构中寻找规律。训练信号来自数据内部的一致性、距离或概率假设。
- 强化学习:没有标准答案,只有环境给出的奖励。智能体通过动作与环境交互,学习长期累积回报最大的策略。训练信号是延迟、稀疏且带序列依赖的。
核心区别一句话:监督学习学“对应关系”,无监督学习学“数据结构”,强化学习学“决策策略”。
二、方法流程与典型算法
三种范式在工程落地时的流程差异明显。监督学习通常遵循“标注数据→划分训练验证→拟合模型→评估调参→上线推理”的链路;无监督学习更强调“特征工程→相似度或密度建模→聚类/降维→人工解释”;强化学习则是一个闭环:智能体观察状态、选择动作、获得奖励、更新策略,反复迭代。
| 维度 | 监督学习 | 无监督学习 | 强化学习 |
|---|---|---|---|
| 训练数据 | 带标签样本 (X, y) | 无标签样本 X | 状态、动作、奖励序列 |
| 典型任务 | 分类、回归 | 聚类、降维、异常检测 | 序贯决策、控制 |
| 常见算法 | 逻辑回归、SVM、随机森林、XGBoost、神经网络 | K-Means、DBSCAN、PCA、自编码器 | Q-Learning、DQN、PPO、A3C |
| 评估方式 | 准确率、AUC、MSE | 轮廓系数、重构误差 | 累积回报、胜率 |
| Alpha场景 | 信号预测、涨跌分类 | 因子聚类、市场状态划分 | 仓位管理、交易执行 |
下面是一段监督学习的最小训练流程示意,便于建立代码直觉:
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import roc_auc_score
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model = RandomForestClassifier(n_estimators=200, max_depth=6)
model.fit(X_train, y_train)
proba = model.predict_proba(X_test)[:, 1]
print("AUC:", roc_auc_score(y_test, proba))
三、案例与场景:Alpha项目中的分工
在一个完整的Alpha端到端项目中,三种范式往往协同工作,而不是互斥选择。
- 监督学习:用历史行情与财务因子预测未来收益方向,输出概率信号,是最常见的Alpha来源。
- 无监督学习:对因子做聚类,识别当前市场处于“高波动”“低流动性”还是“趋势市”,为监督模型切换提供依据。
- 强化学习:在给定信号后,决定买多少、何时卖、如何控制回撤,把预测问题转化为序贯决策问题。
实战建议:先用无监督做市场状态划分,再用监督学习做信号预测,最后用强化学习或规则引擎做仓位与风控,形成分层流水线。
四、常见误区与复盘
初学者最容易犯的错误,是把三种范式混为一谈,或者在不合适的场景强行套用。
- 把无监督结果当标签用:聚类得到的簇编号没有语义,直接当作分类标签训练监督模型,会引入虚假监督信号。
- 忽视强化学习的样本效率:金融环境奖励稀疏、噪声大,直接上深度强化学习往往收敛困难,应先从模拟环境和小动作空间验证。
- 监督学习中的标签泄漏:用未来信息构造特征或标签,离线AUC很高,上线后迅速失效,这是Alpha项目最致命的坑之一。
- 评估指标与业务目标脱节:分类准确率高不代表策略收益高,需要结合回测、换手率和最大回撤综合判断。
复盘要点:任何范式都只是工具。先明确“预测什么、决策什么、反馈是什么”,再选择学习范式,而不是反过来。
回到Alpha项目本身,你不需要在三种范式之间做“信仰选择”。真正重要的是:面对一个具体任务时,能快速判断训练信号是否存在、是否延迟、是否稀疏,然后选择最匹配的学习方式,并用严谨的验证流程控制风险。这才是机器学习基础真正要建立的能力。