机器学习复习与评估指标解析
1. Softmax函数的深入理解
Softmax函数在机器学习中有着广泛的应用。它既可以作为输出层分数的归一化方法,也能直接作为输出层的激活函数。在使用Softmax时,关于底数和温度的选择会以不同方式影响数据分布。很多人存在误解,认为以e为底数在生成置信度方面有特殊属性,或者认为底数的选择不会改变不确定性的排名顺序。实际上,真正理解Softmax的工作原理有助于我们选择合适的不确定性采样策略。
为避免指数运算时出现溢出问题,有两种处理方法:
- 从输入中减去一个常数,使输入中的最大值为0,这样能在不改变概率分布的情况下避免溢出。
- 使用Softmax的对数形式(如PyTorch的默认行为),可以控制数值范围。
2. 人机协作机器学习系统的评估指标
评估人机协作机器学习系统的成功与否有多种方法,具体使用的指标取决于任务本身。以下是一些重要的评估指标:
2.1 精确率、召回率和F值
-
精确率(Precision)
:衡量模型预测为正例的样本中,真正为正例的比例。计算公式为:
[
\text{Precision} = \frac{\text{True Positives}}{\text{True Positives} + \text{False Positives}}
] -
召回率(Recall)
:衡量实际为正例的样本中,被模型正确预测为正例的比例。计算公式为:
[
\text{Recall} = \frac{\text{True Positives}}{\text{True Positives} + \text{False Negatives}}
] -
F值(F - score)
:是精确率和召回率的调和平均值,计算公式为:
[
\text{F - score} = \frac{2 \times \text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}
]
当使用简单准确率且标签稀有,大部分准确率会由大量的真负例决定。为调整这种不平衡,可以使用机会调整准确率,后续会详细介绍。
2.2 微观和宏观精确率、召回率和F值
精确率、召回率和F值的计算通常是针对数据中的某个标签。将每个标签的准确率合并为一个单一准确率得分有两种常见方法:
-
微观得分(Micro scores)
:在每个样本层面聚合准确率,为每个样本进行计算。
-
宏观得分(Macro scores)
:独立计算每个标签的准确率。
如果某个标签比其他标签更频繁,该标签的频率对微观精确率、微观召回率和微观F值的贡献最大。在某些情况下,这可能是我们想要的结果,因为它给出了一个由测试数据中标签加权的准确率数字。但如果测试数据在模型部署时遇到的标签上不平衡,或者希望模型在预测所有标签时都具有相同的准确性,无论标签频率如何,宏观准确率得分更合适。
2.3 机会调整准确率
考虑随机机会的影响,机会调整准确率将随机机会的准确率设为0,并相应地缩放得分。例如,有两个频率相等的标签,模型随机预测标签的准确率为50%。如果模型在该任务上的准确率为60%,则机会调整准确率为:
[
\text{Chance - adjusted accuracy} = \frac{60\% - 50\%}{1 - 50\%} = 20\%
]
机会调整准确率虽然不常用于评估模型预测的准确性,但广泛用于评估人工标注的准确性。当不同标签的频率差异较大时,机会调整准确率更有用。
2.4 考虑置信度的ROC曲线下面积(AUC)
除了模型预测标签的准确率,我们还关心置信度与准确率是否相关,因此可以计算ROC曲线下面积(AUC)。ROC曲线根据模型的置信度对数据集进行排序,并计算真阳性率与假阳性率。
AUC是ROC曲线下的面积占整个可能面积的百分比,也表示任意两个不同标签的随机选择项中,正确标签以更高置信度被预测的概率。计算AUC的公式为:
[
\text{AUC} = \frac{\sum_{i = 1}^{\text{size}(r)} \sum_{j = 1}^{\text{size}(r)} \begin{cases} 1, & \text{if } i > j \ 0, & \text{otherwise} \end{cases}}{\text{size}(r) \times \text{size}(u)}
]
该算法的复杂度为$O(N^2)$,如果需要加快计算速度,可以先对项进行排序,并递归找到排序位置,复杂度为$O(N \log(N))$。同时,还可以计算微观和宏观AUC:
-
微观AUC
:计算所有标签下所有样本的AUC。
-
宏观AUC
:分别计算每个标签的AUC,然后取平均值。
2.5 模型错误发现数量
在机器学习模型可能出现错误时将任务交给人类处理的系统中,可以统计发现的错误数量。例如,将置信度低于50%的预测视为可能的错误,并将这些预测交给人类审核。可以通过以下公式计算被标记为需要人类审核的项目中需要纠正的百分比:
[
\text{Percent errors} = \frac{\text{Number actual errors}}{\text{Number sampled}}
]
还可以计算所有错误的百分比,以得到人类和模型预测的总准确率;或者计算每小时或每分钟发现的错误数量,这在人类处理时间固定的情况下更有意义。
2.6 节省的人力成本
另一种计算人力成本的方法是衡量节省的时间和精力。无论是使用主动学习更明智地选择要标注的项目,还是改进标注的质量控制和界面,提高人机协作系统中人类部分的效率、准确性和用户体验可能比小幅提高模型的准确性更重要。
例如,主动学习可以将所需标签数量减少53%,而在该点的准确率差异约为20%。如果从算法背景的角度来看,通常更习惯看准确率(y轴);但如果比较同一算法在不同数据集上的表现,所需标签数量(x轴)的数字更重要。
3. 其他评估指标
除了上述标准的评估指标外,还有一些特定于机器学习的准确率指标未详细介绍,如用于语言生成的双语评估辅助指标(BLEU)、用于目标检测的交并比(IoU)、按人口统计的准确率以及用于人工标注的机会调整一致性等。
以下是一个简单的流程图,展示了评估人机协作机器学习系统的主要步骤:
graph LR
A[选择评估指标] --> B[计算精确率、召回率和F值]
A --> C[计算微观和宏观得分]
A --> D[计算机会调整准确率]
A --> E[计算AUC]
A --> F[统计模型错误发现数量]
A --> G[计算节省的人力成本]
B --> H[分析结果]
C --> H
D --> H
E --> H
F --> H
G --> H
通过这些评估指标,我们可以更全面地了解人机协作机器学习系统的性能,从而做出更合理的决策。
机器学习复习与评估指标解析
4. 主动学习相关内容
主动学习是一种重要的机器学习策略,具有广泛的应用场景和多样的实现方式。
4.1 主动学习的应用领域
- 信息检索 :将主动学习应用于信息检索,能够提高检索的准确性和效率。通过选择更有代表性和不确定性的样本进行标注,使模型更好地适应不同的检索需求。
- 语言生成 :在语言生成任务中,主动学习可以从多个方面提升性能。例如,通过不确定性采样选择模型不太确定的样本进行标注,提高生成文本的质量;利用多样性采样确保生成的文本具有更广泛的风格和内容;还可以运用主动转移学习,让模型更好地适应新的语言生成任务。
- 目标检测 :主动学习在目标检测中的应用包括考虑更紧密的掩码(当使用多边形时)、创建与预测相似的训练数据样本、进行图像级别的多样性采样等。同时,通过设置较低的目标检测阈值可以避免偏见的延续。例如,在标注目标时,对于不确定的目标可以使用较低的阈值,然后交给人类进行审核。
- 语义分割 :在语义分割任务中,主动学习有助于提高分割的准确性。通过主动转移学习,让模型更好地学习不同的语义信息;利用多样性采样确保训练数据涵盖各种不同的场景和物体。
- 序列标注 :主动学习可以应用于序列标注任务,如通过不确定性采样选择模型不确定的序列进行标注,通过多样性采样确保标注的序列具有不同的特征。同时,还可以进行全序列标注和按置信度和标记进行分层采样。
4.2 主动学习的采样策略
- 不确定性采样 :通过选择模型不确定的样本进行标注,提高模型的性能。例如,使用贝叶斯模型进行不确定性采样,或者使用基于熵的采样方法。
- 多样性采样 :确保选择的样本具有多样性,避免模型只学习到局部的特征。多样性采样可以通过聚类算法实现,如基于聚类的采样方法,包括k - 均值聚类和余弦相似度计算。
- 代表性采样 :选择具有代表性的样本进行标注,使模型能够更好地学习到数据的整体特征。代表性采样可以分为简单代表性采样和自适应代表性采样。
4.3 主动学习的组合策略
为了进一步提高主动学习的效果,可以将不同的采样策略进行组合:
-
结合不确定性采样和多样性采样
:例如,将最小置信度采样与基于聚类的采样相结合,或者将不确定性采样与基于模型的异常值采样相结合。
-
预期误差减少采样
:通过预测样本的误差,选择能够最大程度减少模型误差的样本进行标注。
4.4 主动学习的评估
评估主动学习的成功与否需要考虑新的测试数据和验证数据。同时,还需要对模型的预测和数据进行解释,如通过置信度排名、识别异常值等方式。
以下是一个表格,总结了主动学习在不同应用领域的主要策略:
| 应用领域 | 主要策略 |
| ---- | ---- |
| 信息检索 | 不确定性采样、多样性采样 |
| 语言生成 | 不确定性采样、多样性采样、主动转移学习 |
| 目标检测 | 紧密掩码、多样性采样、主动转移学习 |
| 语义分割 | 主动转移学习、多样性采样 |
| 序列标注 | 不确定性采样、多样性采样、全序列标注 |
5. 标注相关内容
标注是机器学习中不可或缺的环节,涉及到数据的创建、质量控制等多个方面。
5.1 标注人员类型
- 众包工人 :通过众包平台招募的工人,具有数量多、成本相对较低的特点。但需要注意保障他们的工作安全、薪酬和职业发展。
- 内部专家 :由公司内部员工组成的标注团队,对业务有更深入的了解,但成本相对较高。
- 最终用户 :将最终用户作为标注人员,可以获得更贴近实际使用场景的标注数据,但需要考虑用户的参与度和标注质量。
5.2 标注数据的创建与管理
- 数据创建 :包括数据收集、数据增强和合成数据等方法。数据增强可以通过对原始数据进行变换,如旋转、翻转等,增加数据的多样性;合成数据可以使用生成对抗网络(GANs)等方法生成。
- 标注难度与质量 :高质量的人工标注具有一定的难度,需要考虑标注的准确性和一致性。可以通过设置质量控制机制,如专家审核、多标注员评价等方式来提高标注质量。
5.3 标注信息的融入
将标注信息融入机器学习模型可以提高模型的性能。例如,通过过滤或加权具有不同置信度的标签,将标注员的身份信息作为输入,或者将不确定性融入损失函数等方法。
以下是一个流程图,展示了标注的主要流程:
graph LR
A[确定标注任务] --> B[选择标注人员]
B --> C[数据收集与准备]
C --> D[进行标注]
D --> E[质量控制]
E --> F[标注信息融入模型]
F --> G[模型训练与评估]
通过对主动学习和标注相关内容的了解,我们可以更好地构建和优化机器学习系统,提高模型的性能和实用性。在实际应用中,需要根据具体的任务和数据特点选择合适的策略和方法。
超级会员免费看
1910

被折叠的 条评论
为什么被折叠?



