分类和识别是机器学习领域非常常见的一类问题,比如之前非常火热的 ImageNet 挑战赛,还有人脸识别,人脸表情识别等,接触机器学习的一般来说,都是从识别开始,因为识别比较简单直观,而且大家都对目前识别领域比较常见的几个数据集比如 MNIST, CIFAR-10, CIFAR-100 还有 ImageNet 等都比较熟悉了,这些都是为了解决分类识别问题而设计的数据集。

随着深度学习的蓬勃发展,在分类识别领域,又分化出来很多不同的方式,虽然这些概念在深度学习出来之前,就已经有了,但是有了深度神经网络结合大数据,以前的这些概念又被重新翻出来,不管是新瓶装旧酒,还是焕发了第二春,反正这些概念最近又开始被吵的火热了,什么 few-shot learning, zero-shot learning, incremental-learning,meta-learning 之类的又开始受到了越来越多的关注。虽然这些概念不仅仅用于分类识别,不过用分类识别问题来解释这些概念简单直白。

一般来说,给定一个数据集 X={xi}i=1N\mathcal{X}=\{ \mathbf{x}_i \}_{i=1}^{N}X={xi​}i=1N​,这个数据集属于 KKK类,假设标签空间为Y={yj}j=1N\mathcal{Y}=\{ \mathbf{y}_j \}_{j=1}^{N}Y={yj​}j=1N​,x\mathbf{x}x 一般表示为图像,比如手写数字的MNIST数据集,一张图就是一个数字比如 0, 1, 2, 3, 4 等等,或者ImageNet 的图像,一张图表示某一个物体,比如猫啊, 狗啊什么的,y\mathbf{y}y 表示一个标签,就是我们常说的 one-hot 向量,比如 MNIST 的标签是 10 维的向量,ImageNet 的标签是 1000 维的向量, 只有一个位置是1,其他位置都是0,每个类的标签按列拼在一起,就可以组成一个标准的单位矩阵。分类问题,简单来说,就是把属于同一类的图像聚到一起,都是手写数字 0 的图像,应该都归为一类,都是手写数字 2 的图像,应该归为另外一类,不能把手写数字 8 的图像,归到 0 这一类,所以分类问题,简单来说,就是物以类聚。

从数学的角度上来说,分类识别就是图像到标签的一个映射过程 :

X⇒Y\mathcal{X} \Rightarrow \mathcal{Y} X⇒Y

说了这么多,我们把什么是分类识别问题解释了,现在来看看,经过这么多年的发展,学术界把分类识别问题又做了不同的划分,根据不同的设定,着手解决不同的问题,归纳起来,主要有以下几类:

  • 有监督学习(supervised learning)
  • 无监督学习(unsupervised learning)
  • 半监督学习(semi-supervised learning)
  • 小样本学习(few-shot learning)
  • 零样本学习(zero-shot learning)
  • 增量学习(incremental learning)
  • 元学习(meta-learning)
  • open question (classification in the real-world, open environment)

有监督学习

有监督学习,应该是最常见,发展最成熟的一种分类识别问题了,所谓的有监督,那就是类别的标签是已知的,目前学术界研究的大多数分类识别问题都属于这一类,所以我们见到的数据集一般都是带着标签的,这类问题,都是希望找到一个映射,图像空间到类别空间的一个映射,借着类别标签的 “指引”,把同一类的图像尽可能的映射到一块,聚在一起,因为有标签的“指引”,所以这类问题,相对来说比较容易解决,特别是随着深度神经网络与算力的发展,各大从前的榜单都在被不断刷新,ImageNet 火了几年之后,也不再举办了,估计这榜再刷下去也没什么意思了,有监督学习,发展到现在,越来越像在烧钱,比拼的是数据和计算资源。

无监督学习

有监督学习,正如上面说的,需要有标签做“指引”,所以需要很多有标签的数据,而且深度学习需要消耗大量的数据,有标签的数据越来越难获取,需要消耗大量的人力与物力。所以,就有人想,能不能研究一种学习模式,可以不需要类别标签,也能让模型学会分类,所以就发展出了所谓的无监督学习,无监督学习,顾名思义,是不需要类别标签做“指引”的, 直接从数据图像中寻找每一类内在的联系,把同一类图像的特征耦合在一起,不过,到目前为止,这类无监督学习的效果一直不太理想,没有标签的指引,模型好像很难学好。

半监督学习

