以下内容纯属个人观点,如有错误,欢迎批评指正。
首先,我假设我有一堆样本长成下面这个样子:
现在,我假设的是我的标签变量Y是服从0-1分布的,因为我的标签不是取0就是取1,只是我不知道取得0或者取得1的概率而已:
那么,从参数估计的角度来讲,我需要做的就是得到这里的θ的估计量。一个问题是使用什么估计法呢?我们使用的是点估计法,然后使用的是极大似然估计,因为我们已经有了一组样本的观测值。当然,你也可以使用矩估计法,但是在这里看似估计的仅仅是一个参数θ,但是实际上估计的是权重向量W,所以W有多少个就需要多少阶矩,这个计算量太大。(也许你可以搞定~~~)
如果问题仅仅就是基于(1)标签变量服从0-1分布;(2)已知一组标签变量的观测值。然后就基于这组观测值使用极大似然估计来得到θ的估计值,那就太简单了,我的这些特征也不需要了。问题是需要对于这些特征向量(空间中的点)进行分类,如果脱离了特征本身就没有意义了。问题的关键是,我们这里的θ其实是条件概率:
所以,这里的θ就不单单是一个一元参数了,它应该是和我们的特征有关系的,一个假设就是,事件的对数几率是特征的线性函数。
也就是说,只要我们的X和Y是服从联合分布P(X,Y)那么基于这个联合分布,我们可以说这个总体的分布形式是这个样子的:
所以,概率密度函数的形式就变成了下面这个样子:
那么之后就可以使用极大似然估计结合梯度上升发来得到相应的W的估计值。
在得到了W的估计值以后,我们就可以依据前面的公式,基于每个输入样本来得到θ的值了:
现在面临的问题就是你的临界的θ设定为多少呢?就是说只要这个标签是正例的概率大于多少你就给分为正例呢?上表中我们可能临界值设定为θ = 0.6就可以使得我们的样本中没有错误的分类。如果θ临界值设置为0.5的话那么我们就会得到几个错误的分类,所以这个就有了我们的ROC曲线。实际的问题中如何设置临界值则需要根据实际情况来权衡。