### 多元线性回归 (Multiple Linear Regression)
**特点**:
- 预测变量和多个解释变量之间的线性关系。
- 方程形式:\( Y = \beta_0 + \beta_1X_1 + \beta_2X_2 + ... + \beta_nX_n + \epsilon \)。
**优势**:
- 简单易用,计算复杂度低。
- 易于解释,每个变量的系数表示其对预测变量的影响。
**局限性**:
- 假设线性关系,不能捕捉非线性模式。
- 对异常值敏感。
- 多重共线性问题,变量之间高度相关时,系数不稳定。
### 逻辑回归 (Logistic Regression)
**特点**:
- 预测二分类或多分类结果。
- 使用逻辑函数将线性组合映射到0和1之间。
**优势**:
- 输出概率,易于解释。
- 适用于分类任务,尤其是二分类问题。
- 计算效率高。
**局限性**:
- 假设线性决策边界,不能处理复杂的非线性关系。
- 对异常值敏感。
- 对特征缩放敏感,可能需要标准化处理。
### K-means
**特点**:
- 非监督学习算法,用于聚类分析。
- 通过迭代优化簇中心,最小化簇内样本到中心的距离平方和。
**优势**:
- 简单高效,易于理解和实现。
- 适用于大规模数据集。
**局限性**:
- 需要预先指定簇的数量K。
- 对初始簇中心敏感,可能导致局部最优。
- 只能找到球形簇,不能处理复杂形状的簇。
### DBSCAN (Density-Based Spatial Clustering of Applications with Noise)
**特点**:
- 基于密度的聚类算法。
- 通过估计样本密度,识别核心点、边界点和噪声点。
**优势**:
- 不需要指定簇的数量。
- 能够识别任意形状的簇。
- 对噪声数据有较好的鲁棒性。
**局限性**:
- 参数敏感,特别是半径参数(epsilon)和最小点数(minPts)。
- 在高维数据中表现不佳。
### GBDT (Gradient Boosting Decision Trees)
**特点**:
- 集成学习方法,通过构建一系列弱学习器(决策树)提升模型性能。
- 每棵树根据前一棵树的残差进行训练。
**优势**:
- 强大的预测能力,适用于回归和分类任务。
- 可以处理各种数据类型。
- 能够捕捉非线性关系。
**局限性**:
- 训练时间较长,尤其是深度较大的树。
- 对参数设置较为敏感。
- 易于过拟合,需要使用正则化等技术。
### XGBoost
**特点**:
- GBDT的扩展和优化版本,使用优化的梯度提升框架。
- 提供了并行处理、缓存优化等技术。
**优势**:
- 更高效,速度更快。
- 内置交叉验证,自动处理缺失值。
- 具有正则化项,减少过拟合。
**局限性**:
- 参数复杂,调参过程繁琐。
- 内存消耗较大。
### Random Forest
**特点**:
- 集成学习方法,通过构建多棵决策树进行训练和预测。
- 每棵树都在样本和特征子集上训练。
**优势**:
- 强大的预测能力,适用于回归和分类任务。
- 抗过拟合能力强,稳定性高。
- 能够处理大量特征,自动进行特征选择。
**局限性**:
- 训练时间和预测时间较长。
- 对于高维稀疏数据表现不佳。
### LightGBM
**特点**:
- 基于决策树的梯度提升框架,优化了XGBoost。
- 使用基于直方图的方法加速训练。
**优势**:
- 更快的训练速度和更低的内存消耗。
- 能够处理大规模数据。
- 支持类别特征处理。
**局限性**:
- 对参数设置较为敏感。
- 在少量数据集上表现不佳。
### CNN (Convolutional Neural Networks)
**特点**:
- 深度学习模型,擅长处理图像数据。
- 包含卷积层、池化层和全连接层。
**优势**:
- 能够自动提取图像特征,减少手工特征工程。
- 适用于大规模图像分类、目标检测等任务。
**局限性**:
- 需要大量数据进行训练。
- 训练过程计算资源需求高。
### RNN (Recurrent Neural Networks)
**特点**:
- 适用于处理序列数据的神经网络。
- 通过隐藏状态捕捉时间依赖关系。
**优势**:
- 能够处理时间序列、文本等序列数据。
- 适用于语音识别、文本生成等任务。
**局限性**:
- 存在梯度消失和梯度爆炸问题。
- 训练时间较长,对长序列数据效果不佳。
### LSTM (Long Short-Term Memory Networks)
**特点**:
- RNN的变种,通过引入门控机制解决梯度消失问题。
- 包含输入门、遗忘门和输出门。
**优势**:
- 能够捕捉长时间依赖关系,适用于长序列数据。
- 在时间序列预测、机器翻译等任务中表现优异。
**局限性**:
- 模型复杂度较高,训练时间长。
- 对参数设置和数据预处理较为敏感。