cs 领域的数学公式是怎么回事?

2017-04-10  本文已影响0人  goleo

我昨天刚刚领悟到,数学公式的精髓所在。我之前一直是非常鄙视公式的,coreseek的标准差算法,等等,只要有人在我面前扯软件领域的数学公式之类,我就觉得这人是神棍。直到昨天,我发现我这种方法是非常行之有效的,正因为我之前完全不把数学公式放在眼里,视之为神明,所以我今天才能领略软件工程里面的一些数学公式是怎么回事,如此短的时间领略到精髓的思想,为什么一些算法实现会用到一些或简单,或复杂的数学公式。下面我就来讲讲,coreseek的标准差算法是怎么来的。

我昨天的启发,完全是因为我看了mysql的文档,他里面也用到一些简单的公式。我发现mysql的这些简单的公式,在80%的业务场景里面解决了一些问题,提高了性能。如果你问,为什么不能做到100%呢?因为为了易用性等等,需要有些取舍。就好像coreseek的标准差算法,标准差为什么能提高分词准确率,其实我一早就知道了,就是中文里面,单个字作为一个词的概率出现很少。所以套上标准差公式,就能在1万种业务场景把准确率提高到90%。如果你又问,为什么不能提高到100%?当然可以了,只要你针对1万种业务情况,写1万遍if else,if else 里面一大堆逻辑判断。而且这1万种里面还要考虑各种业务冲突的情况。做到了,就是100%,但是那个会是多么大的开发成本,不如请100个人来做人工操作就好了。特别是2001年这种计算机计算速度,存储设备还不够快的时代。但现在不一样了,语音识别,图像识别,这些年能搞起来,完全是因为通信领域的发展,计算机计算速度,存储设备,都提高了。可以用计算量更大的方式,来获取更高的准确率。不会因为硬件的束缚,只能这种选取一些不太好的公式算法。当然还有互联网发展带来的数据量的增长。

我再说一句,一个数学公式,如果能在软件领域,表达80%的事物的本质,已经是不错的了。

上一篇下一篇

猜你喜欢

热点阅读