1.4 数据标注【斯坦福21秋季:实用机器学习中文版】

数据的标注
本节课主要讲数据如果没有足够的标注(label), 该怎么办.

最理想的情况就是你有足够的数据与足够的标注(label)
数据不够就去补数据,可以参考之前的课程.
而你如果想要改善数据的标注(label):
1. 当你已经有一部分标注,可以使用半监督学习
2. 如果你的标志不够多, 但你有钱, 可以花钱去众包, 找人来标注.
3. 如果你的标注不够, 但你又没钱,你需要弱监督学习
4. 实在不行, 用无监督学习方法
================如果已经有一部分的标注了======================
半监督学习

半监督学习适用于标注不完整的数据集.
半监督学习的假设
1. 连续性假设: 样本特征类似则标签也类似
2. 聚类假设: 数据存在内在的类别, 同一类的数据具有相同的标签
3. 流型假设: 数据实际上是一个低维度的流型(manifold).
半监督学习简单常用案例: 自学习self-training

自学习的简单过程:
1.通过有标注的数据建立一个模型,
2. 用这个模型对未标注的数据来产生一个标签(label)
3. 只保留其中质量最好的标签
4. 并将这些数据加到已标注数据内.
自学习过程中的模型需要优先考虑标注的准确性.
可以使用一些消耗大的模型.
自学习模型生成的标签. "质量好"指的是,分类中有一类占据绝对优势. (低熵)
====================如果你钱多=======================
标注不够,绝大部分时候都是花钱招人标注数据(众包)
就是花钱在网上雇人给你人工标注数据.

用众包来标注数据,给你标数据的人教育水平参差不齐, 工作态度也可能大相径庭,
所以你需要考虑:
1. 用户界面尽量方便易懂,
2. 成本,
3. 质量控制, 需要想办法来确保标注的质量

主动学习Active learning : 人工帮助下生成标注

类似于半监督学习,但每一步把机器不能确定的数据给人来区分.
常常和半监督学习结合起来
也是使用部分标注好的数据建立模型,
但是在给给未标注数据加标签的时候.
这些数据按照标签质量好坏分成两个去处.
质量好的加入标注好的数据
质量不好的给人工去标注
质量控制

这个部分比较难, 也灵活.
大体思路是要降低成本
因为你如果把一个数据分给多个人去标注总是最好的,但也是最贵的.
======================如果你没足够的标注,也没钱: ======
弱监督学习 Weak Supervision

弱监督的弱, 指生成的标注比人工结果要差,但能用来训练数据.
这个方法是比较新, 而且看来也并没有一个成文的标准
简单的说,比如判断广告的时候使用关键词搜索.
或者是文本的一些模式匹配.
或者白嫖其他人的模型.
总结
数据中标注(label)不够多怎么办?
如果你有一部分的标签,
那么用这些标签去建立模型自学习(self-training)来生成更多标签
或者花点钱去,众包在网上找人给你人工标注, 人工标注和自学习可以结合起来使用
再其次就是你依照一些先验的知识来建立启发式的规则,生成一些质量不如人工,但是可以用来训练模型的标签
再不行就可以去考虑一些无监督学习方法
.
