有监督学习、无监督学习以及半监督学习详解

有监督学习、无监督学习以及半监督学习详解相信大家在开始学习机器学习的入门时,首先接触的概念就是监督学习、无监督学习以及半监督学习。在我们开始讲解之前,我们先回顾一下什么是机器学习(ML)?百度百科给出的定义是,机器学习是一门多学科交叉专业,涵盖概率论知识,统计学知识,近似理论知识和复杂算法知识,使用计算机作为工具并致力于真实实时的模拟人类学习方式,并将现有内容进行知识结构划分来有效提高学习效率。从定义中,我们可以发现:(1)机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法…

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

      相信大家在开始学习机器学习的入门时,首先接触的概念就是监督学习、无监督学习以及半监督学习。在我们开始讲解之前,我们先回顾一下什么是机器学习(ML)?

百度百科给出的定义是,机器学习是一门多学科交叉专业,涵盖概率论知识,统计学知识,近似理论知识和复杂算法知识,使用计算机作为工具并致力于真实实时的模拟人类学习方式, 并将现有内容进行知识结构划分来有效提高学习效率。

从定义中,我们可以发现:

(1) 机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。

(2) 机器学习是对能通过经验自动改进的计算机算法的研究。

(3) 机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。

 

重温了机器学习的基础概念之后,我们正式进入我们的正文部分。

 

监督学习

 

监督学习是从标记的训练数据来推断一个功能的机器学习任务。利用一组已知类别的样本调整分类器参数,使其达到所要求性能的 过程,也称为监督训练或有教师学习。

根据已有的数据集,知道输入和输出结果之间的关系。根据这种已知的关系,训练得到一个最优的模型。也就是说,在监督学习中训练数据既有特征(feature)又有标签(label),通过训练,让机器可以自己找到特征和标签之间的联系,在面对只有特征没有标签的数据时,可以判断出标签。

 

监督学习有一种应用场景:回归和分类。

回归(Regression)

回归问题是针对于连续型变量的。

 

举个栗子:预测房屋价格

假设想要预测房屋价格,绘制了下面这样的数据集。水平轴上,不同房屋的尺寸是平方英尺,在竖直轴上,是不同房子的价格,单位时(千万$)。给定数据,假设一个人有一栋房子,750平方英尺,他要卖掉这栋房子,想知道能卖多少钱。

这个时候,监督学习中的回归算法就能派上用场了,我们可以根据数据集来画直线或者二阶函数等来拟合数据。

有监督学习、无监督学习以及半监督学习详解

 通过图像,我们可以看出直线拟合出来的150k,曲线拟合出来是200k,所以要不断训练学习,找到最合适的模型得到拟合数据(房价)。

回归通俗一点就是,对已经存在的点(训练数据)进行分析,拟合出适当的函数模型y=f(x),这里y就是数据的标签,而对于一个新的自变量x,通过这个函数模型得到标签y。 

分类(Classification)  

和回归最大的区别在于,分类是针对离散型的,输出的结果是有限的。

举个栗子:估计肿瘤性质

假设某人发现了一个乳腺瘤,在乳腺上有个z肿块,恶性瘤是危险的、有害的;良性瘤是无害的。

假设在数据集中,水平轴是瘤的尺寸,竖直轴是1或0,也可以是Y或N。在已知肿瘤样例中,恶性的标为1,良性的标为0。那么,如下,蓝色的样例便是良性的,红色的是恶性的。

有监督学习、无监督学习以及半监督学习详解

 这个时候,机器学习的任务就是估计该肿瘤的性质,是恶性的还是良性的。

那么分类就派上了用场,在这个例子中就是向模型输入人的各种数据的训练样本(这里是肿瘤的尺寸,当然现实生活里会用更多的数据,如年龄等),产生“输入一个人的数据,判断是否患有癌症”的结果,结果必定是离散的,只有“是”或“否”。

所以简单来说分类就是,要通过分析输入的特征向量,对于一个新的向量得到其标签。

 

无监督学习

定义:我们不知道数据集中数据、特征之间的关系,而是要根据聚类或一定的模型得到数据之间的关系。

可以这么说,比起监督学习,无监督学习更像是自学,让机器学会自己做事情,是没有标签(label)的。

接刚刚上面机器学习解释时用到的例子来更好理解一下二者的区别:

对于平时的考试来说,监督学习相当于我们做了很多题目都知道它的标准答案,所以在学习的过程中,我们可以通过对照答案,来分析问题找出方法,下一次在面对没有答案的问题时,往往也可以正确地解决。 而无监督学习,是我们不知道任何的答案,也不知道自己做得对不对,但是做题的过程中,就算不知道答案,我们还是可以大致的将语文,数学,英语这些题目分开,因为这些问题内在还是具有一定的联系。 

