机器学习为什么需要训练,训练出来的模型具体又是什么?

解释一:

机器学习中大概有如下步骤: 
确定模型----训练模型----使用模型。
模型简单说可以理解为函数。
确定模型是说自己认为这些数据的特征符合哪个函数。
训练模型就是用已有的数据,通过一些方法(最优化或者其他方法)确定函数的参数,参数确定后的函数就是训练的结果,使用模型就是把新的数据代入函数求值。

解释二:

你可以把机器想象成一个小孩子,你带小孩去公园。公园里有很多人在遛狗。

简单起见,咱们先考虑二元分类问题。你告诉小孩这个动物是狗,那个也是狗。但突然一只猫跑过来,你告诉他,这个不是狗。久而久之,小孩就会产生认知模式。这个学习过程,
就叫“训练”。所形成的认知模式,就是”模型“。

训练之后。这时,再跑过来一个动物时,你问小孩,这个是狗吧?他会回答,是/否。这个就叫,预测

一个模型中,有很多参数。有些参数,可以通过训练获得,比如logistic模型中的权重。但有些参数,通过训练无法获得,被称为”超参数“,比如学习率等。这需要靠经验,过着grid search的方法去寻找。

上面这个例子,是有人告诉小孩,样本的正确分类,这叫有督管学习

还有无督管学习,比如小孩自发性对动物的相似性进行辨识和分类。



链接:https://www.zhihu.com/question/29271217/answer/83272460

解释三:

假设现在我们要开发一个识别鸟类的计算机程序。我们已经收集了很多鸟类样本数据,比如下面这样:

这个识别鸟类的程序要完成的功能:输入一只鸟的“体重”、“翼展”、“有/无脚蹼”、“后背颜色”,输出这只鸟的种类。

换句话说,这是一个分类系统。

怎么让计算机帮助我们对鸟类进行分类?这就需要使用机器学习的方法。机器学习可以让计算机从已有的数据(上面收集的已经有分类信息的鸟类样本数据)中学习出新的知识(如何对鸟进行分类)。

那么什么是训练?在这个例子里,训练指的就是利用收集的鸟类样本数据让计算机学习如何对鸟类进行分类这一过程。

已有类别信息的鸟类样本数据集合,称为训练数据集、训练集。训练的目的是让计算机程序知道“如何进行分类”。

至于“训练的是什么”、“参数是什么”,这依赖于我们所选取的“模型”。训练的结果简单来说就是得到一组模型的参数,最后使用采用这些参数的模型来完成我们的分类任务。


再举一个简单例子说明“模型”和“模型的参数”。

假设现在我们收集了一些二维平面上的点:红色的点记为A类,绿色的点记为B类,这些点的坐标和类别信息都是已知的。现在任务是,给出一个新的点的坐标,判断它是A类还是B类。

简单观察一下数据,好像我们可以用一条平行于 y 轴的直线把 A 类点和 B 类点分开。大概是这个样子:

我们希望找到这样一条直线 x = k,直线左边绝大多数点都是 A 类,直线右边绝大多数点都是 B 类。

于是我们的分类器模型就是 x = k 这样的直线,k 就是我们的模型参数。

训练的过程就是利用已有的数据点确定参数 k 的过程。假设我们的训练结果是 k = k_0 ,那么我们就可以用 x = k_0 这条直线作为分类器对新的点进行分类了。

当然实际应用中的模型可能要复杂的多,模型参数也不会只有一个 k 这么简单。



链接:https://www.zhihu.com/question/29271217/answer/44134218

猜你喜欢

转载自blog.csdn.net/oneil2016/article/details/81092600