专栏名称: 狗厂
目录
相关文章推荐
51好读  ›  专栏  ›  狗厂

「机器学习」三张图给门外汉讲清楚什么叫KS

狗厂  · 掘金  ·  · 2018-05-17 02:27

正文

有一次,我们公司开会,机器学习团队的老大汇报业绩时候说到,我们最近做出来的最好的模型,KS 达到了 0.45(不要纠结这个数字哈,随便写了一个)。搞业务的某个同学就一脸懵逼地问,这个 KS 是个什么意思呢?这是好呢?还是不好呢?

当时,对这个问题的回答是失败的,会议陷入了小小的混乱。大家遇到的困扰是,很难用“人话”或者“普通话”,讲清楚到底什么是 KS。小 L 解释不清,老 B 上,还是解释不清,老 H 登场,最后还是没让听众彻底满意,当然,搞清楚这个也不是特别重要,最后一笑也就过去了,“回去自己百度/知乎”云云。

小生斗胆,想要尝试去解释清楚什么是 KS。咱们直接上干货吧。

我们公司的机器学习建模,目标是构建一种“二分类”模型,简单说,就是把一群人,分成“好人”和“坏人”。建模最后的结果是,我们使用模型给每个人打个分数,分数越低,人越坏,反之,则越好。然后,按照分数高低,我们可以把人给排列整齐。

看上图,模型产生 10 个分数,从低到高,把 100 个人,按照从坏到好,排成 10 列。这种排列的方式,是模型的一种预测,它不知道真实的情况是什么。

我们用颜色代表真实的情况。图里,红色代表坏人,绿色代表好人。假如,我们这个模型是上帝做的,绝对正确,我们就会看到一种现象,左边 5 列都是红的,右边 5 列都是绿的。

但是,模型是人做的,难免猜错,就会出现上面的现象,大体左边坏人多一些,右边好人多一些,但是有一些猜错的现象。每个小格子里的编号,是为了让读者你方便计算数量。显然,这 100 个人里,正好 50 个好人,50 个坏人。

下面,我需要一个机器警察去抓坏人。不过,这个机器警察只能按照模型预测的分数去抓,我们设定一个分数值,机器警察会把小于等于这个分数的人,都给抓起来。

现在我们需要做一个表格,来计算每个分数下面,抓到的坏人占全部坏人的比率(抓对率),以及抓到的好人占全部好人的比率(误抓率)。

看上面的图。假设,我们设为 0 分,没有人会被抓。同理,设置为 10 分,则所有坏人(100%)和所有好人(100%)都会被抓。

上面图里的表格,每一列代表,设置为这个分数时候,抓住的好人占所有好人的概率(误抓率),以及抓住的坏人占所有坏人的概率(抓对率)。第三行数字,代表两种概率的差值(坏人的概率 减去 好人的概率)。







请到「今天看啥」查看全文