machine learning - webdancer's Blog

[转]机器学习是什么--周志华

机器学习现在是一大热门,研究的人特多,越来越多的新人涌进来。
不少人其实并没有真正想过,这是不是自己喜欢搞的东西,只不过看见别人都在搞,觉着跟大伙儿走总不会吃亏吧。
问题是,真有个“大伙儿”吗?就不会是“两伙儿”、“三伙儿”?如果有“几伙儿”,那到底该跟着“哪伙儿”走呢?
很多人可能没有意识到,所谓的machine learning community,现在至少包含了两个有着完全不同的文化、完全不同的价值观的群体,称为machine learning "communities"也许更合适一些。
第一个community,是把机器学习看作人工智能分支的一个群体,这群人的主体是计算机科学家。
现在的“机器学习研究者”可能很少有人读过1983年出的“Machine Learning: An Artificial Intelligence Approach”这本书。这本书的出版标志着机器学习成为人工智能中一个独立的领域。它其实是一部集早期机器学习研究之大成的文集,收罗了若干先贤(例 如Herbert Simon,那位把诺贝尔奖、图灵奖以及各种各样和他相关的奖几乎拿遍了的科学天才)的大作,主编是Ryszard S. Michalski(此君已去世多年了,他可算是机器学习的奠基人之一)、Jaime G. Carbonell(此君曾是Springer的LNAI的总编)、Tom Mitchell(此君是CMU机器学习系首任系主任、著名教材的作者,机器学习界没人不知道他吧)。Machine Learning杂志的创刊,正是这群人努力的结果。这本书值得一读。虽然技术手段早就日新月异了,但有一些深刻的思想现在并没有过时。各个学科领域总有 不少东西,换了新装之后又粉墨登场,现在热火朝天的transfer learning,其实就是learning by analogy的升级版。
人工智能的研究从以“推理”为重点到以“知识”为重点,再到以“学习”为重点,是有一条自然、清晰的脉络。人工智能出身的机器学习研究者,绝大部分 是把机器学习作为实现人工智能的一个途径,正如1983年的书名那样。他们关注的是人工智能中的问题,希望以机器学习为手段,但具体采用什么样的学习手 段,是基于统计的、代数的、还是逻辑的、几何的,他们并不care。
这群人可能对统计学习目前dominating的地位未必满意。靠统计学习是不可能解决人工智能中大部分问题的,如果统计学习压制了对其他手段的研 究,可能不是好事。这群人往往也不care在文章里show自己的数学水平,甚至可能是以简化表达自己的思想为荣。人工智能问题不是数学问题,甚至未必是 依靠数学能够解决的问题。人工智能中许多事情的难处,往往在于我们不知道困难的本质在哪里,不知道“问题”在哪里。一旦“问题”清楚了,解决起来可能并不 困难。
第二个community,是把机器学习看作“应用统计学”的一个群体,这群人的主体是统计学家。
和纯数学相比,统计学不太“干净”,不少数学家甚至拒绝承认统计学是数学。但如果和人工智能相比,统计学就太干净了,统计学研究的问题是清楚的,不象人工智能那样,连问题到底在哪里都不知道。在相当长时间里,统计学家和机器学习一直保持着距离。
慢慢地,不少统计学家逐渐意识到,统计学本来就该面向应用,而机器学习天生就是一个很好的切入点。因为机器学习虽然用到各种各样的数学,但要分析大 量数据中蕴涵的规律,统计学是必不可少的。统计学出身的机器学习研究者,绝大部分是把机器学习当作应用统计学。他们关注的是如何把统计学中的理论和方法变 成可以在计算机上有效实现的算法,至于这样的算法对人工智能中的什么问题有用,他们并不care。
这群人可能对人工智能毫无兴趣,在他们眼中,机器学习就是统计学习,是统计学比较偏向应用的一个分支,充其量是统计学与计算机科学的交叉。这群人对统计学习之外的学习手段往往是排斥的,这很自然,基于代数的、逻辑的、几何的学习,很难纳入统计学的范畴。
两个群体的文化和价值观完全不同。第一个群体认为好的工作,第二个群体可能觉得没有技术含量,但第一个群体可能恰恰认为,简单的才好,正因为很好地 抓住了问题本质,所以问题变得容易解决。第二个群体欣赏的工作,第一个群体可能觉得是故弄玄虚,看不出他想解决什么人工智能问题,根本就不是在搞人工智 能、搞计算机,但别人本来也没说自己是在“搞人工智能”、“搞计算机”,本来就不是在为人工智能做研究。
两个群体各有其存在的意义,应该宽容一点,不需要去互较什么短长。但是既然顶着Machine Learning这个帽子的不是“一伙儿”,而是“两伙儿”,那么要“跟进”的新人就要谨慎了,先搞清楚自己更喜欢“哪伙儿”。
引两位著名学者的话结尾,一位是人工智能大奖得主、一位是统计学习大家,名字我不说了,省得惹麻烦:
“I do not come to AI to do statistics”
“I do not have interest in AI”