介绍了有监督学习和无监督学习,接下来介绍半监督学习,半监督学习结合了有监督学习和无监督学习,半监督学习,既不需要有监督学习那么多的有标签数据,不过与无监督学习相比,又多了一些标签数据做 “指引”,所以基本上一种把有标签数据和无标签数据混合在一起学习的一种模式。

小样本学习 (Few-shot learning)

小样本学习,在深度学习火热起来之前,也有一些人研究,最近两年,这个课题又开始受到越来越多的关注,小样本学习,应该还是属于有监督学习的一种,只是与常规的有监督学习相比,每一类的有标注的数据非常少,学术界经常说的的 1-shot, 5-shot 等等,就是说每一类都只有一个或者五个有标签的样本,这个课题的起源,是为了更好的研究模拟人的认知能力,因为人去学习识别一个东西,是不需要去看那么多的有标签的数据的,不过,从目前学术界发表的研究成果来看,基本还是基于 metric-learning 或者 meta-learning 的方式,利用 迁移学习的概念,先在大量的有标签的数据上训练网络,让网络学到一种有效的特征提取或者学到一套有效的模型参数,然后再在小样本数据集上进行训练。目前,这个方向发表出来的结果,在 Mini-Image Net 上的识别率还不是很高,还有进一步的提升空间。

零样本学习 (Zero-shot learning)

零样本学习,是比小样本学习更进一步,最近两年也变得火热起来了, 所谓零样本,那就是完全不需要样本的参考,而去推断识别新的类别,这个研究目前还处于起步阶段,用到的最多的方式,就是基于属性的识别,可以把每个类别进一步拆分成很多个不同属性的组合,某些属性的组合,可能就大概率的对应某个类别,所以,虽然新的类别,没有带标签的样本,但是,从之前的数据集上,可以让模型先学习识别不同的属性,碰到新样本的时候,先识别出该样本的属性,然后再结合不同的属性,进而判断出该样本属于什么类。

增量学习 (Incremental learning)

这个也是目前比较火热的一个研究方向,所谓增量学习,与之前见识的学习问题不太一样,早期的分类识别,都假设类别是已知的,并且是固定的,也就是说,我们会先分好训练集,测试集,并且知道训练集与测试集的类别都是已知的,但是增量学习,提出了另外一种学习问题,在真实的环境中,数据肯定不是一次性就全部给定的,而是在逐渐增加的,逐渐增加的数据,有可能是新的类别,也有可能是原来的类别,这样的话,就需要找到一种学习策略,让模型能够不断的去适应环境,增量学习最想解决的一个问题就是“参数遗忘”,我们知道,神经网络在训练的时候,都是尽可能地去拟合它所见到的数据,如果神经在学习的过程中,只能见到当前的数据,而以前的数据无法再见到的话, 那么之前学到的关于之前数据的性质,都将被遗忘,这就有点像狗熊掰棒子一样,只能顾到当下,以前的全给忘了,增量学习就是想解决这个问题,让模型随着见到的数据越来越多,模型的识别能力可以逐步提升。

元学习(meta-learning)

meta-learning, 号称,learning to learn,是目前比较火的一种学习策略,说通俗一点,就是希望让模型自己学会怎么训练,类似 auto-ML 的一些东西,这个在 few-shot learning 领域,有些研究已经结合了 meta-learning 的思想,去训练网络。

Open question

最后,说一些题外话,现在学术界,考虑分类识别的时候,更多的时候还是在一种可控的环境下来做,比如 ImageNet 1000 类,听起来似乎很多,但是与真实的环境相比,这 1000 类一点也不多,目前所有主流的测评,都是基于这 1000 类来进行比较,而忽略了其他类,这就是我们所说的开放环境,学术界是不考虑开放环境的,因为开放环境太复杂,没有办法做,如果模型在一个封闭的环境下学习,只能认识有限的类别,那这种模型永远没有办法在实际环境中工作。

所以,虽然现在 AI 引爆了一股股的热潮,但是离通用的 AI 还很遥远,即使是在简单的分类识别问题上,学术界的AI 研究,很多时候,都是基于 100% 的已知可控,数据集被研究了无数遍,但是真实环境中,可能 90% 都是未知的,如何用 10% 的已知去应对 90% 的未知,这可能是机器学习最大的难点。

