SHOGUN
v0.9.0
首页
相关页面
类
文件
SHOGUN 项目文档
常见问题
Q: : shogun为这么多语言提供接口,哪一种语言和哪一种接口我应该使用? A: 这主要取决于你喜欢哪一种。我个人认为模块化接口(python_modular, octave_modular)是最好的。 说最好主要是因为模块化接口灵活且易于扩展。但如果你只想使用一个或多个核函数来训练一个SVM, 所有的静态接口都可以满足。此外,我推荐你使用
python
http://www.python.org
:-)。
Q: : 如果我发现一个bug,我应该在哪里报告? A: 你可以在我们的bug跟踪器http://trac.tuebingen.mpg.de/shogun报告,或者在邮件列表里提出来。
Q: : 如果我使用多核函数学习,一定需要CPLEX吗? A: 不一定,在版本0.7.0中你如果需要学习各个核函数的权重,不需要cplex。然而如果你想使用CPLEX(tm) 来作多核函数学习,你需要确定cplex可在环境变量PATH包含的路径中能被找到。对标准的1-范数多核函数学习 (MKL),你需要GNU Linear Programming Kit(GLPK)4.29或者CPLEX。对于p-范数MKL(p>1), 没有CPLEX也可以。
Q: : 当我使用了多个核函数时,它会自动作多核函数学习吗? A: 不会,多个feature或kernel的简单组合只是将它们简单地相加。只有你指定要学习权重时才会作MKL。 在静态接口中你可以使用
[W]=sg('get_subkernel_weights')
来查看权重 是不是都是1.0。
Q: : 为何shogun没有windows的编译版本? A: 那样需要cygwin以及相关的依赖包。因为我们都不用windows,而且在cygwin中使用时会经常挂掉,所以欢迎 提供补丁。如果你需要一个win32的移植版本,现在没有,不过我们接受相关补丁:-)
Q: : shogun是如何管理内存的? A: 与python相似,我们采用了引用计数。例如一个对象引用了另外一个对象,那被引用的对象的引用计数 就用增加,当被引用的对象使用完后计数就会减少。需要注意的是,shogun不会检查相互引用的情况(如A引用B同时B 也引用A),这种情况有可能导致内存泄漏。然而,这种情况很容易避免,你只要保证没有将核函数包含自身作为子核函数。
SHOGUN
Machine Learning Toolbox - Documentation