RBM-Restricted Boltzmann Machine

最近看了一下RBM的相关内容,理解的还很肤浅,记录一下,共同交流。

我自己觉得学习RBM,还是得看一下Markov Random Field的相关的内容,这样就能比较系统的熟悉这个模型。这篇文章就从MRF开始讨论,学习BM模型,再扩展到RBM模型,最后看一下RBM的训练方法。

继续阅读

Kernel method

kernel method是一种比较古老的统计方法,可以追溯到几十年前。不过最近的流行要归功到SVM在机器学习中的流行,最初SVM处理的是向量化的数据,不过很快人们发现借助Kernel,人们很容易的处理各种形式的数据,这给SVM这类的方法强大的威力。下面我们就来看一下kernel method方法。

继续阅读

LDA-linear discriminant analysis

分类问题也可以用降维来理解,比如一个$D$维的数据点$x$,我们可以采用下面的映射进行线性的降维,

\[
y=\theta^{T}x
\]

在计算出$y$后,就可以选择一个阈值$h$,来进行分类。正如我们在前面的PCA模型中看到的,降维会有信息的损失,可能会在降维过程中,丢失使数据可分的特征,导致分类的效果不理想。

继续阅读

概率基础

在模式识别领域中,我们遇到的一个很关键的问题就是不确定性。概率论为我们解决这种不确定性提供了一个系统的框架。在得到了相关变量的概率信息后,我们需要用决策论的相关知识做出最优的判断。也就是说,我们将模式识别的过程分为了两个阶段,第一个阶段就是推理(inference),得到相关的概率;第二阶段使用决策论知识做出最优的判断。下面就是概率论和决策论要用到的知识。

继续阅读

PCA

PCA是一种降低数据特征维度的技术。它通过将高维空间数据正交投影到低维子空间,使投影空间中数据的方差最大来实现。另外的一种理解是它通过将高维空间数据正交投影到低维子空间,最小化从投影数据恢复到原数据的误差。PCA带来的好处是数据压缩后,能有更小的存储要求,有更快的分类速度;但是带来的坏处就是,在数据压缩的过程中,可能会丢失一些特征。

继续阅读

Neural Networks笔记1

1.继续八卦NN的历史

人工神经网络的研究者,试图创造一个大脑和机器处理信息的统一模型,在这个模型中,信息按照同意的规则进行处理。正如Frank Rosenblatt所希望的:

"the fundamental laws of organization which are common to all information handling systems, machines and men included, may eventually be understood."

继续阅读

应用梯度下降和随机梯度下降时的几个注意点

随机梯度下降算法的基本思想,在前面已经说过了。在应用梯度下降的时候有几个要注意的点,再重新记录一下。

1.收敛

我们在应用梯度下降的时候,一定要关注是否收敛。一般来说,$\mathbb E(\theta)$收敛到一定的值,所求出来的参数也是基本相同的。能使用梯度下降的求解的问题,影响我们求解的是它的学习速率(可以参考前面的内容)。速率过大,可能不收敛;速率过小,收敛速度过慢,所以我们必须恰当的选择学习速率$\eta$。通过下面的例子看以看到[1]:

继续阅读




Host by is-Programmer.com | Power by Chito 1.3.3 beta | © 2007 LinuxGem | Design by Matthew "Agent Spork" McGee