演算法后面是数学和函数,所谓的数据训练究竟是在训练什么?
调参数。用已有的数据让机器找到解决问题效果比较好的参数。
训练是指跑模型和调参数两个步骤:给定一组参数,把模型在数据集上跑一遍。最后把跑分最优的参数确定出来,模型就在我们的数据集上训练好了。
如果你指的是机器学习演算法,我个人的理解是所谓的训练过程,也叫学习过程,其实是一个统计过程。尽管这么说不算很准确,因为严格的说现在的深度学习已经算不上真正的统计方法,但是这样比较容易明白训练的本质。这个过程是,首先给定一个统计模型,统计模型具有一定的参数,训练过程就是通过已有的观测到的数据,来计算对应模型的参数应该是什么,才能更好的描述这些数据,也使得我们可以估计一些未知的数据。举个例子,线性回归。我现在假设一个人的身高与其父母身高呈线性关系,height =a*f+b*m+c。这就是模型。那么我想知道具体是什么关系,我就需要大量的数据来计算a b c的值,以得出最合适的能描述这种关系的参数。这就是训练。得到参数后,我就可以通过父母的身高,计算出子女的身高是多少了,这个就是预测。现在的深度学习,支持向量机,逻辑回归,随机森林等等,结构更加复杂,以至于失去了直观的统计意义,是为了解决更复杂的,非线性的问题,但究其本质的思想方法,其实就是统计过程。这就是我对机器学习过程的理解。
函数的参数(parameter)
以人脸识别为例。
数学和演算法的任务是正确的将你的脸和你的名字对应起来。
数据训练任务是告诉程序哪张脸和你的名字对应是正确的。
简单用人来类比一下。
眼睛看到如下的图片,大脑就「知道」这些图片是【猫的图片】: