调参数。用已有的数据让机器找到解决问题效果比较好的参数。
训练是指跑模型和调参数两个步骤:给定一组参数,把模型在数据集上跑一遍。最后把跑分最优的参数确定出来,模型就在我们的数据集上训练好了。


如果你指的是机器学习演算法,我个人的理解是所谓的训练过程,也叫学习过程,其实是一个统计过程。尽管这么说不算很准确,因为严格的说现在的深度学习已经算不上真正的统计方法,但是这样比较容易明白训练的本质。这个过程是,首先给定一个统计模型,统计模型具有一定的参数,训练过程就是通过已有的观测到的数据,来计算对应模型的参数应该是什么,才能更好的描述这些数据,也使得我们可以估计一些未知的数据。举个例子,线性回归。我现在假设一个人的身高与其父母身高呈线性关系,height =a*f+b*m+c。这就是模型。那么我想知道具体是什么关系,我就需要大量的数据来计算a b c的值,以得出最合适的能描述这种关系的参数。这就是训练。得到参数后,我就可以通过父母的身高,计算出子女的身高是多少了,这个就是预测。现在的深度学习,支持向量机,逻辑回归,随机森林等等,结构更加复杂,以至于失去了直观的统计意义,是为了解决更复杂的,非线性的问题,但究其本质的思想方法,其实就是统计过程。

这就是我对机器学习过程的理解。


函数的参数(parameter)


以人脸识别为例。

数学和演算法的任务是正确的将你的脸和你的名字对应起来。

数据训练任务是告诉程序哪张脸和你的名字对应是正确的。


简单用人来类比一下。

眼睛看到如下的图片,大脑就「知道」这些图片是【猫的图片】:

看到——明白,这个就是我们训练的预期结果,人工智慧,现在本质上也就是一种神经网路。这玩意,一开始如同一张白纸,也就是输入任何东西,输出都是完全不确定的,就像婴儿一样,思维是完全混沌的,刚出生出来,啥都不知道,得慢慢一点一滴教他/她说话、识字、认物、学习等等。

神经网路一开始具备的能力,就是「整理归纳【已知正确的】输入-输出数据」和「根据得到的【训练结果】对新的输入数据进行计算输出」,也就是「学习」和「应用」,通过大量的学习,和一个优秀的归纳框架,生成一组训练结果,用以对【处理程序】进行调整,使其「尽可能符合【已知正确的】输入-输出数据」。

然后就可以对需要进行运算的数据来跑啦,要是没有训练过程,指鹿为马都是小儿科了。

这样当然不能保证对所有的输入数据都能得到正确的输出,但人学了几十年都可能变得老眼昏花/发疯/偏执狂,机器偶尔犯个二/出个错/死个机也很正常吧?


其实现阶段的人工智慧并没有处在很高的层次,离人类的心智还是想差很远,其唯一优势就是高运算速度,这也是决定了其对数据有著极强的运算能力,其实简单地说逻辑推理和分析也是一种演算。这样「喂给」这个机器的数据,也是由人来提供的,那样,如果人提供的数据存在偏向性或是不完备,机器有时候是无法完全判别的。这个和人类用人的心智来判断还是有很大差距的。


推荐阅读:
相关文章