Python之ML–计算机学习数据的能力
主要知识点:
- 机器学习的一般概念
- 机器学习方法和三种类型和基本术语
- 构建机器学习系统所需的模块
一.机器学习的三种不同方法
介绍三种不同类型的机器学习方法:监督学习(supervised learning),无监督学习(unsupervised learning)和强化学习(reinforcement learning)
from IPython.display import Image
1.监督学习对未来事件进行预测
监督学习的主要目的是使用类标的训练(training)数据构建模型,我们可以使用经训练得到的模型对未来数据进行预测。此处,监督(supervised)是指训练数据集中的每个样本均有一个已知的输出项(类标(label))
以(过滤)垃圾邮件为例:基于有类标的电子邮件样本库,可以使用监督学习算法训练生成一个判定模型,用来判别一封新的电子邮件是否为垃圾邮件;其中,在用于训练的电子邮件样本库中,每一封电子邮件都已被准确标记是否为垃圾邮件。监督学习一般使用离散的类标(class label),类似于过滤垃圾邮件的这类问题也被称为分类(classification)。监督学习的另一个子类是回归(regression),回归问题的输出项是连续值
1.1.1利用分类对类标进行预测
分类是监督学习是一个子类,其目的是基于对过往类标已知示例的观察与学习,实现对新样本类标的预测。这些类标是离散的,无序的值,它们可以视为样本的组别信息(group membership)。前面提到的检测垃圾邮件的例子是一个典型的二类别分类(binary classification)任务,机器学习算法会生成一系列的规则用以判定邮件属于垃圾邮件还是非垃圾邮件
然而,类标集合并非一定是二类别分类的。通过监督学习算法构造的预测模型可以将训练样本库中出现的任何类标赋给一个尚未被标记的新样本。手写字符识别就是一个典型的多类别分类(multi-class classification)的例子
下面通过给出具有30个训练样本的实例说明二类别分类任务的概念:15个样本被标记为负类别(negative class)(图中用圆圈表示);15个样本被标记为正类别(positive class)(图中用加号表示)。此时我们数据集是二维的,这意味着每个样本都有两个与其关联的值:x1和x2。现在我们通过有监督的机器学习算法获得一条规则,并将其表示为一条黑色虚线标识的分界线,它可以将两样本分开,并且可以根据给定的x1,x2值将新样本划分到某个类别中
1.1.2使用回归预测连续输出值
针对连续型输出变量进行预测,也就是所谓的回归分析(regression analysis).在回归分析中,数据中会给出大量的自变量(解释变量)和相应的连续因变量(输出结果),通过尝试寻找这两种变量之间的关系,就能够预测输出变量
2.通过强化学习解决交互式问题
强化学习的目标是构建一个系统(Agent),在与环境(environment)交互的过程中提高系统的性能.环境的当前状态信息中通常包含一个反馈(reward)信号,我们可以将强化学习视为与监督学习相关的一个领域.然而,在强化学习中,这个反馈值不是一个确定的类标或者连续类型的值,而是一个通过反馈函数产生的对当前系统行为的评价.通过与环境的交互,Agent可以通过强化学习来得到一系列行为,通过探索性的试错或者借助精心设计的激励系统使得正向反馈最大化
一个常用的强化学习例子就是象棋对弈的游戏.在此,Agent根据棋盘上的当前局态(环境)决定洛子的位置,而游戏结束时胜负的判定可以作为激励信号
3.通过无监督学习发现数据本身潜在的结构
在无监督学习中,我们将处理无类标数据或者是总体分布趋势不明朗的数据.通过无监督学习,我们可以在没有已知输出变量和反馈函数指导的情况下提取有效信息来探索数据的整体结构
1.3.1通过聚类发现数据的子群
聚类是一种探索性数据分析技术.在没有任何相关先验的情况下,它可以帮助我们将数据划分为有意义的小的组别(即簇(cluster))
下图演示了聚类方法如何根据数据的x1及x2两个特征值之间的相似性将无类标的数据划分到三个不同的组中
1.3.2数据压缩中的降维
数据降维(dimensionality reduction)是无监督学习的另一个子领域.无监督降维是数据特征处理时常用的技术,用于清除数据中的噪声,它能够在最大程度保留相关信息的情况下将数据压缩到一个维度较小的子空间,但同时也可能会降低某些算法在准确性方面的性能
下图展示了一个使用非线性性降维方法将三维的Swiss Roll压缩到二维特征子空间的实例
4.基本术语及符号介绍
下面表格摘录了鸢尾花数据集(Iris dataset)中的部分数据,鸢尾花数据集是机器学习领域的一个经典示例,它包含了Setosa,Versicolor和Virginica三个品种总共150种鸢尾花的测量数据