week 1
聚类和分类
监督学习和非监督学习
------------------------------------------------------------
1. 术语
1.1 类别 (class)
为标签枚举的一组目标值中的一个。例如,在检测垃圾邮件的二元分类模型中,两种类别分别是“垃圾邮件”和“非垃圾邮件”。在识别狗品种的多类别分类模型中,类别可以是“贵宾犬”、“小猎犬”、“哈巴犬”等等。
1.1.1. 介绍:
分类有如下几种说法,但表达的意思是相同的。
1. 分类(classification):分类任务就是通过学习得到一个目标函数f,把每个属性集x映射到一个预先定义的类标号y中。
2. 分类是根据一些给定的已知类别标号的样本,训练某种学习机器(即得到某种目标函数),使它能够对未知类别的样本进行分类。这属于supervised learning(监督学习)。
3. 分类:通过学习来得到样本属性与类标号之间的关系。
用自己的话来说,就是我们根据已知的一些样本(包括属性与类标号)来得到分类模型(即得到样本属性与类标号之间的函数),然后通过此目标函数来对只包含属性的样本数据进行分类。
1.1.2 分类算法的局限
分类作为一种监督学习方法,要求必须事先明确知道各个类别的信息,并且断言所有待分类项都有一个类别与之对应。但是很多时候上述条件得不到满足,尤其是在处理海量数据的时候,如果通过预处理使得数据满足分类算法的要求,则代价非常大,这时候可以考虑使用聚类算法。
------------------------------------------------------------
1.2 聚类 (clustering)
1.2.1 介绍
将关联的样本分成一组,一般用于非监督式学习。在所有样本均分组完毕后,相关人员便可选择性地为每个聚类赋予含义。
1.2.2 概念
1. 而聚类指事先并不知道任何样本的类别标号,希望通过某种算法来把一组未知类别的样本划分成若干类别。
unsupervised learning (无监督学习)
2. 通常,人们根据样本间的某种距离或者相似性来定义聚类,即把相似的(或距离近的)样本聚为同一类,而把不相似的(或距离远的)样本归在其他类。
3. 聚类的目标:聚类的时候,我们并不关心某一类是什么,只是把相似的东西聚到一起。组内的对象相互之间时相似的(相关的),而不同组中的对象是不同的(不相关的)。组内的相似性越大,组间差别越大,聚类就越好。
1.2.4 例子
聚类算法有很多。例如,k-means 算法会基于样本与形心的接近程度聚类样本,如下图所示:、
之后,研究人员便可查看这些聚类并进行其他操作,例如,将聚类 1 标记为“矮型树”,将聚类 2 标记为“全尺寸树”。
再举一个例子,例如基于样本与中心点距离的聚类算法,如下所示:
1.3 机器学习中分类与聚类的本质区别
分类:事先知道数据的lable,聚类不知道。聚类只是把相似的放一堆。
聚类需要解决的问题是将已给定的若干无标记的模式聚集起来使之成为有意义的聚类,聚类是在预先不知道目标数据库到底有多少类的情况下,希望将所有的记录组成不同的类或者说聚类,并且使得在这种分类情况下,以某种度量(例如:距离)为标准的相似性,在同一聚类之间最小化,而在不同聚类之间最大化。
1.4 回归
回归也是监督学习的一种类型,主要和分类进行区别
「回归」案例:芝麻信用分是怎么来的?
他跟芝麻信用类似,用来评估个人的信用状况。FICO 评分系统得出的信用分数范围在300~850分之间,分数越高,说明信用风险越小。
下面我们来模拟一下 FICO 的发明过程,这个过程就是监督学习力的回归。
步骤1:构建问题,选择模型
我们首先找出个人信用的影响因素,从逻辑上讲一个人的体重跟他的信用应该没有关系,比如我们身边很讲信用的人,有胖子也有瘦子。
而财富总额貌似跟信用有关,因为马云不讲信用的损失是非常巨大的,所以大家从来没有听说马云会不还信用卡!而一个乞丐不讲信用的损失是很小的,这条街混不下去了换一条街继续。
所以根据判断,找出了下面5个影响因素:
- 付款记录
- 账户总金额
- 信用记录跨度(自开户以来的信用记录、特定类型账户开户以来的信用记录…)
- 新账户(近期开户数目、特定类型账户的开户比例…)
- 信用类别(各种账户的数目)
这个时候,我们就构建了一个简单的模型
f 可以简单理解为一个特定的公式,这个公式可以将5个因素跟个人信用分形成关联。
我们的目标就是得到 f 这个公式具体是什么,这样我们只要有了一个人的这5种数据,就可以得到一个人的信用分数了。
步骤2:收集已知数据
为了找出这个公式 f,我们需要先收集大量的已知数据,这些数据必须包含一个人的5种数据和他/她的信用状态(把信用状态转化为分数)。
我们把数据分成几个部分,一部分用来训练,一部分用来测试和验证。
步骤3:训练出理想模型
有了这些数据,我们通过机器学习,就能”猜测”出这5种数据和信用分数的关系。这个关系就是公式 f。
然后我们再用验证数据和测试数据来验证一下这个公式是否 OK。
测试验证的具体方法是:
- 将5种数据套入公式,计算出信用分
- 用计算出来的信用分跟这个人实际的信用分(预先准备好的)进行比较
- 评估公式的准确度,如果问题很大再进行调整优化
步骤4:对新用户进行预测
当我们想知道一个新用户的信用状况时,只需要收集到他的这5种数据,套进公式 f 计算一遍就知道结果了!
参考:机器学习的术语
------------------------------------------------------------