什么是参数机器学习算法并且它与非参数机器学习算法有什么不同?
本文中你将了解到参数和非参数机器学习算法的区别。
让我们开始吧。
机器学习可以总结为学习一个函数(f)(f),其将输入变量(X)(X)映射为输出变量(Y)(Y)。
Y=f(x)Y=f(x)
算法从训练数据中学习这个映射函数。
函数的形式未知,于是我们机器学习从业者的任务是评估不同的机器学习算法,然后选择好的能拟合潜在的目标函数的算法。
不同的算法对目标函数的形式和学习的方式有不同的估计和偏差。
假设可以极大地简化学习过程,但是同样可以限制学习的内容。简化目标函数为已知形式的算法就称为参数机器学习算法。
通过固定大小的参数集(与训练样本数独立)概况数据的学习模型称为参数模型。不管你给与一个参数模型多少数据,对于其需要的参数数量都没有影响。 — Artificial Intelligence: A Modern Approach,737页
参数算法包括两部分:
选择目标函数的形式。 从训练数据中学习目标函数的系数。
对于理解目标函数来讲,最简单的就是直线了,这就是线性回归里面采用的形式:
b_0+b_1<em>x_1+b_2</em>x_2=0b0+b1<em>x1+b2</em>x2=0
其中b_0b0、b_1b1和b_2b2是直线的系数,其影响直线的斜度和截距,x_1x1和x_2x2是两个输入变量。
把目标函数的形式假设为直线极大地简化了学习过程。那么现在,我们需要做的是估计直线的系数并且对于这个问题预测模型。
通常来说,目标函数的形式假设是对于输入变量的线性联合,于是参数机器学习算法通常被称为“线性机器学习算法”。
那么问题是,实际的未知的目标函数可能不是线性函数。它可能接近于直线而需要一些微小的调节。或者目标函数也可能完全和直线没有关联,那么我们做的假设是错误的,我们所做的近似就会导致差劲的预测结果。
参数机器学习算法包括:
参数机器学习算法有如下优点:
参数机器学习算法的局限性:
对于目标函数形式不作过多的假设的算法称为非参数机器学习算法。通过不做假设,算法可以自由的从训练数据中学习任意形式的函数。
当你拥有许多数据而先验知识很少时,非参数学习通常很有用,此时你不需要关注于参数的选取。 — Artificial Intelligence: A Modern Approach,757页
非参数理论寻求在构造目标函数的过程中对训练数据作最好的拟合,同时维持一些泛化到未知数据的能力。同样的,它们可以拟合各自形式的函数。
对于理解非参数模型的一个好例子是k近邻算法,其目标是基于k个最相近的模式对新的数据做预测。这种理论对于目标函数的形式,除了相似模式的数目以外不作任何假设。
一些非参数机器学习算法的例子包括:
非参数机器学习算法的优势:
非参数机器学习算法局限性:
对于参数和非参数机器学习算法的不同以下是一些资源。
An Introduction to Statistical Learning: with Applications in R,章节2 Artificial Intelligence: A Modern Approach,章节18
机器学习中使用非参数理论的好处是什么? Quora 机器学习中使用非参数理论的缺点是什么? Quora 非参数统计 维基百科 参数统计维基百科 参数vs非参数 StackExchange
本文中你了解到了参数和非参数机器学习算法的不同之处。
你学习到,参数理论对于映射函数做很多的假设,这使得模型易于训练,需要的数据量少,同时也使得模型能力有限。
非参数理论对于目标函数的形式不作过多的假设,这使得模型需要更多的数据来训练,并且模型拥有高复杂度,同时也使得模型能力很强。
关于参数和非参数机器学习算法,你有什么问题吗?欢迎留下评论,我将竭力解答。
关于偏差、方差和偏差-方差的权衡,你有什么问题吗?欢迎留下评论,我将竭力解答。
原文链接:[Parametric and Nonparametric Machine Learning Algorithms(http://machinelearningmastery.com/parametric-and-nonparametric-machine-learning-algorithms/ “Parametric and Nonparametric Machine Learning Algorithms”)