如下图所示,在无监督学习中,我们只是给定了一组数据,我们的目标是发现这组数据中的特殊结构。例如我们使用无监督学习算法会将这组数据分成两个不同的簇,,这样的算法就叫聚类算法。

有监督学习、无监督学习以及半监督学习详解

 

生活中的应用:

1.Google新闻按照内容结构的不同分成财经,娱乐,体育等不同的标签,这就是无监督学习中的聚类。

2.根据给定基因把人群分类。如图是DNA数据,对于一组不同的人我们测量他们DNA中对于一个特定基因的表达程度。然后根据测量结果可以用聚类算法将他们分成不同的类型。这就是一种无监督学习, 因为我们只是给定了一些数据,而并不知道哪些是第一种类型的人,哪些是第二种类型的人等等。

有监督学习、无监督学习以及半监督学习详解

 

半监督学习

半监督学习(Semi-Supervised Learning,SSL)是模式识别和机器学习领域研究的重点问题,是监督学习无监督学习相结合的一种学习方法。半监督学习使用大量的未标记数据,以及同时使用标记数据,来进行模式识别工作。当使用半监督学习时,将会要求尽量少的人员来从事工作,同时,又能够带来比较高的准确性,因此,半监督学习正越来越受到人们的重视。

至于实例的话,大家可以去自己探讨一下。

 

本文参考:

链接:https://www.jianshu.com/p/682c88cee5a8
链接:https://baike.baidu.com/item/监督学习/9820109?fr=aladdin

 

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140166.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Pycharm连接并调用服务器「建议收藏」

    Pycharm连接并调用服务器「建议收藏」Pycharm可以与服务器建立连接,把相应的项目同步到服务器上,并且可以通过Pycharm直接使用服务器的解释器运行相应程序,实现Pycharm编程,服务器运行的效果。具体步骤如下:1.建立一个服务器连接Pycharm的“Tools”-》“Deployment”-》“Configuration”2.创建一个SFTP3.为该项目添加一个SSH解释器。因为前面已经添加好了服务器连接,所以这里直接选择已经设置好的就可以,如果没有已经设置好的,可以重新添加。配置好SSH之后,选择Next,设置本地项目

  • 民谣歌词基本格式_歌词创作

    民谣歌词基本格式_歌词创作把LRC格式的歌词解析成一个JS对象,适用于大部分书写比较规范的LRC格式的歌词。

    2022年10月23日
  • java web开发(二) 接口开发

    java web开发(二) 接口开发javaweb开发(一)环境搭建讲解了如何搭建一个JavaWeb项目,如果你还没了解,建议先浏览下!今天这篇文章主要讲解的就是接口开发,打算使用比较古老的或者说比较原始方法实现的接口。一.数据库设计。假设要做一个简单的学生信息管理系统,数据库名为students_manage,并且先设计一张学生表,表名为student。1.打开Sqlyong工具,如果还没创建连接…

  • Quartus II 13.1的安装及使用

    Quartus II 13.1的安装及使用QuartusII的安装及使用前言一、QuartusII的下载二、QuartusII的安装三、QuartusII的注册四、QuartusII的使用(一)相关驱动的配置(二)使用流程的认识(三)使用过程总结前言本文章是对QuartusII13.1的安装及使用方法的介绍说明。一、QuartusII的下载百度网盘下载链接:https://pan.baidu.com/s/1a9d-bq9RZmWrRV542X4IEA提取码:ifte说明:本链接来自于正点原子官方资料下载二、

    2022年10月16日
  • C++字符串常见操作函数最全总结

    C++字符串常见操作函数最全总结在做题过程中经常用到字符串,有时候费了很大力气去写一个函数,结果最后发现C++已经封装好了此类函数。。。所以花点时间总结一下。

  • 【linux】linux 命令:查看 linux 服务器的 jdk、Tomcat、mysql、maven 版本号「建议收藏」

    【linux】linux 命令:查看 linux 服务器的 jdk、Tomcat、mysql、maven 版本号「建议收藏」目录一、jdk二、Tomcat三、mysql四、maven一、jdk输入命令,可以看到jdk版本是:1.8.0_181:cd~java-version二、Tomcat(1)查看Tomcat的安装目录命令是:sudofind/-name*tomcat*(2)切换到Tomcat安装目录的bin目录下:cd/usr/…

发表回复

您的电子邮箱地址不会被公开。

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