常见基模型
1. 线性模型(Linear Models)
- 特点:通过线性组合特征进行预测,适合处理线性关系。
- 常见类型 :
- 线性回归(Linear Regression)
- 逻辑回归(Logistic Regression)
- 岭回归(Ridge Regression)
- Lasso 回归(Lasso Regression)
- 适用场景:特征与目标变量之间存在线性关系,且数据维度较高时。
2. 支持向量机(Support Vector Machines, SVM)
- 特点:通过寻找最大间隔超平面进行分类或回归。
- 常见类型 :
- 线性 SVM(Linear SVM)
- 核 SVM(Kernel SVM,如 RBF 核、多项式核)
- 适用场景:适合高维数据和小样本数据,尤其是分类任务。
3. 神经网络(Neural Networks)
- 特点:通过多层非线性变换拟合复杂函数。
- 常见类型 :
- 多层感知机(MLP)
- 卷积神经网络(CNN)
- 循环神经网络(RNN)
- Transformer
- 适用场景:适合处理非线性关系和高维数据,尤其是图像、文本、语音等复杂数据。
4. 朴素贝叶斯(Naive Bayes)
- 特点:基于贝叶斯定理,假设特征之间相互独立。
- 常见类型 :
- 高斯朴素贝叶斯(Gaussian Naive Bayes)
- 多项式朴素贝叶斯(Multinomial Naive Bayes)
- 伯努利朴素贝叶斯(Bernoulli Naive Bayes)
- 适用场景:适合文本分类、垃圾邮件过滤等高维稀疏数据。
5. K 近邻(K-Nearest Neighbors, KNN)
- 特点:基于距离度量,通过邻居的标签进行预测。
- 适用场景:适合低维数据和小样本数据,尤其是分类任务。
6. 决策树(Decision Trees)
- 特点:通过递归分割特征空间构建树结构。
- 常见类型 :
- CART(Classification and Regression Tree)
- ID3(Iterative Dichotomiser 3)
- C4.5(改进的 ID3)
- 适用场景:适合处理非线性关系,且模型可解释性要求较高时。
7. 随机森林(Random Forest)
- 特点:通过集成多棵决策树进行预测,减少过拟合。
- 适用场景:适合处理高维数据和非线性关系,且对模型稳定性要求较高时。
8. 梯度提升树(Gradient Boosting Trees)
- 特点:通过逐步添加树模型拟合残差,优化目标函数。
- 常见类型 :
- XGBoost
- LightGBM
- CatBoost
- 适用场景:适合处理结构化数据,且对模型性能要求较高时。
9. 高斯过程(Gaussian Processes)
- 特点:通过高斯分布建模目标变量的分布。
- 适用场景:适合小样本数据和回归任务,尤其是需要不确定性估计时。
10. 贝叶斯网络(Bayesian Networks)
- 特点:通过概率图模型表示变量之间的依赖关系。
- 适用场景:适合处理不确定性和复杂依赖关系的数据。
11. 聚类模型(Clustering Models)
- 特点:通过无监督学习将数据分为若干簇。
- 常见类型 :
- K-Means
- 层次聚类(Hierarchical Clustering)
- DBSCAN
- 适用场景:适合无监督学习任务,如客户分群、异常检测等。
12. 主成分分析(Principal Component Analysis, PCA)
- 特点:通过线性变换将高维数据降维。
- 适用场景:适合数据降维和可视化,尤其是高维数据。
13. 隐马尔可夫模型(Hidden Markov Models, HMM)
- 特点:通过状态转移和观测概率建模序列数据。
- 适用场景:适合处理时间序列数据,如语音识别、自然语言处理等。
14. 因子分析(Factor Analysis)
- 特点:通过潜在变量解释观测变量之间的相关性。
- 适用场景:适合降维和探索性数据分析。
15. 混合模型(Mixture Models)
- 特点:通过多个概率分布的混合建模数据。
- 常见类型 :
- 高斯混合模型(Gaussian Mixture Models, GMM)
- 隐狄利克雷分布(Latent Dirichlet Allocation, LDA)
- 适用场景:适合聚类和生成模型任务。
总结
基模型一般包括:
- 线性模型(如线性回归、逻辑回归)
- 支持向量机(SVM)
- 神经网络(如 MLP、CNN、RNN)
- 朴素贝叶斯
- K 近邻(KNN)
- 决策树(如 ID3、C4.5)
- 随机森林
- 梯度提升树(如 XGBoost、LightGBM)
- 高斯过程
- 贝叶斯网络
- 聚类模型(如 K-Means、DBSCAN)
- 主成分分析(PCA)
- 隐马尔可夫模型(HMM)
- 因子分析
- 混合模型(如 GMM、LDA)
决策树(Decision Tree)
决策树(Decision Tree) 是一种常用的机器学习算法,既可以用于分类任务,也可以用于回归任务。它的核心思想是通过递归地划分特征空间,构建一棵树结构来对数据进行预测。决策树因其直观、易于理解和解释的特点,被广泛应用于各种领域。
1. 决策树的基本概念
- 树结构 :
- 决策树由节点(Node)和边(Edge)组成。
- 根节点:树的起始点,包含所有样本。
- 内部节点:表示一个特征或属性的测试条件。
- 叶子节点:表示最终的预测结果(分类标签或回归值)。
2. 决策树的构建过程
(1)选择最佳分裂特征
- 决策树的核心是如何选择最佳特征进行分裂。
- 常用的分裂准则包括:
- 信息增益(Information Gain) :选择使信息增益最大的特征。
- 信息增益 = 父节点的熵 - 子节点的加权平均熵。
- 信息增益比(Gain Ratio):对信息增益进行归一化,避免偏向取值较多的特征。
- 基尼指数(Gini Index) :选择使基尼指数最小的特征。
- 基尼指数表示数据的不纯度,值越小表示纯度越高。
- 信息增益(Information Gain) :选择使信息增益最大的特征。
(2)递归分裂
- 对每个子节点重复上述过程,直到满足停止条件。
- 常见的停止条件包括:
- 节点中的样本全部属于同一类。
- 树的深度达到预设的最大值。
- 节点中的样本数少于预设的最小值。
3. 决策树的类型
(1)分类树(Classification Tree)
- 用于分类任务,叶子节点输出类别标签。
- 常用算法:
- ID3(Iterative Dichotomiser 3):使用信息增益作为分裂准则。
- C4.5:使用信息增益比作为分裂准则。
- CART(Classification and Regression Tree):使用基尼指数作为分裂准则。
(2)回归树(Regression Tree)
- 用于回归任务,叶子节点输出连续值。
- 常用算法:
- CART:通过最小化均方误差(MSE)选择最佳分裂点。