机器学习基础

何谓机器学习

简单地说,机器学习就是把无序的数据转换成有用的信息。机器学习横跨计算机科学、工程技术和统计学等多个学科,需要多学科的专业知识。

机器学习的主要任务就是分类。有很多机器学习算法非常善于分类。

最终我们决定使用某个机器学习算法进行分类时,首先需要做的是算法训练,即学习如何分类。通常我们为算法输人大量已分类数据作为算法的训练集。训练集是用于训练机器学习算法的数据样本集合,目 标 变 量 是 机 器 学 习 算 法 的 预 测 结 果 , 在 分 类 算 法 中 目 标 变 量 的 类 型 通 常 是 标 称 型 的 ,
而 在 回 归 算 法 中 通 常 是 连 续 型 的 。训练 样 本 集 必须 确 定 知 道 目 标 变 量 的 值 , 以 便 机 器 学习 算 法 可
以 发 现 特 征 和 目 标 变 量 之 间 的 关系 。

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

机器学习的主要任务

上述介绍了机器学习的分类问题,它的主要任务是将实例数据划分到合适的分类中。机器学习的另一项任务是回归,它主要用于预测数值型数据。大多数人可能都见过回归的例子——数据拟合曲线:通过给定数据点的最优拟合线。分类和回归属于监督学习,之所以称之为监督学习,是因为这类算法必须知道预测什么,即目标变量的分类信息。

与监督学习相对应的是无监督学习,此时数据没有类别信息,也不会给定目标值。在无监督学习中,将数据集合分成由类似的对象组成的多个类的过程被称为聚类;将寻找描述数据统计值的过程称之为密度估计。此外,无监督学习还可以减少数据特征的维度,以便我们可以使用二维或三维图形更加直观地展示数据信息。

下标列出了机器学习的主要任务,以及解决相应问题的算法:
机器学习主演任务以及算法

如何选择合适的算法

从上图所列的算法中选择实际可用的算法,必须考虑下面两个问题:

一、使用机器学习算法的目的。想要算法完成何种任务,比如是预测明天下雨的概率还是对投票者按照兴趣分组;

二、需要分析或收集的数据是什么。

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

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

在大多数情况下,上面给出的选择方法都能帮助我们选择恰当的机器学习算法,但这也并非一成不变。

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

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

  1. 收集数据
  2. 准备输入数据
  3. 分析输入数据
  4. 训练算法:如果使用无监督学习算法,由于不存在目标变量值,故而也不需要训练算法,所有与算法相关的内容都集中在第五步。
  5. 测试算法
  6. 使用算法

Python语言的优势

基于以下三个原因,选择Python作为实现机器学习算法的编程语言:
1. 语法清晰
2. 易于操作纯文本文件
3. 使用广泛,存在大量的开发文档

Numpy函数库

机器学习算法涉及很多线性代数知识,因此本书在使用Python语言构造机器学习应用时,会经常使用Numpy函数库。将数据表示为矩阵形式,只需要执行简单的矩阵运算而不需要复杂的循环操作。Numpy函数库需要单独安装。

安装之后,在shell开发环境中输入下列命令:
引入Numpy所有模块
上述命令将Numpy函数库中的所有模块引入当前的命名空间。
更多使用方法这里不再介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值