存档

文章标签 ‘svm’

统计学习那些事

2011年7月8日 33 条评论

统计学习那些事

香港科技大学 电子与计算机工程系 eeyangc@gmail.com

在港科大拿到PhD,做的是Bioinformatics方面的东西。Bioinformatics这个领域很乱,从业者水平参差不齐,但随着相关技术(比如Microarray, Genotyping)的进步,这个领域一直风风光光。因为我本科是学计算机电子技术方面的,对这些技术本身并没有多大的兴趣,支持我一路走过来的一个重要原因是我感受到(Statistical learning)的魅力。正如本科时代看过的一本网络小说《悟空传》所写的:“你不觉得天边的晚霞很美吗?只有看着她,我才能坚持向西走。”

离校前闲来无事,觉得应该把自己的一些感受写下来,和更多的爱好者分享。

先介绍一下我是如何发现这个领域的。我本科学自动化,大四时接触到一点智能控制的东西,比如模糊系统,神经网络。研究生阶段除了做点小硬件和小软件,主要的时间花在研究模糊系统上。一个偶然的机会,发现了王立新老师的《模糊系统与模糊控制教材》。我至今依然认为这是有关模糊系统的最好的书,逻辑性非常强。它解答了我当年的很多困惑,然而真正令我心潮澎湃的是这本书的序言,读起来有一种“飞”的感觉。后来我终于有机会来到港科大,成为立新老师的PhD学生,时长一年半(因为立新老师离开港科大投身产业界了)。立新老师对我的指导很少,总结起来可能就一句话:“你应该去看一下Breiman 和Friedman的文章。”立新老师在我心目中的位置是高高在上的,于是我就忠实地执行了他的话。那一年半的时间里,我几乎把他们的文章看了好几遍。开始不怎么懂,后来才慢慢懂了,甚至有些痴迷。于是,我把与他们经常合作的一些学者的大部分文章也拿来看了,当时很傻很天真,就是瞎看,后来才知道他们的鼎鼎大名,Hastie, Tibshirani, Efron等。文章看得差不多了,就反复看他们的那本书“The Elements of Statistical learning”(以下简称ESL)。说实话,不容易看明白,也没有人指导,我只好把文章和书一起反复看,就这样来来回回折腾。比如为看懂Efron的“Least angle regression”,我一个人前前后后折腾了一年时间(个人资质太差)。当时国内还有人翻译了这本书(2006年),把名字翻译为“统计学习基础”。我的神啦,这也叫“基础”!还要不要人学啊!难道绝世武功真的要练三五十年?其实正确的翻译应该叫“精要”。在我看来,这本书所记载的是绝世武功的要义,强调的是整体的理解,联系和把握,绝世武功的细节在他们的文章里。

由于篇幅有限,我就以Lasso和Boosting为主线讲讲自己的体会。故事还得从90年代说起。我觉得90年代是这个领域发展的一个黄金年代,因为两种绝世武功都在这个时候横空出世,他们是SVM和Boosted Trees。

阅读全文…

zz:支持向量机

2010年10月2日 没有评论

free mind上看到一个非常详尽的svm介绍,还在不断更新中,不可不看。

  • 基本篇:
  • 番外篇:
    • :Kernel II —— 核方法的一些理论补充,关于 Reproducing Kernel Hilbert Space 和 Representer Theorem 的简介。
    • 支持向量机:Duality —— 关于 dual 问题推导的一些补充理论,涉及到凸优化一些相关的知识。
    • 支持向量机:Regression —— 关于如何使用 SVM 来做 Regression 的简介。

很好用的库:VLFEAT

2010年6月17日 4 条评论

怎么让作研究简化呢?

偷懒!

怎么偷懒呢?

用库!

所以推荐个库

http://www.vlfeat.org/

阅读全文…

推荐一本学习凸优化的经典教材

2010年6月11日 1 条评论

推荐一本凸优化的经典教材(可能很多人已经看过这本书,或至少知道)。

