2012.3.16 微博热报:生物学角度看并行计算与支持向量机

  • 郑柯

2012 年 3 月 15 日

话题:语言 & 开发架构

从生物学视角审视并行计算

EMC 中国研究院发布了一条关于并行计算的微博

人类创造的数据以几何速度增长,如何处理多核、并行计算中遇到的锁问题呢?IBM Research 的 David Ungar 做了一个霸气外露的演讲:Everything You Know (about Parallel Programming) Is Wrong! 里面提出应改以生物学视角去审视平行计算问题,而不应该以数学角度。原文参见:http://t.cn/zOVpARf

李敏 it引用了里面的内容:

S=1/(a+(1-a)/n) 其中,a 为串行计算部分所占比例,n 为并行处理结点个数。这样,当 a=0 时,最大加速比 s=n;当 a=1 时,最小加速比 s=1;当 n→∞时,极限加速比 s→ 1/a,这也就是加速比的上限。这被称为阿姆达尔定律 (Amdahl law)。不过现在可以使用非阻塞锁。

蒋卫寅 1986也说:

The smaller lock granularity be,the more throghput we gain.

左锁指出:

最近一直觉得,一个 CPU 里面几亿个晶体管,只有极少一部分是真正在运算的,其他的全是为了让这“极少一部分”工作得更有效率而存在。这是不是方向错了,我们只是因为惯性而沿着原来的路子走而已?哪位达人去听听那个 WebCast 翻译一个比较完整的内容出来?

Andy_Siyao_Liu提到:

有趣。有没有 web dev 来接是一下 how is it an algorithm in computing does not expect the right answer?

land99问到:

生物学是自治,数学是精细控制?

jebtang觉得:

这个让我想起了神书《 失控》

删微博抗议实名说:

一说并行运算,多数人都会忘了 CPU 是什么东西,自认为最专业的计算专家们一直都把电脑当成计算器,太特么土了~~~

Jw--999表示质疑:

说了多少遍了,事务内存 transactional memory 解决了这个问题。EMC research 的人看不看 Intel 的 spec 啊?

如何深度理解支持向量机

支持向量机,英文为 Support Vector Machine,简称 SV 机(论文中一般简称 SVM)。它是一种监督式的方法,它广泛的应用于统计分类以及回归分析中。支持向量机属于一般化线性分类器。他们也可以认为是提克洛夫规范化(Tikhonov Regularization)方法的一个特例。这族分类器的特点是他们能够同时最小化经验误差与最大化几何边缘区。因此支持向量机也被称为最大边缘区分类器。

eeyangc 发布了一条微博

我一直觉得这篇文章是深度理解 svm 的关键!http://t.cn/zOVU1L6

ymzhang1919

svm 特别之处在于 1.hing loss(large margin); 2.kernel method(feature mapping). 开始的时候人们都觉得 hinge loss 很重要, 有几何解释, 通过 margin 还可以推导各种迷人的 bound. 但实际效果上,hing loss 和 logistic regression,exponential loss 的差别其实不大. 所以 SVM 真正的贡献是 kernel mapping.

从上一个观点出发,在 loss+penalty 的框架下,penalty 其实更加重要。因为高维的数据很多时候都是线性可分的,也即存在无穷多错误率为 0 的分类面,要通过正则化从中进行选取。文章里通过一个实验验证了正则因子的重要性。

daibond认为:

我不觉得是 kernel, 这个概念很早就有了。非要说 svm 的贡献,我觉得是 convex optimization 以及直观易懂的 intuition。让很多人入门以及使用方便多了。svm 最该感谢的是 libsvm

微博作者 eeyangc 在评论中提到:

要理解 SVM 的成功,我觉得可以考虑以下几个方面:第一,SVM 求解最优分类器的时候,使用了 L2-norm regularization,这个是控制 Overfitting 的关键。第二,SVM 不需要显式地构建非线性映射,而是通过 Kernel trick 完成,这样大大提高运算效率。

第三,SVM 的优化问题是凸问题,优化专家们为 SVM 设计了很多巧妙的解法,解得相当快,比如 Libsvm 的 SMO 和 Liblinear 的 coordinate descent 都相当棒!第四,Vapnika 的统计学习理论为 SVM 提供了很好的理论背景(这点不能用来解释为什么 SVM 这么 popular,因为由理 论导出的 bound 太 loose)。

jamesliyufeng回复@eeyangc:

嗯,补充两点。一个是 SVM 当年在 text categorization 取得非常好的性能,是 SVM popular 的一个重要原因。另外,从优化角度上看,各种 loss + regularization 的最优解所对应的 empirical loss 是相互 bound 的(因为 loss 和 regularization term 是相互 bound 的),在性能上也是 comparable 的。

所以我个人认为,性能上,SVM, LR, BOOST 等差不太多 (LS 有时候会差一些)。选择的时候要考虑更多的是模型的副产品,比如概率解释找 LR,效率 boost 好些,稀疏解 LASSO 等。

肖智博 Sean

找到了这篇评论文章的原文 Support Vector Machines with Applications 觉得同样值得阅读啊!而且是在 Project Euclid 上面的文章,可以免费下载!http://t.cn/zOIVi88

今日微博推荐

付超群

推荐理由:腾讯网媒产品技术部高级工程师,Lamp 程序开发、全文检索以及数据挖掘技术专家。


欢迎读者关注@InfoQ,推荐热门话题,可私信@InfoQ,同时请您说明推荐理由。

语言 & 开发架构