考虑一个问题,其实是一个很久的问题...
训练的过程到底在做什么?
我自己的理解是:
(如果用规则,那对于一条样本,其实是一个特定的分类结果,那么也就无所谓训练的问题)
既然是训练,那么其实本身就是一个概率模型;
换句话说,对于特定的一个样本,model给出的结果是一个最大概率的结果。
所以我们才用大量的训练集数据去让模型学习,学习比如
正样本应该符合怎样的特征, 负样本应该符合怎样的特征
这些都是基于经验的,而这些经验则是训练数据给的。
所以说,训练数据越多,经验越丰富,模型的效果就会越好
如果训练一个分类器,那么测试or使用模型的时候,不是一条一条的去决策的吗,和分布有关系吗?
是一条一条去决策,但是如上文,对于特定的一个样本,model给出的结果是一个最大概率的结果。
如果模型会说话,在决策时,它可能会说,根据历史经验,这个样本在满足了这些特征的情况下,有60%的概率为正样本。
而这个模型就是在告诉我们,在历史经验(训练数据)中,满足了这些特征的所有样本中,有60%的是正样本。
训练集和测试集一定要同分布?
先不考虑训练集和测试集。
首先,model是为真实场景服务的。
所以一个经验正确的model, 训练集的分布应该和真实场景的分布相同
即:D(Reality scenario) \sim D(Training set) (用 D 表示 distribution)
那么测试集是为了衡量model的好坏的,所以测试集的分布也应该和真实场景同分布
即:D(Reality scenario) \sim D(Testing set)
这样一来,其实就是 D(Reality scenario) \sim D(Testing set) 了
网友评论