凸优化在视觉和机器学习上有很多应用。一个典型的例子是support vector machine。而且在平时的学习科研中,会经常碰到凸函数的概念。我这里推荐一本介绍凸优化的经典好书:,by ,斯坦福ee教授。在他们主页上(http://www..edu/class/ee364a/)可以找到教学视频,ppt,电子版的书,以及习题和答案,可以说一应俱全。Stephen开了两门关于convex optimization的课(ee364a和ee364b)。其中ee364a讲的都是书里的内容,是基础,ee364b是讲一些最近几年的比较新的关于凸优化的科研结果。这本书是适合工程类的学生学习,没有太多公式,但是概念讲的很清楚,也有很多例子。而且他们开发了一个叫CVX的解决凸优化问题的软件包,非常好用。

上周happyharry写了一篇关于稀疏表达的文章。简答地说就是几个数学大牛证明了在满足某些条件下,L0(非凸)的结果等价于L1(凸)。所以最后就是解一个凸函数。关于稀疏矩阵,在ee364b中也有具体讲到。

凸函数在立体视觉上也有很大的应用。瑞典Lund大学的Fredrik (http://www.maths.lth.se/matematiklth/personal/fredrik/)最近几年发表了不少用凸函数解决立体视觉问题的文章(很多顶级期刊和顶级会议的文章,可能有些有点逛水)。

ZZ from 丕子: Mahout 0.3: 机器学习开源项目

2010年5月4日 没有评论
Apache Mahout

萎缩的项目logo。。。

有关机器学习的开源项目Apache Mahout三月份的时候推 出了它的0.3版本,这个新版本在之前的基础上添加了一些新功能,比之前的版本更为稳定,性能也有相应的提升。InfoQ采访了Apache Mahout项目的开发者Grant IngersollTed Dunning,其中Grant Ingresoll也是该项目的创始人之一。

过去十年里,从大 量原始数据中解析出相关信息的需求急剧增长,以致于聚类(clustering)、协同过滤()和分类()等机器学习技术的需 求也是呈稳定增长势态。

Grant Ingersoll这样介 绍 项目:

  • 将已知方法语境中的文档聚类 (Clustering)有助于把注意力集中到某些特定的聚类和内容上,从而避免在无关的内容上浪费精力。
  • 推荐算法(协同过滤推荐算法 -Collaborative Filtering)常常用来向用户推荐书籍、音乐、电影等内容,也可以用于多用户协作的应用中精简所需关注的数 据。
  • 模式匹配(朴素贝叶斯分类器 -Naïve Bayes Classifier等分类算法)可用于归类之前没有见过的文档。归类新文档时,算法在模式中查找文档中涉及的词汇, 计算该文档属于各个模式的概率,最后文档将归于概率最大的模式,输入的结果往往都以数值来表示算法本身对这个结果的正确与否有多大的把握。
  • Mahout 项目通过Apache Hadoop的支持来获 得伸缩性。

Mahout另一个重点是,它提供一系列工 具把文本数据表示成矩阵形式。这也是采用Mahout机器学习算法来处理数据的首要任务。

Mahout项目是由Apache Lucene(开 源搜索项目)社区几 个热衷于聚类、分类等机器学习算法的技术人员所发起。社区最初的开发“追随”于Ng et al.发表的论文“支 持多核之 上的机器学习Map- Reduce框架(Map-Reduce for on Multicore)”,自项目启动以来,社区也致力于各 种机器学习算法、模式的开发

最新Apache Mahout版本的亮点有:

在问到这个版本中最激动人心的特性 时,Ingersoll这样回答:

新添加的分布式奇异值分解(Singular Value Decomposition)计算非常令人期待,此外,还有那些方便用户把内容导入到Mahout的诸多工具。其中,最激动人心的其实并不是有形的,而是 Mahout社区的成长。社区目前已吸引到数量客观的贡献者和用户。任何开源项目的发展过程当中,最初阶段往往都很惨淡,工作常常只有一两个人去做,一旦 当中有人离开甚至只是减缓开发速度,整个项目都有可能中途夭折。但我相信Mahout已经通过了这样的考验,现在已经有非常多非常活跃的社区成员正努力把 它变成一个真正令人激动的项目。

Mahout项目的未来计划包括:

和SVM的实现将适宜于文档挖掘以及其它一些与文本或重复归类数据相关的应用。尤其令人期待的是SGD系统将引入在线创建互动变量的 能力。

查看英文原文:Mahout 0.3: Open Source Machine Learning

来源