美文网首页机器学习和人工智能入门
机器学习实战(一):机器学习基础

机器学习实战(一):机器学习基础

作者: Mr希灵 | 来源:发表于2016-04-07 14:49 被阅读527次

    何谓机器学习

    机器学习就是把无序的数据转换成有用的信息,对与任何需要操作数据的领域都有所裨益。

    机器学习的主要任务就是分类,当我们决定使用某个机器学习算法进行分类,首先需要做的是算法训练,即学习如何分类。通常我们为算法输入大量已分类数据作为算法的训练集。训练集是用于训练机器学习算法的数据样本集合,每个训练样本包含多个特征和一个目标变量。目标变量是机器学习算法的预测结果,在分类算法中目标变量的类型通常是标称型的,而在回归算法中通常是连续型的。训练样本必须知道目标变量的值,以便机器学习算法可以发现特征和目标变量之间的关系。我们通常将分类问题中的目标变量称为类别,并假定分类问题只存在有限个数的类别。

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

    机器学习的主要任务

    除了分类问题(将实例数据划分到合适的分类中)外,机器学习的另一项任务就是回归,它主要用于预测数值型数据,如数据拟合曲线。分类和回归都属于监督学习,因为这类算法必须知道预测什么,即目标变量的分类信息。

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

    如何选择合适的算法

    选择实际可用的算法必须考虑以下两个问题:使用机器学习算法的目的;需要分析或收集的数据是什么。

    考虑使用机器学习的目的。如果想要预测目标变量的值,则可以选择监督学习算法。在根据目标变量的类型,离散型选择分类器算法,连续数值型选择回归算法。如果不想预测目标变量的值,则可以选择无监督算法,再根据是否需要将数据划分为离散的组,确定使用聚类算法,如果还需估计数据与每个分组的相似程度则选择使用密度估计算法。

    这里我们主要聚焦在分类器算法

    其次需要考虑数据问题。特征值是离散型变量还是连续型变量,特征值中是否存在缺失的值,何种原因造成缺失,数据中是否存在异常值,某个特征发生的频率如何。充分了解这些数据特性有助于我们选择机器学习算法。

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

    1. 收集数据:如使用网络爬虫从网上抽取数据,设备发送来的实测数据等
    2. 准备输入数据:确保数据格式符合要求,方便匹配操作
    3. 分析输入数据:人工分析得到的数据是否存在空值、异常值,是否可以识别出模式
    4. 训练算法:将训练数据集输入到算法中,抽取知识或信息
    5. 测试算法:评估算法的效果,如识别准确率、用时等
    6. 使用算法:将算法转换为应用程序,执行实际任务。

    Python语言的优势

    为什么选择Python作为实现机器学习算法的编程语言?

    1. Python的语法清晰
    2. 易于操作纯文本文件
    3. 使用广发,存在大量的开发文档

    缺点:性能问题,运行效率不高。

    相关文章

      网友评论

        本文标题:机器学习实战(一):机器学习基础

        本文链接:https://www.haomeiwen.com/subject/bximlttx.html