机器学习基石 3-2 Learning with different data label

在上节中,我们从output space的不同将ML的过程简单地分为Classification和Regression两个大类,其中Classification的输出结果为固定的值,其输出空间可以表示为能够写出所有元素的集合,而Regression的解空间只能由描述法界定(解集为连续值)。


在本节中,从另一个不同的角度对ML方法进行分类,即从data label的角度进行分类。简单来说,很大一部分的ML方法都要对data set中的data或者新加入的data赋予一个label,而这个label有可能是确定的(比如确定一枚硬币到底是一分的还是五分的),也有可能是不确定的(比如在一群人中确定一个人是否是“高的”或者“胖的”),从这个角度出发,可以将ML方法分成supervised learning(监督方法)、unsupervised learning(无监督方法)和semisupervised learning(半监督方法)。


能够确定label的Learning方法:supervised learning



HT Lin给出了一个Coin Recognition的例子,在这个例子中,data set中的每个data都有自己明确的label(1c,5c,10c or 25c)。同样的,对于每一个新加入的data,supervised learning方法也能够赋予它们一个明确的label。也就是说,对于每一个输入,该learning方法能够很明确地判断输出是“对的”还是“错的”。前面提到的classification就是一个很有代表性的supervised learning的方法。


没有明确划分label关系的Learning方法:unsupervised learning



同样还是之前的Coin Recognition的例子,只不过这次没有明确地对Coin的类别进行分类,而仅仅是给出了mass和size,则learning的过程仅能够通过各个data之间的紧密程度来进行分类,这样的过程成为clustering(聚类方法)。在clustering过程中,有得出的结果会与我们想要的结果不太一样(如示例中的clustering的结果只有3个class,而实际上有4 个class)。在clustering之前,我们无法明确地知道每一个data的label。甚至于有可能新加入一个data之后,clustering的结果会跟之前很不一样。这样的Learning的方法称为
unsupervised learning,即在学习过程结束之前,我们无法得到data的label。clustering就是unsupervised learning的一个具有代表性的方法。


适用于测量成本较高的方法:semisupervised learning



同样,还是相同的Coin的例子,supervised learning是完全给出data 的label(如第一张图),unsupervised learning是完全不给出data 的label(如第三张图),那么semisupervised learning则是给出部分data 的label。通过这部分data的label来确定data set中其余data的label以及新加入的data的label。举个具体的例子,如果要做一个面部识别(face identifier),如果我们要对data set中的每一个data进行test然后给出label将是一件工作量很大的事情(因为每一个face会对应于一个固定的人)。那么这个时候如果用semisupervised learning的方法,我们就可以在test一小部分data并给出这部分data的label之后,让机器自动learning出其余data的label,这就极大地压缩了work的时间,避免了效率较低的“labeling”的过程。


通过另一种output进行learning的方法:reinforcement learning




HT Lin举了一个训练宠物的例子来帮助理解这个learning的方法:如果你的宠物表现出你想要的行为,你可以说“good”,否则你可以说“bad”。那么经过大量的训练之后,你的宠物就会对你的指令进行学习,以至于之后它都会按照你的指令进行work。这个learning的方法与这种思想类似,即通过机器的表现对学习的行为进行评价。当评价为“good”时,机器会延续这种做法;否则机器就将当前的做法抛弃或者降低这种做法的优先级。经过大量的data training之后,机器就能够对data表现出一个比较好的学习行为。举一个ad system的例子,当用户使用这个system时,我们将一个ad放到该system上,如果用户点击该ad并进行浏览,我们对机器说“good”,然后之后每次用户登录时,机器都会把该ad或类似的ad放到该用户的界面上。否则我们对机器说“no”,下次用户登陆时该system就会自动地调整显示ad的类型,这就是reinforcement learning的基本工作流程。

猜你喜欢

转载自blog.csdn.net/qq_30474361/article/details/70740042
今日推荐