Lecture 3:Types of Learning
Lecture 3:Types of Learning
一切截图均来源于课程讲义
【概括】
分别从输出、数据标记(有无)、数据输入方式、输入features类型对机器学习方式进行分类
3.1 Learing with different output space
二分类问题 --> 多分类问题
regression 回归分析问题(用于预测)特点:输出为一个实数
3.2 Learing with different labels
-
Supervised Learning 监督式学习
-
Unsupervised Learning 非监督式学习
clustering 分群问题:不知道有几类,让机器自己去决定有几个类
其他例子:
密度分析 density estimation
异常检测 outlier detection -
Semi-supervised Learning 半监督式学习
价值所在:标记label的代价很大,所以采用半监督式【辨析】
在监督式学习模型(supervised learning model)中,算法基于有标记的数据集进行学习,同时数据集提供答案,算法可利用该答案来评估其在训练数据方面的准确性。相比之下,无监督式模型(unsupervised learning model)使用的是无标记数据,算法需要自行提取特征和规律来理解这些数据。半监督式学习(semi-supervised learning)居于二者之间。这种方法使用少量有标记的数据来支持大量无标记数据。 -
Reinforcement Learning 增强学习
一般用来训练带有奖励系统的算法。在特定情况下,如果AI Agent执行了最佳的操作,增强学习模型会提供一定反馈。
3.3 Learing with different protocol
-
batch learning 批量学习:
一次性批量输入给学习算法,可以被形象的称为“填鸭式学习” -
online learning 在线学习:
按照顺序,循序的学习,不断的去修正模型,进行优化
eg. PLA,增强学习
注意:批量学习和在线学习中,机器均为被动
-
active learning 主动学习:
让机器有问问题的能力
价值在于:标记label的代价很大,所以让机器主动学习
3.4 Learing with different input space
-
Concrete Feature
对于一个给定的input data set,最简单的情况就是能够从给定的特征中提取出需要学习的信息,一般包含human intelligence。如上图中Coin Recognition的例子。我们只要简单地从大小和重量两个方面就可以对coin所属的class进行分类,而在input space中正好给出的又是这两个feature。这是一种最简单的给出feature的方式,因为我们需要提取的domain knowledge就已经从data的feature中得到了体现。
-
Raw Features
在这种情况下,通常我们是不能够直接获得所需要的feature的。
需要人或机器把Raw Features转化为Concrete Feature如图上图给出的digit recognition的问题,input space就是一些图片,我们能够获得的信息仅有图中pixel的信息。单从这些信息是不能直接进行该digit recognition problem的求解的。我们需要再对这些pixel进行convert或者transact的操作(比如计算笔画拐弯处的pixel密度等)才能分析这些pixel信息中带的feature。
通常这些convert的行为成为feature engineering,该项工程就是用来将raw feature转化成concrete feature从而进行分析的。 -
Abstract Features
最复杂的一种情况,就是我们手中拿到的input data set里边仅存的是极为抽象的数据。就像2011年KDDCUP的题目,我们需要预测用户对每首歌曲的评分,然而我们手上仅有的是用户的ID以及歌曲的ID。这就是一种很抽象的feature的情况,从手上的数据很难直接提取出有用的可用于分析的feature。
因此在这种情况下需要对数据进行conversion/extraction/construction等操作才能够获得有用的信息。从KDDCUP的那个例子来说,我们需要从用户的特征提取出他们所喜欢的音乐的feature,再对每首歌进行分析,并将每首歌与这种feature进行匹配,最后通过匹配的程度对每位用户的评分做出prediction。这种情况与raw feature的区别在于这种情况更为复杂,甚至不能通过简单地通过计算进行convert,就像KDDCUP所描述的问题,可能需要用到一些Data Mining的方法才能够对数据进行转化和分析。