机器学习工具包SHOGUN用户文档翻译完成

来源:互联网 发布:学c语言心得体会3000字 编辑:程序博客网 时间:2024/05/17 23:58

最近抽时间翻译了机器学习工具包SHOGUN的技术文档,这真不是一件容易的活。

首先需要把软件的基本架构搞懂。例如SHOGUN有一套自己的内存管理机制,主要原理就是引用计数。如果不先把这个搞懂,看其它的源代码就会有很多不明白的地方。另外SHOGUN主要还是通过继承来扩展, 所以几个重要的基本类一定要搞清楚,如CFeatures, CKernel。

对SHOGUN实现的算法要了解。SHOGUN中实现了很多算法,要一个个搞懂不太容易。但是它的核心是SVM,各种SVM的基本思想都是类似的,所以必须得知道SVM的基本原理。自己之前对SVM也不熟悉,所以翻译的时候还一边看<An Introduction to Support Vector Machines and Other Kernel-based Learning Methods>, 这书还是很好看的,但是现在还没看完,呃。这书还有中文版,但感觉译得不好,推荐大家看原书。

翻译的时候遣词造句不容易。其实SHOGUN文档都是一些很简单的句型,但是有些句子英文意思很好懂,但就是找不到一个很好懂的中文句子来翻译。没办法,只能怪自己的中英文水平都太烂,==!。翻译过程中还专门了解了一下科技翻译要注意的地方,然后看到了侯捷以前写的一篇文章<科技翻译面面观>。他翻译的书我看过几本,感觉还是不错的,而他写的这篇文章也不愧文章的名字--面面观,讲得的确挺全。如文章提到的应该保留一些英文术语,我翻译的过程中也保留了一些英文术语,把它们译成中文实在很别扭。另外文章里还提到,做研究还是直接看原文比较好,我也觉得其实翻译这些文档意义可能不大,顶多就方便入门罢了。大部分的科技文献都是英文的,你能都翻译过来吗?翻译过来都能保证质量吗?还不如好好把英文这门用得最广的外语学好。

最后总结一下SHOGUN这个软件包的优点,希望能有更多人来使用这个优秀的软件包并参与到这个开源项目中来。开源带给我们很多,你为开源贡献了多少呢?

  • 清晰的架构

SHOGUN采用C++实现。因为主要是实现算法,所以不需要很复杂的架构,使用继承和组合就能得到比较好的扩展性,实现和接口之间分离得很好。另外,异常和错误处理也都有一套完善的机制。

  • 丰富的内容

SHOGUN中实现大量的SVM算法(现在还在不断增加中),这些算法都可以用于许多种数据类型。除了SVM,还有其它一些常见的机器学习方法,如HMM,聚类方法等等。

  • 多样化的接口

SHOGUN除了C/C++接口外,还为python,octave, matlab以及R提供接口,这可以方便很多非C/C++开发者使用SHOGUN。而且在不同的语言中使用SHOGUN的方法非常相似,所以懂得一种接口后,在别的语言中使用时不需要什么学习时间。

  • 充足的文档

SHOGUN有很详实的用户文档和开发文档,带有非常多的可直接运行的例子。结合例子来学习会让你事半功倍。

  • 活跃的邮件列表

订阅了SHOGUN的邮件列表后,几乎每天都会有用户反馈, 或是report bug, 或者寻求帮助。列表中的很多人(包括作者)都会很热心地回答大家的问题。

如果你是做机器学习相关工作的,赶快来使用一下SHOGUN吧。

 

SHOGUN中文文档已经放到SHOGUN网站上,请看http://www.shogun-toolbox.org/doc_cn/。

原创粉丝点击