机器学习:几种分类识别问题相关推荐

  1. 独家 | 机器学习中的四种分类任务(附代码)

    作者:Jason Brownlee 翻译:陈丹 校对:杨毅远 全文约4400字,建议阅读18分钟 本文为大家介绍了机器学习中常见的四种分类任务.分别是二分类.多类别分类.多标签分类.不平衡分类,并提供 ...

  2. 机器学习的几种分类损失函数

    1. 机器学习的几种分类损失函数 1.1 信息量 信息量也叫做香农信息量,常用于刻画消除随机变量X在x处的不确定性所需的信息量\color{red}刻画消除随机变量X在x处的不确定性所需的信息量刻画消 ...

  3. 机器学习之掌纹识别(掌纹分类)

    机器学习之掌纹识别 一.掌纹特征提取 1.1 Gabor滤波器 二.掌纹信息分类 2.1 基于PCA+SVM的掌纹信息分类 2.2 基于PCA+KNN的掌纹信息分类 分类结果总结 三.掌纹信息匹配 3 ...

  4. 推荐 :机器学习中的四种分类任务(附代码)

    作者:Jason Brownlee  翻译:陈丹  校对:杨毅远 全文约4400字,建议阅读18分钟 本文为大家介绍了机器学习中常见的四种分类任务.分别是二分类.多类别分类.多标签分类.不平衡分类,并 ...

  5. 14种机器学习常见算法分类汇总

    14种机器学习常见算法分类汇总 2015-09-25 待字闺中 待字闺中 待字闺中 微信号 daiziguizhongren 功能介绍 深度分析大数据.深度学习.人工智能等技术,切中实际应用场景,为大 ...

  6. python分类分析模型_机器学习中最常见的四种分类模型

    作者:Jason Brownlee 翻译:候博学 前言 机器学习是一个从训练集中学习出算法的研究领域. 分类是一项需要使用机器学习算法的任务,该算法学习如何为数据集分配类别标签. 举一个简单易懂的例子 ...

  7. 基于机器学习的文本分类!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:李露,西北工业大学,Datawhale优秀学习者 据不完全统计,网 ...

  8. 基于统计概率和机器学习的文本分类技术

    基于统计概率和机器学习的文本分类技术 -- 社区产品机器审核机制 一.现状 目前,所在公司社区类产品(论坛.博客.百科)每天都会接收到大量的垃圾.灌水信息,高峰期16小时内(晚6点以后到第二天9点前) ...

  9. Paper:《Multimodal Machine Learning: A Survey and Taxonomy,多模态机器学习:综述与分类》翻译与解读

    Paper:<Multimodal Machine Learning: A Survey and Taxonomy,多模态机器学习:综述与分类>翻译与解读 目录 <Multimoda ...

最新文章

  1. 怎么截取图片大小 html,详解html2canvas截图不能截取圆角图片的解决方案
  2. Python中的ThreadLocal变量
  3. Struts2内置拦截器的简要介绍
  4. 北斗云计算机怎么样,北斗定位2.0版服务平台来了
  5. Not using the local TSLint version found for XXX
  6. SQL一键备份用户数据库
  7. 计算机管理没有打印机列队,在Windows清除打印队列如果打印机被卡住,也没有打印输出...
  8. java建立线性表的链式结构,数据结构学习----线性表的链式表示(Java实现)
  9. java 模拟平台_用Java程序模拟登陆网站平台
  10. mybatis parametertype 多个参数
  11. JP摩根预测:诺基亚2017年净利润将达14.21亿美元
  12. MEMCACHED在集群环境下对并发更新是否保持数据一致
  13. android 微信支付过程,android 微信 支付 接入流程总结
  14. Facebook 开源 AI 所使用的硬件平台 'Big Sur'
  15. 14.PHP vld 扩展
  16. 校园宽带破解---解救断网之际
  17. linux让别人电脑蓝屏,教你如何让别人电脑瞬间蓝屏!只需要两个键,装逼神器,值得拥有...
  18. 家谱范例模板:一本完整的家谱,一定需要这几部分内容
  19. 适用于高速公路的查询软件,数据稳定、免维护,可查询高速路况、路线规划、未来天气等信息
  20. MIUI 10——启用与关闭开发者模式/开发者选项

热门文章

  1. CentOS 安装HTTP代理服务器Tinyproxy---配置简捷
  2. wex5 mysql闪退_WeX5软件里无法启动MySQL管理工具
  3. UE5笔记【六】流明引擎Lumen简介;Lumen处理发光物体。
  4. 边缘计算:你应该知道的三个趋势
  5. php中文数组按拼音排序问题
  6. java基础知识粗略整理
  7. 谁浇了李彦宏一瓶冷水?
  8. 环球旅行之江西分会场
  9. 黑客与画家——片段一
  10. Houdini学习 —— 使用VOP进行陨石坑效果制作