一、集成算法(Ensemble Learning)
1. 基本概念
集成学习通过构建并结合多个学习器(基分类器/回归器)来完成学习任务,旨在通过集体决策提升模型性能,类似于“多个专家的综合判断优于单个专家”。
2. 结合策略
简单平均法:适用于回归任务。
加权平均法:根据模型性能赋予不同权重。
投票法:适用于分类任务,遵循“少数服从多数”。
3. 集成方法分类
a) Bagging(Bootstrap Aggregating)
特点:并行训练多个基学习器,彼此独立。
代表算法:随机森林(Random Forest)。
优势:
处理高维数据,无需特征选择。
可评估特征重要性。
支持并行化,训练速度快。
可可视化分析。
b) Boosting
特点:串行训练,后续模型聚焦于前一轮分错的样本。
代表算法:AdaBoost。
流程:
初始化样本权重;
依次训练弱分类器,调整错分样本权重;
组合所有弱分类器,按性能加权输出最终结果。
c) Stacking
特点:堆叠多种不同类型的基模型,分阶段训练。
第一阶段:各基模型独立预测;
第二阶段:使用第一阶段输出训练元模型(meta-model)进行最终预测。
二、聚类算法:K-Means
1. 基本概念
无监督学习:没有标签,依靠数据内在结构进行分组。
聚类目标:将相似样本划分到同一组(簇)。
难点:评估聚类质量、确定最佳簇数(K值)、处理非球形簇。
2. 距离度量
欧式距离:多维空间中的直线距离。
曼哈顿距离:各维度绝对差之和,适用于网格状数据。
3. K-Means 算法流程
随机初始化K个中心点;
将每个样本分配到最近的中心点所属簇;
重新计算每个簇的中心点;
重复2-3步直至中心点稳定。
4. 评估指标:CH指标(Calinski-Harabasz Index)
衡量类内紧密度与类间分离度;
CH值越大,聚类效果越好。
5. 优缺点
优点:简单、高效、适用于常规数据集。
缺点:
K值难以确定;
对初始中心点敏感;
难以识别非球形簇;
对噪声和异常值敏感。
三、课堂实践内容
集成学习:使用RandomForestClassifier对葡萄酒数据集进行分类。
聚类算法:使用make_blobs生成数据集,并用KMeans进行聚类分析。
四、总结
集成学习通过组合多个模型提升预测性能,主要包括Bagging、Boosting和Stacking三种策略;聚类算法如K-Means则用于无监督分组,依赖距离度量和迭代优化。两者分别适用于监督与无监督任务,是机器学习中重要且实用的方法