传统机器学习算法优缺点对比

一、线性回归

a、优点

1. 实现简单,计算高效
2. 可以处理连续值和离散值特征
3. 可以通过正则化控制模型复杂度

b、缺点

1. 对非线性关系拟合能力有限
2. 对异常值敏感,通常需要WOE编码
3. 对特征之间存在共线性时,结果可能不稳定

c、损失函数
均方误差(MSE):loss(y, F) = (1/n) * Σ(y - F)^2

d、优化求解方法:
最小二乘法、梯度下降等

二、逻辑回归

a、优点

1. 应用广泛,可解释性强,特征量化能力强
2. 输出结果表示概率,部署极简单可通过sql实现
3. 可通过WOE编码提供非线性

b、缺点

1. 特征工程要求较高,容易过拟合,需添加惩罚项
2. 需要处理缺失值和异常值
3. 需要大量样本支持模型训练
c、损失函数
对数损失函数:loss(y, p) = -[y * log(p) + (1 - y) log(1 - p)]

d、优化求解方法:
梯度下降、牛顿法等

三、决策树
a、优点
1. 简单直观,具有可解释性
2. 可以处理离散型和连续型特征
3. 可以处理多输出问题

b、缺点
1. 容易产生过拟合
2. 对数据中的噪声比较敏感
3. 训练速度较慢
c、损失函数
基尼不纯度:Gini(p) = 1 - Σ(p_i^2)
信息熵:Entropy(p) = -Σ(p_i * log2(p_i))

d、优化求解方法:
根据特征切分数据集,通过信息增益或基尼不纯度进行判断

四、SVM

a、优点
1. 在高维空间中有效,对于非线性问题表现好
2. 可以通过核函数灵活适应不同数据结构
3. 可以处理高维特征空间,具有较好的泛化能力
b、缺点
1. 模型解释性较差
2. 对参数的选择比较敏感
3. 卡方核、多项式核,径向基函数(RBF)和sigmoid和函数选择难
c、损失函数
Hinge Loss:loss(y, f) = max(0, 1 - y*f)
d、优化求解方法:
根据支持向量确定超平面,通过凸优化求解


五、朴素贝叶斯

a、优点
1. 算法简单,速度快
2. 对缺失数据和噪声的鲁棒性较好

b、缺点
1. 对特征之间依赖关系敏感
2. 特征独立性假设条件难以满足
c、损失函数
各种不同的损失函数,如多项式分布、伯努利分布等
d、优化求解方法:
根据样本特征条件独立性假设,利用贝叶斯公式推导求解

六、Random Forest

a、优点
1. 具有较高的准确性
2. 对噪声和离群值具有一定鲁棒性
3. 能够评估变量的重要性
b、缺点
1. 模型解释性相对较差
2. 训练时间较长
3. 需要更多存储空间和内存


c、损失函数
不直接使用损失函数,通过集成多个决策树进行优化
d、优化求解方法:
通过自助采样构建每个决策树的训练集


七、GBDT
a、优点
1. 在处理非线性关系上表现良好
2. 可以处理连续值和离散值特征
3. 关注错分样本,精度比随机森林高
b、缺点
1. 容易过拟合,需调整参数多
2. 对于高维稀疏数据集不适用
3. 训练速度较慢

c、损失函数

MSE
交叉熵损失:
二分类时等价对数损失
多分类时等价Softmax损失函数
Softmax Loss(y, P) = -Σ(y * log(P))
泰勒一阶展开

d、优化求解方法:
梯度下降,通过拟合负梯度方向上的残差进行优化

八、XGBoost
a、优点
1. 结合了梯度提升算法和正则化技术
2. 支持并行计算和分布式训练
3. 使用了预排序技术和近似算法加速训练过程

b、缺点
1. 相对于传统的GBDT算法复杂度较高
2. 对超参数调整要求较高
3. 调参速度较慢如gridsearch
4. 防止过拟合需添加L1,L2正则项
c、损失函数
MSE
交叉熵损失
泰勒二阶展开

d、优化求解方法:

牛顿,拟牛顿法,使用梯度提升算法和近似贪婪算法进行优化
九、LightGBM

a、优点
1. 采用直方图加速,训练速度比XGBoost快
2. 类别特征可直接使用,缺失值无需单独处理
3. 提供了特征选择和模型调参的便利功能
b、缺点
1. 对稀疏数据集支持较弱,可能需要转换格式
2. 在小规模数据集或特征较少时性能优势不明显
3. 防止过拟合需添加L1,L2正则项

c、损失函数
MSE
交叉熵损失
d、优化求解方法:
基于直方图的决策树学习算法

十、BP神经网络

a、优点
1.非线性建模能力强
2.适用于大规模问题
3.自动特征提取,共线性影响小
b、缺点
1.参数调整困难
2.模型解释性差
3.容易过拟合,需添加dropout,batch normalization,Early Stopping,Early Termination等

c、损失函数

MSE
交叉熵损失

d、优化求解方法:
梯度下降、动量法、自适应学习率方法

 

 

posted @ 2023-10-23 15:25  glowwormss  阅读(305)  评论(0编辑  收藏  举报