有监督学习VS无监督学习「建议收藏」

有监督学习VS无监督学习「建议收藏」事先先说明一下:标签就是指的分好的类别,指明标签就是告诉计算机,这个样本属于哪一类。对于聚类的话,是事先类别都没定义好,但是类别的个数一定要告诉计算机这个问题可以回答得很简单:是否有监督(supervised),就看输入数据是否有标签(label)。输入数据有标签,则为有监督学习,没标签则为无监督学习。首先看什么是学习(learning)?一个成语就可概括:举一反三。此处以高考为例,高考的题目在上

大家好,又见面了,我是你们的朋友全栈君。

事先先说明一下:

标签就是指的分好的类别,指明标签就是告诉计算机,这个样本属于哪一类。对于聚类的话,是事先类别都没定义好,但是类别的个数一定要告诉计算机

监督学习(supervised learning):通过已有的训练样本(即已知数据以及其对应的输出)来训练,从而得到一个最优模型,再利用这个模型将所有新的数据样本映射为相应的输出结果,对输出结果进行简单的判断从而实现分类的目的,那么这个最优模型也就具有了对未知数据进行分类的能力。在社会中,我们在很小的时候就被大人教授这是鸟啊,那是猪啊,这个是西瓜、南瓜,这个可以吃、那个不能吃啊之类的,我们眼里见到的这些景物食物就是机器学习中的输入,大人们告诉我们的结果就是输出,久而久之,当我们见的多了,大人们说的多了,我们脑中就会形成一个抽象的模型,下次在没有大人提醒的时候看见别墅或者洋楼,我们也能辨别出来这是房子,不能吃,房子本身也不能飞等信息。上学的时候,老师教认字、数学公式啊、英语单词等等,我们在下次碰到的时候,也能区分开并识别它们。这就是监督学习,它在我们生活中无处不在。

无监督学习(unsupervised learning):我们事先没有任何训练数据样本,需要直接对数据进行建模。比如我们去参观一个画展,我们对艺术一无所知,但是欣赏完很多幅作品之后,我们面对一幅新的作品之后,至少可以知道这幅作品是什么派别的吧,比如更抽象一些还是更写实一点,虽然不能很清楚的了解这幅画的含义,但是至少我们可以把它分为哪一类。再比如我们在电影院看电影,对于之前没有学过相关电影艺术知识的我们,可能不知道什么是一部好电影,什么是一部不好的电影,可是在观看了很多部电影之后,我们脑中对电影就有了一个潜在的认识,当我们再次坐在电影院认真观看新上映的电影时,脑中就会对这部电影产生一个评价:怎么这电影这么不好啊,整个故事线是混乱的,一点也不清晰,比我之前看过的那些电影差远了,人物的性格也没有表现出来,关键是电影主题还搞偏了;哎呀,这个电影拍得确实好啊,故事情节和人物性格都很鲜明,而且场景很逼真,主角的实力表演加上他与生俱来的忧郁眼神一下把人物演活了。

再给大家举一个无监督学习的例子。远古时期,我们的祖先打猎吃肉,他们本身之前是没有经验而言的,当有人用很粗的石头去割动物的皮的时候,发现很难把皮隔开,但是又有人用很薄的石头去割,发现比别人更加容易的隔开动物的毛皮,于是,第二天、第三天、……,他们就知道了需要寻找比较薄的石头片来割。这些就是无监督学习的思想,外界没有经验和训练数据样本提供给它们,完全靠自己摸索。



这个问题可以回答得很简单:是否有监督(supervised),就看输入数据是否有标签(label)。输入数据有标签,则为有监督学习,没标签则为无监督学习。

首先看什么是学习(learning)?一个成语就可概括:举一反三。此处以高考为例,高考的题目在上考场前我们未必做过,但在高中三年我们做过很多很多题目,懂解题方法,因此考场上面对陌生问题也可以算出答案。机器学习的思路也类似:我们能不能利用一些训练数据(已经做过的题),使机器能够利用它们(解题方法)分析未知数据(高考的题目)?

最简单也最普遍的一类机器学习算法就是分类(classification)。对于分类,输入的训练数据有特征(feature),有标签(label)。所谓的学习,其本质就是找到特征和标签间的关系(mapping)。这样当有特征而无标签的未知数据输入时,我们就可以通过已有的关系得到未知数据标签。

在上述的分类过程中,如果所有训练数据都有标签,则为有监督学习(supervised learning)。如果数据没有标签,显然就是无监督学习(unsupervised learning)了,也即聚类(clustering)。

