机器学习——模型架构
有监督学习
线性模型
多元线性回归:预测连续的数值(如房价、销量)。
逻辑回归:解决二分类问题(如判断邮件是否是垃圾邮件),输出概率。
非线性模型
决策树:通过一系列if-then规则进行决策,非常直观易懂。
用途:分类和回归。
随机森林:集成学习方法。通过构建多棵决策树并综合它们的結果(如投票或平均),极大地提升了模型的准确性和鲁棒性,不易过拟合。
用途:几乎可用于任何问题,是非常强大的基准模型。
梯度提升机:另一种集成学习方法,如 XGBoost, LightGBM, CatBoost。通过迭代地训练新树来修正前一轮树的错误,性能通常比随机森林更优,是许多数据科学竞赛的“大杀器”。
用途:处理结构化/表格数据的最佳选择之一。
支持向量机
传统图像处理中最好用的算法,目前不用了。
SVM:寻找一个“最大间隔”的超平面来区分不同类别的数据。对于非线性问题,可以使用“核技巧”映射到高维空间进行分离。
用途:尤其在中小规模数据集上表现优异,适用于高维数据(如文本、图像)。
神经网络与深度学习
神经网络:由大量神经元连接构成的模型,可以拟合极其复杂的非线性关系。
深度学习:特指层次更深的神经网络。
多层感知机:最基础的前馈神经网络,可用于表格数据的分类和回归。
卷积神经网络:专门为处理网格状数据(如图像)设计,是计算机视觉领域的核心。
循环神经网络:专门为处理序列数据(如文本、时间序列、语音)设计。
Transformer:目前自然语言处理领域的绝对主力模型(如BERT, GPT系列),在计算机视觉等领域也表现优异。
其他经典模型
朴素贝叶斯:基于贝叶斯定理,假设特征之间相互独立。虽然“朴素”,但在文本分类等领域非常高效。
K近邻:一种“懒学习”算法,通过查找最接近的K个已知样本的标签来预测新样本。简单但计算开销大。
无监督学习
无监督学习的数据没有标签。模型的任务是发现数据内在的结构和模式。
聚类算法
K-Means:将数据分成K个簇,使得同一簇内的数据点尽可能相似。
用途:客户分群、图像压缩、异常检测。
DBSCAN:基于密度的聚类算法,能发现任意形状的簇,并能识别出噪声点。
层次聚类:通过构建树状的簇结构来形成数据集的层次分组。
降维算法
主成分分析:将高维数据投影到低维空间,尽可能保留原始数据的方差。常用于数据可视化和特征预处理。
t-SNE, UMAP:更现代的非线性降维技术,特别擅长将高维数据可视化到2维或3维空间,能保留复杂的局部结构。
关联规则学习
Apriori:用于从大规模数据中发现物品之间的关联规则。
用途:“购物篮分析”(经典的“啤酒和尿布”故事)。
异常检测
隔离森林:专门用于异常检测的算法,通过随机分割来隔离异常点,效率很高。
自编码器:一种神经网络,通过将输入压缩再重建来学习数据的核心特征。重建误差大的点可以被视为异常。
半监督学习
半监督学习:处理只有少量数据有标签,大部分数据无标签的情况。它结合了监督和无监督学习的方法。
强化学习
强化学习:模型(智能体)通过与环境交互,根据获得的奖励或惩罚来学习最佳策略。
用途:AlphaGo、机器人控制、自动驾驶、游戏AI。
模型选择
问题类型
预测数值? -> 回归问题(线性回归、随机森林回归、梯度提升回归)。
预测类别? -> 分类问题(逻辑回归、SVM、随机森林、神经网络)。
发现分组? -> 聚类(K-Means, DBSCAN)。
发现异常? -> 异常检测(隔离森林)。
降低维度? -> 降维(PCA, t-SNE)。
数据规模和特征
样本少、特征少:从简单模型开始,如SVM、逻辑回归。
样本多、特征多(表格数据):树模型(随机森林、XGBoost)通常是首选。
图像、文本、语音数据:深度学习(CNN, RNN, Transformer)几乎是不二之选。
对可解释性的要求
需要解释模型为什么这样预测:决策树、逻辑回归、线性模型。
追求极致精度,可解释性不重要:深度学习、复杂的集成模型。