在机器学习中,有非参数算法与参数算法,那么它们之间有什么差别呢?
参数机器学习算法
A learning model that summarizes data with a set of parameters of
fixed size (independent of the number of training examples) is called a
parametric model. No matter how much data you throw at a parametric
model, it won’t change its mind about how many
parameters it needs.
假设可以最大程度地简化学习过程,与此同时也限制可以学习到是什么。这种算法简化成一个已知的函数形式,这称为参数机器学习算法。
这种算法包括两种步骤:
1. 选择一种目标函数的形式;
2. 从训练数据中学习目标函数的系数。
一种最容易理解目标(映射)函数的形式就是一条直线,用于线性回归:
此处的、和是直线的系数,用于控制直线的截距和斜率,和是两个输入变量。
参数机器学习算法的一些常见例子包括:
Logistic Regression
LDA(线性判别分析)
感知机
朴素贝叶斯
简单的神经网络
参数机器学习算法的优点:
简单:这些算法很容易理解和解释结果;
快速:参数模型可以很快从数据中学习;
少量的数据:它们不需要太多的训练数据,甚至可以很好地拟合有缺陷的数。
参数机器学习算法的局限性:
约束:这些算法选择一种函数形式高度低限制模型本身;
有限的复杂性:这种算法可能更适合简单的问题;
不适合:在实践中,这些方法不太可能匹配潜在的目标(映射)函数。
非参数机器学习算法
Nonparametric methods are good when you have a lot of data and no
prior knowledge, and when you don’t want to worry too much about
choosing just the right features.
不对目标函数的形式作出强烈假设的算法称为非参数机器学习算法。通过不做假设,它们可以从训练数据中自由地学习任何函数形式。
在构造目标函数时,非参的方法寻找最合适的训练数据,同时保留一些对不可见数据的泛化能力。因此,这些非参方法能够拟合大多数的函数形式。
一种理解非参模型的最好例子是KNN算法,对于一个新的数据实例,KNN基于K个最相似的训练模式(已标记的实例)。这种方法除了模式可能更接近有一个相似的输出变量之外,不需要对目标函数的形式作出任何的假设。
非参数机器学习算法的一些常见例子包括:
KNN
决策树,比如CART和C4.5
SVM
非参数机器学习算法的优点:
灵活性:拟合大量的不同函数形式;
能力:关于潜在的函数不需要假设(或者若假设);
性能:可以得到用于预测的高性能模型。
非参数机器学习算法的局限性:
更多的数据:需要更多的训练数据用于估计目标函数;
慢:训练很慢,因为它们常常需要训练更多的参数;
过拟合:更多的过度拟合训练数据风险,同时它更难解释为什么要做出的具体预测。
https://www.jianshu.com/p/d22eecb43b04
https://www.jianshu.com/p/e4c18f6538d2
总结就是所谓参数学习算法它有固定的明确的参数,参数 一旦确定,就不会改变了,我们不需要在保留训练集中的训练样本。而非参数学习算法,每进行一次预测,就需要重新学习一组 , 是变化的,所以需要一直保留训练样本。