第1章 机器学习基础。

1.何谓机器学习

机器学习就是把无序的数据转换成有用的信息。

2.机器学习的关键术语

机器学习的主要任务就是分类 。
最终我们决定使用某个机器学习算法进行分类, 首先需要做的是算法训练, 即学习如何分类。通常我们为算法输人大量已分类数据作为算法的训练集。 训练集是用于训练机器学习算法的数据样本集合

目标变量:是机器学习算法的预测结果,在分类算法中目标变量的类型通常是标称型的,而在回归算法中通常是连续型的。
训练样本集必须确定知道目标变量的值,以便机器学习算法可以发现特征和目标变量之间的关系。通常将分类问题中的目标变量称为类别 

为了测试机器学习算法的效果,通常使用两套独立的样本集:训练数据和测试数据。当机器学习程序开始运行时,使用训练样本集作为算法的输人,训练完成之后输人测试样本。输人测试样本时并不提供测试样本的目标变量,由程序决定样本属于哪个类别。比较测试样本预测的目标变量值与实际样本类别之间的差别,就可以得出算法的实际精确度

知识表示:假定这个鸟类分类程序, 经过测试满足精确度要求,是否我们就可以看到机器巳经学会了如何区分不同的鸟类了呢?这部分工作称之为知识表示,某些算法可以产生很容易理解的知识表示 ,而某些算法的知识表示也许只能为计算机所理解。知识表示可以采用规则集的形式,也可以采用概率分布的形式,设置可以是训练样本集中的一个实例。 

3.机器学习的主要任务

机器学习的另一项任务是回归,它主要用于预测数值型数据
分类和回归属于监督学习,之所以称之为监督学习,是因为这类算法必须知道预测什么,即目标变量的分类信息。 
无监督学习:数据没有类别信息,也不会给定目标值。在无监督学习中,将数据集合分成由类似的对象组成的多个类的过程被称为聚类;将寻找描述数据统计值的过程称之为密度估计。此外,无监督学习还可以减少数据特征的维度,以便我们可以使用二维或三维图形更加直观地展示数据信息

4.何选择合适的算法 

首先考虑使用机器学习算法的目的。如果想要预测目标变量的值, 则可以选择监督学习算法,否则可以选择无监督学习算法。确定选择监督学习算法之后,需要进一步确定目标变量类型,如果目标变量是离散型,如是 / 否、 1/2/3 冗或者红 / / 黑等,则可以选择分类器算法;如果目标变量是连续型的数值,如
0.0~ 100.00 -999~999 或者 +00~-00 等 ,则需要选择回归算法。 

如果不想预测目标变量的值,则可以选择无监督学习算法。进一步分析是否需要将数据划分为离散的组。如果这是唯一的需求,则使用聚类算法;如果还需要估计数据与每个分组的相似程度 ,则需要使用密度估计算法。 

其次需要考虑的是数据问题。我们应该充分了解数据,对实际数据了解得越充分,越容易创建符合实际需求的应用程序。主要应该了解数据的以下特性: 特征值是离散型变量还是连续型变量 ,特征值中是否存在缺失的值,何种原因造成缺失值,数据中是否存在异常值,某个特征发生的频 率如何(是否罕见得如同海底捞针),等等。充分了解上面提到的这些数据特性可以缩短选择机器学习算法的时间。 

5.开发机器学习应用程序的步骤 

(1 ) 收集数据 我们可以使用很多方法收集样本数据,如 :制作网络爬虫从网站上抽取数据、从 &38 反馈或者八 ?1 中得到信息、设备发送过来的实测数据( 风速、血糖等)。提取数据的方法非常多,为了节省时间与精力,可以使用公开可用的数据源。 
(2 ) 准备输入数据 得到数据之后, 还必须确保数据格式符合要求,本书采用的格式是 ?¥&01! 语言的 1 ^ 。使用这种标准数据格式可以融合算法和数据源,方便匹配操作。 此外还需要为机器学习算法准备特定的数据格式,如某些算法要求特征值使用特定的格式, 一些算法要求目标变量和特征值是字符串类型,而另一些算法则可能要求是整数类型。
(3)分析输入 数 据此步骤主要是人工分析以前得到的数据。为了确保前两步有效,最简单的方法是用文本编辑器打开数据文件,査看得到的数据是否为空值。此外,还可以进一步浏览数据 ,分析是否可以识别出模式;数据中是否存在明显的异常值,如某些数据点与数据集中的其他值存在明显的差异。通过一维、二维或三维图形展示数据也是不错的方法,然而大多数时候我们得到数据的特征值都不会低于三个, 无法一次图形化展示所有特征。本书的后续章节将会介绍提炼数据的方法,使得多维数据可以压缩到二维或三维,方便我们图形化展示数据。这一步的主要作用是确保数据集中没有垃圾数据。如果是在产品化系统中使用机器学习算法并且算法可以处理系统产生的数据格式,或者我们信任数据来源,可以直接跳过第3步。此步骤需要人工干预,如果在自动化系统中还需要人工干预,显然就降低了系统的价值。
(4)训练算法机器学习算法从这一步才真正开始学习。根据算法的不同,第4步和第5步是机器学习算法的核心。我们将前两步得到的格式化数据输入到算法,从中抽取知识或信息。这里得到的知识需要存储为计算机可以处理的格式,方便后续步骤使用。如果使用无监督学习算法,由于不存在目标变量值,故而也不需要训练算法,所有与算法相关的内容都集中在第5步。
测 试 算 法这一步将实际使用第4步机器学习得到的知识信息。为了评估算法,必须测试算法工作的效果。对于监督学习,必须已知用于评估算法的目标变量值;对于无监督学习,也必须用其他的评测手段来检验算法的成功率。无论哪种情形,如果不满意算法的输出结果, 则可以回到第4步 ,改正并加以测试。问题常常会跟数据的收集和准备有关,这时你就必须跳回第1步重新开始。 
( 6 ) 使 用 算 法将机器学习算法转换为应用程序,执行实际任务,以检验上述步骤是否可以在实际环境中正常工作。此时如果碰到新的数据问题,同样需要重复执行上述的步骤。


























猜你喜欢

转载自blog.csdn.net/baidu_35761016/article/details/54909526