Transductive和Inductive
链接:https://www.zhihu.com/question/68275921/answer/1574682746 来源:知乎
关于Transductive和Inductive,维基百科上有一段简洁扼要的定义:
Transduction is reasoning from obeserved, specific (training) cases to specific (test) cases. In contrast, induction is reasoning from obeserved training cases to gerneral rules, which are then applied to the test cases.
如何理解这二者呢?我们先看下其关于Inductive的定义:
Induction is reasoning from obeserved training cases to gerneral rules, which are then applied to the test cases.
Inductive learning 是从特定任务到一般任务的学习,实际上,我们传统的supervised learning都可以理解为是Inductive learning的范畴:基于训练集,我们构建并训练模型,而后将其应用于测试集的预测任务中,训练集与测试集之间是相斥的,即测试集中的任何信息是没有在训练集中出现过的。即模型本身具备一定的通用性和泛化能力。
再看其关于Transductive的定义:
Transduction is reasoning from observed, specific (training) cases to specific (test) cases.
大家先理解下上面这句话,其中的obeserved其实同时修饰着后面的training cases和test cases。相比Inductive learning,Transductive learning拥有着更广的视角,在模型训练之初,就已经窥得训练集(带标签)和测试集(不带标签),尽管在训练之时我们不知道测试集的真实标签,但可以从其特征分布中学到些额外的信息(如分布聚集性),从而带来模型效果上的增益。但这也就意味着,只要有新的样本进来,模型就得重新训练。
综上,总结一下这二者的区别:
模型训练:Transductive learning在训练过程中已经用到测试集数据(不带标签)中的信息,而Inductive learning仅仅只用到训练集中数据的信息。
模型预测:Transductive learning只能预测在其训练过程中所用到的样本(Specific --> Specific),而Inductive learning,只要样本特征属于同样的欧拉空间,即可进行预测(Specific --> Gerneral)
模型复用性:当有新样本时,Transductive learning需要重新进行训练;Inductive Leaning则不需要。
模型计算量:显而易见,Transductive Leaning是需要更大的计算量的,即使其有时候确实能够取得相比Inductive learning更好的效果。
其实,我们仅从它们的字面意思上也可以有些理解,Inductive一般翻译做归纳式,归纳是从特殊到一般的过程,即从训练集中学习到某类样本之间的共性,这种共性是普遍适用的。Transductive一般译作直推式,则显得僵硬许多,意味着必须知道它要推论的所有case长什么样时才能work
"ground truth"
原文链接:https://blog.csdn.net/FrankieHello/article/details/80486167
在机器学习中,“ground truth”一词指的是训练集对监督学习技术的分类的准确性。这在统计模型中被用来证明或否定研究假设。“ground truth”这个术语指的是为这个测试收集适当的目标(可证明的)数据的过程。
《Outlier Analysis》: However, it is generally much harder to reduce bias in outlier ensembles because of the absence of ground truth.
放到对异常点的检测方面来理解这个ground truth就好理解了。在对异常点进行检测的时候,通过一些ensemble methods可以在一定程度上提高准确性,从而减少bias,但是由于对于异常点的定义本身就是一个问题,所以在对这些数据进行label的过程中,保证labeled data是正确的异常点也是个问题。
再举个例子,在图像识别中,一张图片是猫还是狗这个没有什么争议性,但是如果在时间序列中让你指出什么样的数据是 normal,什么样的数据是 abnormal,100个人可能会有100种回答,因为 normal 和 abnormal 之间没有什么明确的界限,所以在研究时间序列中的 outlier analysis 时,Ground Truth 也是一个不可避免的问题。
监督学习与非监督学习
链接:https://www.jianshu.com/p/682c88cee5a8
监督学习
定义:根据已有的数据集,知道输入和输出结果之间的关系。根据这种已知的关系,训练得到一个最优的模型。也就是说,在监督学习中训练数据既有特征(feature)又有标签(label),通过训练,让机器可以自己找到特征和标签之间的联系,在面对只有特征没有标签的数据时,可以判断出标签。
通俗一点,可以把机器学习理解为我们教机器如何做事情。
监督学习的分类:回归(Regression)、分类(Classification)
回归(Regression):针对于连续型变量的。
举个栗子:预测房屋价格
通过图像,我们可以看出直线拟合出来的150k,曲线拟合出来是200k,所以要不断训练学习,找到最合适的模型得到拟合数据(房价)。
回归通俗一点就是,对已经存在的点(训练数据)进行分析,拟合出适当的函数模型y=f(x),这里y就是数据的标签,而对于一个新的自变量x,通过这个函数模型得到标签y。
分类(Classification) :针对离散型的,输出的结果是有限的。
举个栗子:估计肿瘤性质
假设某人发现了一个乳腺瘤,在乳腺上有个z肿块,恶性瘤是危险的、有害的;良性瘤是无害的。
假设在数据集中,水平轴是瘤的尺寸,竖直轴是1或0,也可以是Y或N。在已知肿瘤样例中,恶性的标为1,良性的标为0。那么,如下,蓝色的样例便是良性的,红色的是恶性的。
这个时候,机器学习的任务就是估计该肿瘤的性质,是恶性的还是良性的。
那么分类就派上了用场,在这个例子中就是向模型输入人的各种数据的训练样本(这里是肿瘤的尺寸,当然现实生活里会用更多的数据,如年龄等),产生“输入一个人的数据,判断是否患有癌症”的结果,结果必定是离散的,只有“是”或“否”。
所以简单来说分类就是,要通过分析输入的特征向量,对于一个新的向量得到其标签。
无监督学习
定义:我们不知道数据集中数据、特征之间的关系,而是要根据聚类或一定的模型得到数据之间的关系。
可以这么说,比起监督学习,无监督学习更像是自学,让机器学会自己做事情,是没有标签(label)的。
如下图所示,在无监督学习中,我们只是给定了一组数据,我们的目标是发现这组数据中的特殊结构。例如我们使用无监督学习算法会将这组数据分成两个不同的簇,,这样的算法就叫聚类算法。
生活中的应用:
1.Google新闻按照内容结构的不同分成财经,娱乐,体育等不同的标签,这就是无监督学习中的聚类。
2.根据给定基因把人群分类。如图是DNA数据,对于一组不同的人我们测量他们DNA中对于一个特定基因的表达程度。然后根据测量结果可以用聚类算法将他们分成不同的类型。这就是一种无监督学习, 因为我们只是给定了一些数据,而并不知道哪些是第一种类型的人,哪些是第二种类型的人等等。