微软小冰是如何实现读心术的? ?

微软小冰是如何实现读心术的? ?

同认为应该是决策树算法,且是ID3算法。决策的过程就是大家都用过的排除法~

(为什么不是C4.5,因为每轮只有两个选择,C4.5就退化成ID3了呀^_^)

装完逼了,但是我不能跑。下面是通俗的解释:

具体小冰怎么猜呢?

数据库中的每个人物都有许多特征,比如性别啊、国籍啊、职业啊等等。小冰每一轮会选择其中一个特征的一个值用一个一般疑问句来问用户,用户只能回答“是”、“不是”、“不知道”,比如“是女的吗?”、“出生在中国内地吗?”、“是歌星吗?”等等,用户的每一次回答会帮助小冰排除一部分的答案。15轮下来,范围缩小到一定程度,再从这中间选择三个可能性最大的呈现给用户。

那么小冰怎么选择要问关于哪个特征的问题呢?

对于每一个特征,后台会计算该特征中某一个值的信息增益,也就是选择这个特征的这个值作为问题之后,整个数据集的熵的减小值。信息增益(Information Gain)的计算公式如下:

选择信息增益最大的特征值,物理意义就是将数据集按这个特征值进行分配后实现尽可能的平均。

举个栗子,比如一共10个人,其中4个男生6个女生,2个大学生8个小学生,按性别分更加平均,其信息增益也就越大,所以这里要用性别来提问。

当然考虑到有时候问题的顺序会不一样,所以应该加入了随机的成分,从信息增益最大的几个特征中随机选择一个。

<del>另外吐槽一下,这个数据库还是小啊,我小樱花(宫脇咲良)居然怎么都猜不到= =</del>

--------------

经过我的不懈努力(10+次),就在刚才,小冰终于猜出了小樱花,我真是要流下感动的泪水啊>_<

小冰居然不配图,我自己配吧= =