zoukankan      html  css  js  c++  java
  • 参数与非参数的机器学习算法

    https://blog.csdn.net/zwl_123/article/details/72763856

    原文:http://machinelearningmastery.com/parametric-and-nonparametric-machine-learning-algorithms/
    作者:Jason Brownlee
    翻译:AI梦蝶

    译者注:这篇文章中主要介绍了参数和非参的一些机器学习模型的区别。

      一个参数机器学习算法是什么,与非参的机器学习算法又有什么不同呢?

      在这篇文章中,你会发现参数和非参数机器学习算法之间的区别。

       让我们开始吧!

      这里写图片描述

      学习一个函数

       机器学习可以归结为学习一个函数(f),把输入变量(X)映射到输出变量(Y):

     
    Y=f(X)Y=f(X)

      算法可从训练数据中学习这样的目标映射函数。

      函数的形式是未知的,我的工作正为机器学习从业人员评估不同的机器学习算法,从而看一看哪一个算法更接近潜在的函数。

      不同的算法对函数的形式有不同的假设或者偏见,以及如何学习目标函数。

      获得一张你的免费算法思维导视图

      这里写图片描述

      参数机器学习算法

      假设可以最大程度地简化学习过程,与此同时也限制可以学习到是什么。这种算法简化成一个已知的函数形式,这称为参数机器学习算法。

    A learning model that summarizes data with a set of parameters of fixed size (independent of the number of training examples) is called a parametric model. No matter how much data you throw at a parametric model, it won’t change its mind about how many parameters it needs.
    ——Artificial Intelligence: A Modern Approach, page 737

      这种算法包括两种步骤:

         1. 选择一种目标函数的形式;

         2. 从训练数据中学习目标函数的系数。

      一种最容易理解目标(映射)函数的形式就是一条直线,用于线性回归:

     
    b0+b1x1+b2x2=0b0+b1∗x1+b2∗x2=0

      此处的b0b0、b1b1和b2b2是直线的系数,用于控制直线的截距和斜率,x1x1和x2x2是两个输入变量。

      把目标函数的形式假设为一条直线大大简化了学习过程。现在,我们需要做的是估计这个直线等式的系数,和有一个预测模型的问题。

      通常假设函数的形式是一个输入变量的线性组合,因此这种参数机器学习算法经常也称为“线性机器学习算法”。

      问题是,实际的未知潜在函数可能不是一个线性函数,比如一条直线。它 可能接近一条直线和需要一些细微的输入调整。或者可能不像一条直线,在这种情况下,假设就是错误的,这种方法将会产生很差的结果。

      参数机器学习算法的一些常见例子包括:

    • Logistic Regression
    • LDA(线性判别分析)
    • 感知机
    • 朴素贝叶斯
    • 简单的神经网络

      参数机器学习算法的优点:

    • 简单:这些算法很容易理解和解释结果;
    • 快速:参数模型可以很快从数据中学习;
    • 少量的数据:它们不需要太多的训练数据,甚至可以很好地拟合有缺陷的数。

      参数机器学习算法的局限性:

    • 约束:这些算法选择一种函数形式高度低限制模型本身;
    • 有限的复杂性:这种算法可能更适合简单的问题;
    • 不适合:在实践中,这些方法不太可能匹配潜在的目标(映射)函数。

      非参数机器学习算法

    不对目标函数的形式作出强烈假设的算法称为非参数机器学习算法。通过不做假设,它们可以从训练数据中自由地学习任何函数形式。

    Nonparametric methods are good when you have a lot of data and no prior knowledge, and when you don’t want to worry too much about choosing just the right features.
    ——Artificial Intelligence: A Modern Approach, page 757

      在构造目标函数时,非参的方法寻找最合适的训练数据,同时保留一些对不可见数据的泛化能力。因此,这些非参方法能够拟合大多数的函数形式。

      一种理解非参模型的最好例子是KNN算法,对于一个新的数据实例,KNN基于K个最相似的训练模式(已标记的实例)。这种方法除了模式可能更接近有一个相似的输出变量之外,不需要对目标函数的形式作出任何的假设。

      非参数机器学习算法的一些常见例子包括:

    • KNN
    • 决策树,比如CART和C4.5
    • SVM

      参数机器学习算法的优点:

    • 灵活性:拟合大量的不同函数形式;
    • 能力:关于潜在的函数不需要假设(或者若假设);
    • 性能:可以得到用于预测的高性能模型。

      参数机器学习算法的局限性:

    • 更多的数据:需要更多的训练数据用于估计目标函数;
    • 慢:训练很慢,因为它们常常需要训练更多的参数;
    • 过拟合:更多的过度拟合训练数据风险,同时它更难解释为什么要做出的具体预测。

      扩展阅读

    如果你正在寻找关于参数和非参机器学习算法更多的区别,这部分列出了一些资源。

      书籍

      帖子

  • 相关阅读:
    JMeter性能测试中控制业务比例
    软件版本命名规范
    软件测试方法——静态测试与动态测试
    安装BugFree 3.0.4时出现的问题
    Linux下给mysql创建用户分配权限
    LoadRunner 测试脚本
    linux dd命令详解
    Linux查看CPU和内存使用情况
    Error:java: 无效的源发行版: 10
    rf接口自动化之结果校验
  • 原文地址:https://www.cnblogs.com/dhcn/p/12007086.html
Copyright © 2011-2022 走看看