写在前面
非参数模型(non-parametric model)和参数模型(parametric model)作为数理统计学中的概念,现在也常用于机器学习领域中。
在统计学中,参数模型通常假设总体服从某个分布,这个分布可以由一些参数确定,如正态分布由均值和标准差确定,在此基础上构建的模型称为参数模型;非参数模型对于总体的分布不做任何假设或者说是数据分布假设自由,只知道其分布是存在的,所以就无法得到其分布的相关参数,只能通过非参数统计的方法进行推断。
所以说,参数模型和非参数模型中的“参数”并不是模型中的参数,而是数据分布的参数。 需要注意,有参数模型它的参数是有限的,可以指定出 θ 1 , θ 2 , . . . , θ n \theta_{1},\theta_{2},...,\theta_{n} θ1,θ2,...,θn,而非参数模型也并不是没有参数,而是参数的数目很多,引用知乎的例子,这里的non-parametric类似单词priceless,并不是没有价值,而是价值很高。
机器学习实际上可以总结为学习一个函数,通过输入变量映射为输出变量,由于这个函数的形式未知,所以就需要选择合适的方法来拟合这个函数。
参数模型
参数机器学习模型由于指定了目标函数的形式,所以可以极大地简化这个学习的过程,但是同样会限制学习的过程。所以参数机器学习模型包括两个部分:
1、选择合适的目标函数的形式。
2、通过训练数据学习目标函数的参数。
举个线性回归的例子,线性回归作为常见的参数模型,它通过假设输入变量与输出变量之间具有线性关系,然后就可以设置目标函数为
Y
=
a
X
+
b
Y = aX+b
Y=aX+b,需要做的就是通过合适的方法如最小二乘法来拟合目标函数的参数。
引用《Artificial Intelligence: A Modern Approach》中的话来说明参数模型的特点:
通过固定大小的参数集(与训练样本数独立)概况数据的学习模型称为参数模型。不管你给与一个参数模型多少数据,对于其需要的参数数量都没有影响。
常见的参数机器学习模型有:
1、逻辑回归(logistic regression)
2、线性成分分析(linear regression)
3、感知机(perceptron)
参数机器学习算法有如下优点:
1、简洁:理论容易理解和解释结果。
2、快速:参数模型学习和训练的速度都很快。
3、数据更少:通常不需要大量的数据,在对数据的拟合不很好时表现也不错。
参数机器学习算法的局限性:
1、拘束:以指定的函数形式来指定学习方式。
2、有限的复杂度:通常只能应对简单的问题。
3、拟合度小:实际中通常无法和潜在的目标函数完全吻合,也就是容易出现欠拟合。
非参数模型
非参数机器学习算法对目标函数形式不做过多的假设,因此算法可以通过对训练数据进行拟合而学习出某种形式的函数。
引用《Artificial Intelligence: A Modern Approach》中的话来说明非参数模型的特点:
当你拥有许多数据而先验知识很少时,非参数学习通常很有用,此时你不需要关注于参数的选取。
常见的非参数机器学习模型有:
1、决策树
2、朴素贝叶斯
3、支持向量机
4、神经网络
非参数机器学习算法的优势有:
1、可变性:可以拟合许多不同的函数形式。
2、模型强大:对于目标函数不做假设或者作出很小的假设。
3、表现良好:对于训练样本数据具有良好的拟合性。
非参数机器学习算法的局限性:
1、需要更多数据:对于拟合目标函数需要更多的训练数据。
2、速度慢:因为需要训练跟多的参数,所以训练过程通常比较慢。
3、过拟合:有较高的风险发生过拟合,对于预测的效果解释性不高。
总结
1、通过对比参数模型和非参数模型的特点,可以得知参数模型对训练数据的大小要求不如非参数模型高,因为参数模型通过对拟合函数进行假设,所以只需要对参数进行拟合即可;而非参数模型由于需要从数据中发掘数据之间关系,所以对数据量要求较高。
2、通常说到的机器学习的黑盒特性,一般指的就是非参数机器学习模型。因为它不需要做出假设,并且需要拟合很多参数,所以它的解释性就降低了。所以相比而言,参数机器学习模型由于对数据做出了理想的假设,所以得到的模型更加鲁棒,所以解释性也就更高。