
1) 【一句话结论】传统机器学习(如随机森林、XGBoost)适合结构化数据、特征工程明确、数据量适中(百万级)且计算资源有限的场景,通过特征工程提取特征并处理非线性关系;深度学习(如LSTM、Transformer)适合序列数据、特征复杂、数据量大(千万级以上)且计算资源充足的场景,通过自动学习特征捕捉长期依赖或全局依赖。选择需结合数据特性、计算资源与业务需求。
2) 【原理/概念讲解】传统机器学习模型(如随机森林、XGBoost)属于树模型集成方法。随机森林通过构建多个独立决策树并投票预测结果,有效减少过拟合;XGBoost是梯度提升树,通过迭代优化提升模型性能,两者均依赖特征工程,即人工提取与选择对预测关键的特征(如金融中的收入、信用评分、历史交易数据等)。简言之,传统模型是“特征驱动”,需要先明确哪些特征对目标变量有影响,再通过模型学习特征间关系。
深度学习模型(如LSTM、Transformer)属于神经网络,用于处理序列数据。LSTM(长短期记忆网络)通过门控机制(输入门、遗忘门、输出门)捕捉时间序列中的长期依赖,适合股票价格、汇率等受历史数据影响的预测;Transformer通过自注意力机制(Self-Attention)同时考虑序列中所有位置的信息,捕捉全局依赖,适合文本(如新闻、财报)分析或长序列预测。简言之,深度模型是“数据驱动”,通过大量数据自动学习特征,无需人工设计特征,但需要足够的数据量和计算资源。
3) 【对比与适用场景】
| 模型类型 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| 传统机器学习(RF/XGBoost) | 树模型集成(随机森林为多个决策树投票,XGBoost为梯度提升树) | 依赖特征工程,处理结构化数据,计算效率高,可解释性强 | 特征明确、数据量适中(如百万级)、计算资源有限(如信贷违约预测、客户流失分析) | 特征工程依赖,对数据分布变化敏感,处理序列依赖能力弱 |
| 深度学习(LSTM/Transformer) | 神经网络(LSTM为循环神经网络,Transformer为自注意力模型) | 自动学习特征,处理序列数据,捕捉长期/全局依赖,计算资源需求高 | 序列数据、数据量大(千万级以上)、计算资源充足(如股票价格预测、新闻文本情感分析) | 数据量不足易过拟合,解释性弱,训练时间长 |
4) 【示例】
以LSTM预测股票收盘价为例(伪代码):
# 输入:过去60天的收盘价序列(如[price1, price2, ..., price60])
# 构建LSTM模型
model = Sequential()
model.add(LSTM(units=50, input_shape=(60, 1))) # 输入形状为(时间步, 特征数)
model.add(Dense(1)) # 输出预测值
model.compile(optimizer='adam', loss='mse')
# 训练:用历史数据训练模型
model.fit(X_train, y_train, epochs=10, batch_size=32)
# 预测:输入最新60天数据预测未来价格
prediction = model.predict(X_test)
(注:实际应用需处理数据归一化、序列划分等步骤,但核心是利用LSTM捕捉时间序列依赖。)
5) 【面试口播版答案】
“传统机器学习模型如随机森林和XGBoost,核心是通过特征工程提取结构化数据的特征,处理非线性关系,适合特征明确、数据量适中(如百万级)的场景,比如用XGBoost预测信贷违约,因为特征如收入、信用评分等容易工程化,计算效率高。而深度学习模型如LSTM和Transformer,擅长处理序列数据,自动学习特征,捕捉长期依赖,适合数据量大(千万级以上)、序列复杂(如时间序列、文本)的场景,比如用LSTM预测股票价格,因为股价受历史价格影响,需要捕捉时间依赖。总结来说,传统模型依赖特征工程,适合结构化数据、计算资源有限;深度学习自动特征学习,适合序列数据、计算资源充足。选择时需看数据特性:结构化、特征明确选传统,序列、数据量大选深度学习。”
6) 【追问清单】
7) 【常见坑/雷区】