你学习到这里,已经接触了两个学习算法,一个是kNN,一个是线性回归。
线性回归就是典型的参数学习。因为他假设我们的数据符合一个模型,在线性回归中,即是线性模型。之后,我们的任务是求出这个线性模型的参数:theta对应的值。这样的学习方式就是参数学习。换句话说,我们假设我们的问题符合一个固定的数学模型,我们要做的事情是求出这个数学模型的参数。
kNN是非参数学习。在这个学习过程中,我们没有假设我们的数据符合任何模型。我们只是依据一个固定的逻辑——最近邻进行分析判断。这样的学习方式叫做非参数学习。我们的学习过程不是求解数学模型中的某些参数。
非参数学习不代表没有参数。非参数学习可以有参数,甚至可以有很多参数。比如kNN中的k,就是一个参数。但这个参数是一个超参数,在学习前,需要我们设定好,才能进行学习过程;而不像模型的参数,模型参数使我们的学习算法具体求解的对象,如线性回归中的theta。
你也可以这么理解:参数学习通常都更加“数学”,他假定我们的数据符合一个数学模型,然后去求解数学模型中的参数;非参数学习通常都更加“计算机”,他按照某种算法逻辑,得到我们希望的结果:)