大家好,又见面了,我是你们的朋友全栈君。
相信大家在开始学习机器学习的入门时,首先接触的概念就是监督学习、无监督学习以及半监督学习。在我们开始讲解之前,我们先回顾一下什么是机器学习(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
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140166.html原文链接:https://javaforall.cn