简单的机器学习, 就是把人类的学习方式教给机器 ---- 斯? \cdot ? 沃索迪.
1. 任务的提出
- 单标签学习
假设你不知道河豚长什么样子. 给你 1000 张照片, 并标注哪些有河豚. 再给你 100 张新的照片, 你能判断哪些照片里面有河豚吗?
本例中, 从 1000 张带标签的照片中, 学习到识别河豚的知识, 这个过程就叫做 单标签学习.
河豚是 标签, 带标注的照片统称 训练集, 学习的过程称为 训练. 学习的结果是能够进行河豚识别的 模型. - 多标签学习
一个照片中可能有多种动物, 现在的任务是将它们全部识别出来, 这个过程就叫做 多标签学习.
如: 根据某张照片, 机器不确定里面的动物是 <猫和海狸> 还是 <猫和老鼠>. 由于在训练集中 <猫和老鼠> 更出现次数更多, 模型更愿意做出相应的判断. 在这里, <猫和老鼠> 的相关性, 称为 标签相关性.
因此, 如何有效地利用标签相关性进行模型的训练, 是多标签学习的核心问题.
同时注意, 标签间不但可以正相关, 还可以互斥, 如 <北极甜虾和小丑鱼>.
2.2 技术 1: 结合关联规则 从训练集中, 挖掘动物的成对相关性 (如: 猫与老鼠, 猫与河豚), 如: 60 张图片中有猫, 200 张图片里面有老鼠, 50 张图片同时有猫和老鼠, 则出现猫的时候很可能有老鼠 ( 5 6 ≈ 83.3 % \frac{5}{6} \approx 83.3\% 65?≈83.3%), 但反之不然 ( 50 200 = 25 % \frac{50}{200} = 25\% 20050?=25%).
需要注意: 这类信息仅仅是对图片识别结果的一种补充、校正, 而不能代替前者.
还可以挖掘高阶关联, 如: 已知出现猫和狗, 再出现老鼠的可能性有多大?
相应的方法, 都可看作是与关联规则挖掘的结合.
3. 扩展问题: 带标签缺值的学习 3.1 问题的提出 【机器学习基础|多标签学习之白话版】前面假设训练集的标签是完整的, 即我们知道每张照片里面有哪些动物. 但在实际数据中, 仅有少量标签是已知的. 例如: 总共的标签数是 2000 (实际动物类别比这个还多), 但某张图片的标签信息仅为: 有猫、狗、老鼠, 没有河豚、海狸鼠, 其它的不知道有没有. 这是因为打标签需要人工完成, 全部标签信息给出太累了! 另外, 不同的照片, 给的标签不同, 这是因为打标注的人有自己更为熟悉的动物.
如何从具有大量缺失标签的数据集中学习到有效的模型, 是多标签学习通常面临的挑战.
3.2 方案 1: 缺失值填补 采用缺失值填补的方式, 将训练集的标签数所都补上, 然后就可以使用已有的多标签学习方式.
可使用矩阵分解, 我还没想好如何用白话来解释.
3.2 方案 2: 忽略缺失值 如里使用神经网络作为预测模型, 只需要在缺失值相对应的损失设为 0 即可. 这个我也没想好如何写成白话.
未完待续
推荐阅读
- Keras|从零开始TensorFlow---利用Keras 搭建CNN网络
- 其它经验|SMALE 实验室投稿期刊选择
- NLP|Raki的NLP竞赛topline解读(NBME - Score Clinical Patient Notes)
- 超分辨率技术AI人工智能老照片修复自动人像脑补照片高清重建人脸模糊图片变清晰软件
- 深度学习|神经网络之激活函数
- 人工智能|隐马尔可夫模型基础介绍
- ★MATLAB算法仿真经验|在隧道内放置多个地感线圈,车辆通过时、对通过的相邻两个线圈的脉冲信号数据进行实时采集,首先利用云模型算法,计算得到车速
- python|numpy刷题——02
- opencv|OpenCV imread报错 error: (-215) size.width > 0 && size.height > 0 in function