目前分类算法的效果还是不错的,但相对来讲,聚类算法就有些惨不忍睹了。确实,无监督学习本身的特点使其难以得到如分类一样近乎完美的结果。这也正如我们在高中做题,答案(标签)是非常重要的,假设两个完全相同的人进入高中,一个正常学习,另一人做的所有题目都没有答案,那么想必第一个人高考会发挥更好,第二个人会发疯。

这时各位可能要问,既然分类如此之好,聚类如此之不靠谱,那为何我们还可以容忍聚类的存在?因为在实际应用中,标签的获取常常需要极大的人工工作量,有时甚至非常困难。例如在自然语言处理(NLP)中,Penn Chinese Treebank在2年里只完成了4000句话的标签……



有监督学习VS无监督学习「建议收藏」

这时有人可能会想,难道有监督学习和无监督学习就是非黑即白的关系吗?有没有灰呢?Good idea。灰是存在的。二者的中间带就是半监督学习(semi-supervised learning)。对于半监督学习,其训练数据的一部分是有标签的,另一部分没有标签,而没标签数据的数量常常极大于有标签数据数量(这也是符合现实情况的)。隐藏在半监督学习下的基本规律在于:数据的分布必然不是完全随机的,通过一些有标签数据的局部特征,以及更多没标签数据的整体分布,就可以得到可以接受甚至是非常好的分类结果。(此处大量忽略细节)

因此,learning家族的整体构造是这样的:

有监督学习(分类,回归)




半监督学习(分类,回归),transductive learning(分类,回归)




半监督聚类(有标签数据的标签不是确定的,类似于:肯定不是xxx,很可能是yyy)




无监督学习(聚类)

参考文献:

[1] 各种教材

[2] Semi-Supervised Learning Tutorial,
pages.cs.wisc.edu/~jerr

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141582.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle存储过程捕捉异常后回滚_Oracle存储过程异常

    oracle存储过程捕捉异常后回滚_Oracle存储过程异常由三种方式抛出异常1.通过PL/SQL运行时引擎2.使用RAISE语句3.调用RAISE_APPLICATION_ERROR存储过程当数据库或PL/SQL在运行时发生错误时,一个异常被PL/SQL运行时引擎自动抛出。异常也可以通过RAISE语句抛出RAISEexception_name;显式抛出异常是程序员处理声明的异常的习惯用法,但RAISE不限于声明了的异常,它可以抛出任何任何异常。例…

    2022年7月17日
    15
  • MySQL 重置 root 密码以及修改密码时报错password字段不存在

    MySQL 重置 root 密码以及修改密码时报错password字段不存在

    2022年2月18日
    54
  • selenium 和 IP代理池

    selenium 和 IP代理池3.1seleniumselenium:Selenium是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作,如点击、下拉等操作(模拟浏览器操作)同时还可以获取浏览器当前呈现的页面的源代码,做到可见即可爬Selenium支持非常多的浏览器,如Chrome、Firefox、PhantomJS等浏览器对象的初始化并将其赋值为browser对象。接下来,我们要做的就是调用…

    2022年5月2日
    119
  • JVM调优常用参数

    JVM调优常用参数

    2021年5月14日
    94
  • 104规约总结「建议收藏」

    104规约总结「建议收藏」一.概念遥测:远程测量。采集并传送运行参数,包括各种电气量(线路上的电压、电流、功率等量值)和负荷潮流等。遥控:远程控制。接受并执行遥控命令,主要是分合闸,对远程的一些开关控制设备进行远程控制。遥信:远程信号。采集并传送各种保护告警和开关量信息。遥调:远程调节。接受并执行遥调命令,对远程的控制量设备进行远程调试,如调节发电机输出功率。二.基地址对比类别1997版基地址2002版基地址遥信1H—-400H1H—-4000H遥测701H–

    2022年6月20日
    70
  • 逻辑删除还是物理删除

    逻辑删除还是物理删除看到标题,有的童鞋心中暗想“数据删除有什么可提的呢?不就是执行个delete语句吗?有什么难的呀?”其实呢数据删除没有你想的这么简单,一般情况下公司会明确的要求数据只能逻辑删除,不能物理删除。那什么优势逻辑删除,什么又是物理删除呢?物理删除就是我们之前常用的DELETE、TRANCATE、DROP语句删除数据,不管你用哪种方式,都是将数据从硬盘上抹除,这样数据表的体积就变小了,数据的读写性能就提上去了。有个共识InnoDB引擎的数据表记录一旦超过2000万,它的读写性能就很差,我们用物理删除能缩小表

    2022年6月2日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号