先设想你在赌坊里,在赌骰子大小。如果骰子正常,出现大和小的概率应该都是1/2。可是如果你连押20次大,可是荷官却掷出了19个小,一个大,那么请问,你还会觉得这个骰子出现大小的概率是1/2么?显然概率是1/2恐怕是不太可能了,这个骰子出现小的概率肯定大于1/2,说是0.99,或许你都觉得有可能,至少比1/2要更有可能(记住,仅仅是更有可能)。好了,回到信用评分里来。
我把问题简单化,假定在数据里,我们仅有两个个客户,其记录分别为(3, 0),(1, 1)。这两个向量的第一个元素都是客户的特征,假设代表了客户的月收入(以千为单位)。第二个元素是客户的标签,0代表这个客户没有违约。根据之前的分析,令w=b*x,p=sigmoid(x)。那么b应该是多少?有时当你不知该如何去选择参数值时,你可以先看一看当这个参数变化时,会导致你对数据的理解发生什么变化。
这里,我们可以对比一下b=0.5与b=0。当b=0.5时,对于x=3的客户,w=1.5,p=sigmoid(0.3)约等于0.8。对于x=1的客户,w=0.5,p=sigmoid(0.5)约等于0.6。这里,p是客户违约的概率。x=3的客户没有违约(因为他的标签是0)且x=1的客户违约的概率是多大?就好像掷硬币一样,出现正反的概率都是0.5,扔两次,一次正面,一次反面的概率,自然就是1/2*1/2=1/4。类似的,x=3的客户没有违约且x=1的客户违约的概率是(1-0.8)*0.6=0.12。
当b=0时,我们同样可以计算出x=3的客户没有违约且x=1的客户违约的概率,它是0.25。那么,你觉得,如果b只能取0.5和0,哪个值更有可能(编辑,加粗)呢?显然,我会觉得b=0更有可能,因为b=0时这组数据出现的概率大于b=0.5时。
这里,就有了一个思路,那就是寻找b,这个b使得我们看到这组数据的概率最大。反过来说,就是,我们看到这组数据的概率其实是b的一个函数,随着b的变化,函数值也会发生变化,最大化函数值的b,就是最有可能的那个参数。在这里,这个本质上是数据发生的概率的关于b的函数,被命名为似然函数(likelihood function),它反映了b为任一值的可能性(likelihood)。最大化函数,就是统计建模里常常用到的极大似然估计。