机器学习包括有监督学习(supervised learning),无监督学习(unsupervised learning),和半监督学习(semi-supervised learning).
在有监督学习中,数据是有标注的,以(x, t)的形式出现,其中x是输入数据,t是标注.正确的t标注是ground truth, 错误的标记则不是。(也有人将所有标注数据都叫做ground truth)
由模型函数的数据则是由(x, y)的形式出现的。其中x为之前的输入数据,y为模型预测的值。标注会和模型预测的结果作比较。在损耗函数(loss function / error function)中会将y 和 t 作比较,从而计算损耗(loss / error)。 比如在最小方差中:
1 2 m ∑ i = 1 m ( y − t ) 2 \frac { 1 } { 2 m } \sum _ { i = 1 } ^ { m } ( y - t ) ^ { 2 } 2m1i=1∑m(y−t)2
因此如果标注数据不是ground truth,那么loss的计算将会产生误差,从而影响到模型质量。
比如输入三维,判断是否性感:
1.错误的数据
标注数据1 ( (84,62,86) , 1),其中x =(84,62,86), t = 1 。
标注数据2 ( (84,162,86) , 1),其中x =(84,162,86), t = 1 。
这里标注数据1是ground truth, 而标注数据2不是。
预测数据1 y = -1
预测数据2 y = -1
Loss = 1 2 × 2 ( ( − 1 − 1 ) 2 + ( − 1 − 1 ) 2 ) = 2 \text { Loss } = \frac { 1 } { 2 \times 2 } \left( ( - 1 - 1 ) ^ { 2 } + ( - 1 - 1 ) ^ { 2 } \right) = 2 Loss =2×21((−1−1)2+(−1−1)2)=2
1.正确的数据
标注数据1 ( (84,62,86) , 1),其中x =(84,62,86), t = 1 。
标注数据2 ( (84,162,86) , 1),其中x =(84,162,86), t = -1 。 (改为ground truth)
这里标注数据1和2都是ground truth。
预测数据1 y = -1
预测数据2 y = -1
Loss = 1 2 × 2 ( ( − 1 − 1 ) 2 + ( − 1 + 1 ) 2 ) = 1 \text { Loss } = \frac { 1 } { 2 \times 2 } \left( ( - 1 - 1 ) ^ { 2 } + ( - 1 + 1 ) ^ { 2 } \right) = 1 Loss =2×21((−1−1)2+(−1+1)2)=1
由于使用错误的数据,对模型的估计比实际要糟糕。另外,标记数据还被用来更新权重,错误标记的数据会导致权重更新错误。因此使用高质量的数据是很有必要的。
转自
作者:lee philip
链接:https://www.zhihu.com/question/22464082/answer/21443035
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。