机器学习中参数模型和非参数模型

网上关于机器学习中的参数模型和非参数模型之间的解释并没有一个完全一致的解答,

有从是不是对数据的分布做了相关假设进行分析的

 也有是从模型的参数量大小进行解答的

二者好像是一致的,但是个人觉得如下使用是不是对数据分布进行了假设来区分并不是特别好理解。

非参数模型(non-parametric model)和参数模型(parametric model)作为数理统计学中的概念,现在也常用于机器学习领域中。
在统计学中,参数模型通常假设总体服从某个分布,这个分布可以由一些参数确定,如正态分布由均值和标准差确定,在此基础上构建的模型称为参数模型;非参数模型对于总体的分布不做任何假设或者说是数据分布假设自由,只知道其分布是存在的,所以就无法得到其分布的相关参数,只能通过非参数统计的方法进行推断。

所以说,参数模型和非参数模型中的“参数”并不是模型中的参数,而是数据分布的参数。

 

看了各种解答之后,我觉得二者可以这样进行区分:

一、首先需要明确的是 非参数模型并不是说模型中没有参数!

这里的non-parametric类似单词priceless,并不是没有价值,而是价值非常高,无价,也就是参数是非常非常非常多的!(注意:所谓“多”的标准,就是参数数目大体和样本规模差不多)

而:可以通过有限个参数来确定一个模型,这样的方式就是“有参数模型”,也就是这里说的参数模型,如线性回归、Logistic回归(假定样本维度为N,则假定N个参数theta1,theta2...thetaN)。

二、其次:参数模型 :对学到的函数方程有特定的形式,也就是明确指定了目标函数的形式 -- 比如线性回归模型,就是一次方程的形式,然后通过训练数据学习到具体的参数。

所以参数机器学习模型包括两个部分:
1、选择合适的目标函数的形式。
2、通过训练数据学习目标函数的参数。

通常来说,目标函数的形式假设是:对于输入变量的线性联合,于是参数机器学习算法通常被称为“线性机器学习算法”。

 三、非参数机器学习算法:对于目标函数形式不作过多的假设的算法称为非参数机器学习算法。通过不做假设,算法可以自由的从训练数据中学习任意形式的函数

对于理解非参数模型的一个好例子是k近邻算法,其目标是基于k个最相近的模式对新的数据做预测。这种理论对于目标函数的形式,除了相似模式的数目以外不作任何假设。

四、最后:

常见的参数机器学习模型有:
1、逻辑回归(logistic regression)
2、线性成分分析(linear regression)
3、感知机(perceptron)(假设分类超平面是wx+b=0)

参数机器学习算法有如下优点:
1、简洁:理论容易理解和解释结果。
2、快速:参数模型学习和训练的速度都很快。
3、数据更少:通常不需要大量的数据,在对数据的拟合不很好时表现也不错。

参数机器学习算法的局限性:
1、拘束:以指定的函数形式来指定学习方式。
2、有限的复杂度:通常只能应对简单的问题。
3、拟合度小:实际中通常无法和潜在的目标函数完全吻合,也就是容易出现欠拟合。

 

常见的非参数机器学习模型有:
1、决策树
2、朴素贝叶斯
3、支持向量机(SVM的例子中,SVM的参数α数目和样本数目相同,从定义看来,因为参数数目和样本规模相当,所以属于无参数模型。当然,SVM通过得到支撑向量的方式,只有若干样本的参数α不为0,从这个角度,SVM还属于“稀疏模型”,这又属于另外一码事了。)
4、神经网络

非参数机器学习算法的优势有:
1、可变性:可以拟合许多不同的函数形式。
2、模型强大:对于目标函数不做假设或者作出很小的假设。
3、表现良好:对于训练样本数据具有良好的拟合性。

非参数机器学习算法的局限性:
1、需要更多数据:对于拟合目标函数需要更多的训练数据。
2、速度慢:因为需要训练跟多的参数,所以训练过程通常比较慢。
3、过拟合:有较高的风险发生过拟合,对于预测的效果解释性不高。


版权声明:本文为qq_34872215原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。