1、参数模型(parametric models)
在机器学习中,有一组训练数据 ,
,通常都会先提出一个假设
,然后通过训练这个假设让
不断接近数据的真实的函数
(也叫映射函数)。
注意这个真实的函数是未知的,我们要做的只是不断逼近真实的函数。
还有假设 其实就是一个方程,这个是人为定义的。比如根据数据的分布趋势,选取了线性回归
,则假设函数
便是
。这个假设中除了
是已知的,
均是未知的且
是假设
方程的参数,则将训练数据去拟合该假设即可得到
。
正常来说,参数模型的模型的参数都是固定的,就如上面的线性回归,参数固定为 2 个;对于高斯函数,函数形式是固定的,参数 也是固定的。
总的来说,若要使用参数模型进行预测,则在用参数模型前就已经知道模型有哪些参数。
定义:
In statistics, a parametric model or parametric family or finite dimensional model is a particular class of statistical
models. Specifically, a parametric model is a family of probability distributions that has a finite number of
parameters.(Wikipedia)
在统计学中,参数模型通常假设总体(随机变量)服从某一个分布,该分布的一些参数确定(比如正太分布由均值和方差确定),在此基础上构建的模型称为参数模型。
优点:
- 简单,这些方法易于理解和解释结果。
- 学习快,参数模型能快速从数据中学习。
- 适合数据集少,参数模型不需要很多训练数据仍可以对数据进行拟合尽管效果不佳。
缺点:
- 函数约束,通过选择函数形式,这些方法受到指定形式的高度约束(参数模型可以用数学表达式表示出来)。
- 复杂度低,这些方法更适合于简单的问题。
- 拟合效果较差,实际上,这些方法不太可能匹配底层映射函数
2、非参数模型(nonparametric models)
在机器学习中非参数模型不用提出假设函数 ,而是直接对映射函数
学习。通过不做假设,他们可以自由地从训练数据中学习任何函数形式。
如K近邻算法,该算法通过计算训练样本之间的距离来对未知样本分类,在计算过程中只用到训练样本本身的数据,并没有需要拟合才能得到的其他参数。假设已知训练样本是 是 d 维数据,未知样本也是 d 维数据
,则两者的距离为:
上式中的 根据采取的距离度量方式自主选取,不需要通过模型训练获得。该方法对映射函数的形式不做任何假设,除了相近的模式可能具有类似的输出变量之外。
在构造映射函数时,非参数方法寻求对训练数据的最佳拟合,同时保持对未知数据的泛化能力。因此,它们能够适应大量的函数形式。
定义:
Non-parametric models differ from parametric models in that the model structure is not specified a priori but is instead
determined from data. The term non-parametric is not meant to imply that such models completely lack parameters
but that the number and nature of the parameters are flexible and not fixed in advance.(Wikipedia)
非参数模型对于总体的分布不做任何假设,只是知道总体是一个随机变量,其分布是存在的(分布中也可能存在参数),但是无法知道其分布的形式,更不知道分布的相关参数,只有在给定一些样本的条件下,能够依据非参数统计的方法进行推断。
注意非参数模型不是说没有参数,只是模型的参数是不固定的且事先没有定义或者这些参数对于我们来说是不可见(不可知)的。
优点:
- 灵活,能够适应大量的函数形式(非参数模型不可以用数学表达式表示出来)。
- 对于底层函数没有假设(或弱假设)
- 可以产生更高性能的预测模型。
缺点:
- 需要更多的训练数据来估计映射函数。
- 训练要慢得多,因为他们有更多的参数需要训练
- 训练数据过拟合风险更大,当数据维数较高时,很难对某些特定预测结果做出解释。
3、半参数模型
半参数模型作为非参数模型和参数模型之间的一类模型,既继承了非参数模型的灵活性,又继承了参数模型的可解释性,可以进一步改善非参数模型的缺陷。
4、总结
下面对一些参数模型和非参数模型进行了总结,供大家参考。
Parametric | Non-parametric | Application |
polynomial regression | Gaussian processes | function approx. |
logistic regression | gaussian preocess classifier | classification |
mixture models.k-means | dirichlet process mixtures | clustering |
hidden markov models | infinite HMMs | time series |
factor analysis/PCA/PMF | infiniter latent factor models | feature discovery |
Perceptron | k-Nearest Neighbors | classification |
Naive Bayes | Decision Trees like CART and C4.5 | 回归、分类 |
Simple Neural Networks | Support Vector Machines | 回归、分类 |