天天看点

机器学习---模型的稳定性

参考: https://zhuanlan.zhihu.com/p/27787096

针对原文内容进行了抽取,加深自身的印象,详细参考原文。

1. 计算的稳定性(Computational Stability)

计算稳定性特指模型运算性能的鲁棒性(Robustness)。

  • 1.1 下溢和上溢:位数超出了计算机可承载范围,
    下溢: 例如,x个小数相乘,则小数位可能失去精度。
    上溢:例如,x个整数相乘,正数位数溢出
               
  • 1.2 平滑与0
    朴素贝叶斯中平滑操作, 拉普拉斯平滑,防止概率连乘时,某个概率为0,导致整体概率为0.
               
  • 1.3 算法稳定性与扰动
    机器学习模型中个,考虑算法对于数据扰动的鲁棒性。“模型的泛化由误差(Bias)和方差(Variance)共同决定,而高方差是不稳定性的罪魁祸首”。也就是: 输入发生微小变化,输出产生巨大变化, 则说明算法不稳定。
    
    机器学习,中间处理的其他算法也可能存在这样的情况:
    1)矩阵求逆工程不稳定,一般避开矩阵求逆。
    2)神经网络批量学习: 错误的学习率和批量尺寸导致不稳定的学习过程。当小批量进行学习,小样本中的高方差导致学到的梯度不精确,这种情况,应该使用小学习速率。 相反,当批量尺寸选的较大,则可以使用较大的速率。
    3) 决策树:属于不稳定的模型。训练数据中微小改变可能改变决策树的结果。为了解决稳定性,出现了集成学习。
    SVM模型相对稳定。
               

2. 数据稳定性

数据稳定性取决于其方差(Variance)
           
  • 2.1 独立同分布(IID)与泛化能力
    模型能获得强泛化能力数据保证就是其训练数据是独立同步分从母体分布上采样而得。
    一般训练数据足够稳定,需要:
       1. 训练数据越多越好,降低数据中的偶然性
       2. 确保训练数据和母体数据及月数据来自于一个分布。
    因此数据稳定性的基本前提就是: 独立同分布,且数量越多越好。 稳定数据可以保证模型的经验误差约等于器泛化误差。
               
  • 2.2 新常态: 类别不平衡
    当我们采用, 过采样,欠采样时,注意数据的稳定性。是否带来了过高的方差Variance
               

3. 性能的稳定性

评估机器学习模型的稳定性,和评估机器学习的表现有本质不同。不能简单通过准确率平局机器学习稳定与否。
1)交叉验证太慢
2) 统计计算理论对算法进行分析: 概率近似正确框架(PAC)。 界限出错框架(MBF)
           

然而,在稳定之外,对于未知领域的探索,才是创新。因此放宽“稳定”的界限,不断探寻真理的边界,是我辈知识分子对于这个动荡未知世界所能表达的最后的人文关怀。

继续阅读