基础果然要牢记(一次失败的电面)

    果然又是一个悲剧的面试,不是上次笔试的悲剧,这次又以面试的悲剧结束。设计的主要问题是毕业设计的搜索引擎的设计,设计到问题为什么爬去和索引效率为什么会这么低?这个问题还真是不太清楚,因为这个问题本来就是利用Nutch的框架,我们当中只是实现了其中的一些插件,然而我们插件会输出一些东西。我感觉最耽误时间的就是那个贝叶斯分类器了,但是当问到贝叶斯分类器的时候,就彻底的完了,当时没有意识到我实际上说的是一个KNN分类器。

    描述一下分类器的具体实现,我当时描述的是将文本和训练样本都进行分词,然后计算每个文本和样本的余弦夹角,然后选择距离最近的那一个类别作为我们标记的类别。有没有什么问题?当时没感觉有什么问题,可是她说这根本不是一个贝叶斯分类器,当时懵了,只记得贝叶斯分类器是算概率的,一时想不起来贝叶斯分类器了。描述的这个分类器当时一时也没有想起来是什么,现在电话挂的那一刻想到这是一个KNN分类器。投票机制的感觉,果断还是要时刻复习自己实现的项目的,掌握每个细节。

    现在回想一下贝叶斯分类器大概的原理,它是计算最大后验概率及 P(Ci|Xi...),及出现这一堆频率的时候Ci出现的概率大小,选取最大的那个作为结果。根据贝叶斯公式可以对后验概率进行转换,转换为先验概率的计算P(Ci|Xi...)=P(Xi...|Ci)*P(Ci)/P(Xi...),针对给出的文本,其中Xi就是分词中的每个词。针对一个文本,右边的分母部分相同。所以计算的任务就是P(Xi...|Ci)*P(Ci)这部分。假设每个词都是独立的,则可以转换为P(Xi|Ci)*P(Xj|Ci)*...*P(Ci),所以这部分最大的及为所求的类别。

    只是一个问题的原因,就果断悲剧了,面试的妹纸果断是一个搞技术的,一下子就戳穿了我。没有实现过贝叶斯分类器果然很虚。我决定有时间一定要实现一个贝叶斯分类器,自己实现算法,分词和停用词部分这些争取也自己实现,基础知识果然还是要牢牢的掌握,不能忘记。

    又一个悲剧的实习面试,自己实力太弱了,乖乖的写服务器。

    贝叶斯服务器实现(待续)...

posted @ 2013-03-14 10:49  weixliu  阅读(2884)  评论(5编辑  收藏  举报