Detecting change in data streams(细节理解)
持续更新
1.真阳性,真隐性,假阳性,假隐性(true posittve,true negative,false positive,false negative)
我们举一个例子。
我们把数据分成两种情况。第一种情况是我们在做实验预测之前数据本身的分不情况,也就是实际的结果。第二中情况是我们所预测的结果。最后结果就由这两部分数据的情况组成。首先是数据的真假(true or false),检测的结果只要和实际上的结果不符合,一律是false,这是根据数据的真是分布得出的。最终结果的第二部分则是由检测数据的分布得出的,好的部分(我们所希望的结果)是positive,不好的部分(我们不希望的结果)则是negative。
在我所阅读的这篇文献中,我们所希望的是change的结果越大越好,也就是说对应于上面图片中,change是positive,unchange是negative。为了得到最理想的true positive,根据上图有两种思考方式,横向思考和纵向思考。所谓横向思考也就是只考虑从真实的change和unchange分布出发,尽可能让change的概率增加。横向检测中出现的false结果(false negative)称为为错检。纵向考虑就是只考虑检测阶段的分布,让检测的结果中,true positive尽可能大。纵向检测过程中出现的false结果(false positive)称为漏检。当然还有第三种最好的方式,就是同时增加前面两种情况。
2.TV(total variation) distance
1.迭代:
最常见的迭代过程就是方程求解。以一个一元方程为例。
假设初值x=10,带入方程,得到x=5.1,x的值变小了,继续把x=5.1带入等号右边,得到x=2.746,一直算下去最终会得到一个定值,也就是方程的解。关于迭代的方向选择我也举一个例子。
考虑为了得到y的最小值,我们可以利用负梯度下降方向最快的方法,来更新x的取值。
现在x1=10,x2=x1-0.4x1=6,这样迭代就朝着y变小的方向进行了,实际上机器学习中的权重w的迭代也是如此操作你的。
2.正则项
对于正则项的描述,引用博主“三眼二郎”的说明(https://blog.****.net/a6333230/article/details/87862787)
所谓正则项就是等式中的一项,当所求的最终结果出现过拟合,表达式中加入正则项可以修正过拟合的结果,这里简单的说一下过拟合,在机器学习中,我们获得的模型在训练集上表现性能很好,但是,在测试集中表现效果很差,因为训练集的数据过于集中,导致在测试集中的与测试集集中数据不同的新的数据无法识别。例如在求解y最小值的过程中,会出现过拟合问题。
为了解决过拟合问题,我们加入正则项。如下图。
正则项实际上就是对训练的模型进行一个约束。这里我们用专业的名词说明。y被称为能量函数,等号右边第一项被称为当前函数与期望函数的差值项,我们加入的正则项被称为二范数惩罚函数。我们最终希望的结果是能量函数y越小越好,对于等号右边,我们所希望的是差值项与惩罚项都变小,差值变小可以做到,那惩罚项怎么变小呢,这里我们可以想像让个别的θ减小,这里可以对应到机器学习当中的权重,更好理解的就是y=θ1x1+θ2x2+θ3x3+θ4x4……,个别θ变成0更完美。那这样做的原理是什么呢?还是借用机器学习来说明,训练集的部分数据过于集中,训练得到的模型中θ的比重过大,那这时减小他的权重,甚至变为无效的0,得到的模型再出现过拟合的现象将大大减轻。由于正则项是对差值项中权重θ的一种制约,差值项和正则项之间你若我强,你抢我弱,但是最终的目标是一致的,那就是让能量函数y最小。举个例子,一个事三个人做也行,四个人做也行,无法得到最终策略,加上正则项人越多花钱越多,所以问题的最终策略就收敛到了找三个人做这件事了。这个例子也反映出了当模型无法收敛的时候,正则项的加入能得到使结果收敛。