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

    一、参数学习算法(parametric learning algorithm)

     

      定义:假设可以最大程度地简化学习过程,与此同时也限制可以学习到是什么,这种算法简化成一个已知的函数形式,即通过固定数目的参数来拟合数据的算法 

         参数学习算法包括两个步骤:

    • 选择一种目标函数的形式
    • 从训练数据中学习目标函数的系数

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

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

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

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

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

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

    二、非参数学习算法(non-parametric learning algorithm)

     

      定义:不对目标函数的形式作出强烈假设的算法称为非参数机器学习算法,通过不做假设,它们可以从训练数据中自由地学习任何函数形式,即参数数量会随着训练样本数量的增长的算法。 

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

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

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

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

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

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

    注:

      局部加权线性回归其实是一个非参数学习算法(non-parametric learning algorithm);

      线性回归则是一个参数学习算法(parametric learning algorithm),因为它的参数是固定不变的,而局部加权线性回归的参数是随着预测点的不同而不同。

      由于每次预测时都只看预测点附近的实例点,因此每一次预测都要重新运行一遍算法,得出一个组参数值,因此其计算代价很大。

  • 相关阅读:
    java List接口
    java 迭代器概述和ArrayList迭代 , Iterator是接口
    java ArrayList类, 集合 , Collection是接口
    java Calendar类
    java Date类 DateFormat类 SimpleDateFormat类
    java Random类 System类 BigInteger类 BigDecimal类
    java Pattern类
    java 正则表达式
    【Stanford Online】Engineering: Algorithms1 NO.14 Hashing: the basics
    【Stanford Online】Engineering: Algorithms1 NO.13 Balanced binary search trees
  • 原文地址:https://www.cnblogs.com/wjunneng/p/9126906.html
Copyright © 2011-2022 走看看