了解Machine Learning的人都知道" Supervised Learning "与" Unsupervised Learning "这两个术语,也会经常谈到如何对两者进行区分。对此,我写出自己的一些理解。
区分标准:"right answer"——是否对model给出了"right answer",Supervised Learning会,Unsupervised Learning 则不会。(也可以说是否labeled,如房屋的价格算作label,动物的类型算作label)
right answer即label,在分类(classification)中指的是类别(category),在回归(regression)中指的是实值(real-valued output,如温度、高度和价格)
这个"right answer"不一定在事实上是正确的答案。比如你告诉model某只elephant是"ant","ant"就是你给model的"right answer",虽然实际上这是一只elephant。 如果你对大量的elephant都给出"ant"作为其"right answer",训练出一个好的model之后,再给出一个test elephant,那么model会给出"ant"的结果,而非"elephant",这就是Supervised Learning.
监督学习一般使用两种类型的目标变量:标称型和数值型。标称型目标变量的结果只在有限目标集中取值,如真与假、动物分类集合;数值型目标变量则可以从无限的数值集合中取值,如森林中的叶子数目。 数值型目标变量主要用于回归分析。
分类算法:KNN(使用距离矩阵进行分类)、决策树、Logistic回归、SVM、AdaBoost...
非均衡分类问题:一旦训练样本某个分类的数据多于其他分类的数据,就容易产生非均衡分类问题。
典型的Supervised Learning有Regression 和Classification.
Regression一般是针对连续值变量作出预测。比如房价预测(此处若单位是分则显得离散化,一般是以元作为单位),房价example如果数量少,表面上是离散化的,但给出足够的统计example的话,实际上是连续值。
Classification一般则是针对离散值变量作出预测。比如动物类型预测(判断某只动物是elephant还是ant,或者其他的),这里即使给出大量的,仍然是一个离散变量。即使我们通过转化(elephant用0代替,ant用1代替,dog用2代替,cat用3代替,...)也是没有意义的,也就是说0到1是没有意义的,没有连续变量的"自身连续性"的意义。