机器学习是什么?引用地址:http://blog.sciencenet.cn/blog-520608-756118.html
机器学习现在是一大热门,研究的人特多,越来越多的新人涌进来。不少人其实并没有真正想过,这是不是自己喜欢搞的东西,只不过看见别人都在搞,觉着跟大伙儿走总不会吃亏吧。问题是,真有个“大伙儿”吗?就不会是“两伙儿”、“三伙儿”?如果有“几伙儿”,那到底该跟着“哪伙儿”走呢?
很多人可能没有意识到,所谓的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”
推荐几个机器视觉牛人博客,总结得很好,值得学习。
http://www.cnblogs.com/jerrylead/tag/Machine%20Learning/
http://www.cnblogs.com/tornadomeet/tag/机器学习/
http://www.cnblogs.com/zhangchaoyang/category/256478.html
然后附上机器学习方法的总结:
大类 |
名称 |
关键词 |
有监督分类 |
决策树 |
信息增益 |
分类回归树 |
Gini指数,Χ2统计量,剪枝 |
|
朴素贝叶斯 |
非参数估计,贝叶斯估计 |
|
线性判别分析 |
Fishre判别,特征向量求解 |
|
K最邻近 |
相似度度量:欧氏距离、街区距离、编辑距离、向量夹角、Pearson相关系数 |
|
逻辑斯谛回归(二值分类) |
参数估计(极大似然估计)、S型函数 |
|
径向基函数网络 |
非参数估计、正则化理论、S型函数 |
|
对偶传播网络 |
无导师的竞争学习、有导师的Widrow-Hoff学习 |
|
学习向量量化网络 |
一个输出层细胞跟几个竞争层细胞相连 |
|
误差反向传播网络 |
S型函数、梯度下降法 |
|
支持向量机(二值分类) |
二次规化,Lagrange乘数法,对偶问题,最优化,序列最小优化,核技巧 |
|
单层感知器 |
只具有线性可分的能力 |
|
双隐藏层感知器 |
足以解决任何复杂的分类问题 |
|
无监督分类 |
KMeans |
质心 |
CHAMELONE |
图划分,相对互连度,相对紧密度 |
|
BIRCH |
B树,CF三元组 |
|
DBScan |
核心点,密度可达 |
|
EM算法(高斯混合模型) |
参数估计(极大似然估计) |
|
谱聚类 |
图划分,奇异值求解 。全局收敛 |
|
自组织映射网络 |
无导师的竞争学习 |
|
回归分析 |
一般线性回归 |
参数估计,最小二乘法,一般不用于分类而用于预测 |
逻辑斯谛回归(二值分类) |
参数估计(极大似然估计),S型函数 |
|
关联规则挖掘 |
FP-Tree |
频繁1项集,FP-Tree,条件模式基,后缀模式 |
降维 |
主成分分析 |
协方差矩阵,奇异值分解 |
推荐 |
协同过滤 |
稀疏向量的相似度度量 |
方法细分 |
应用场所 |
||||
参数估计 |
极大似然估计 |
线性回归。假设误差满足均值为0的正态分布,从而转化为最小二乘法 |
|||
Logistic回归。梯度下降迭代法求似然函数的极值 |
|||||
高斯混合模型。 |
|||||
非参数估计 |
|
径向基函数网络 |
|||
独立性检验 |
无参数假设检验 |
χ2检验 |
特征词选取,分类回归树的终止条件 |
||
秩和检验 |
|
||||
相关性检验 |
Pearson相关系数(假设x,y成对地从正态分布中取得) |
基于向量空间模型的文本分类,用户喜好推荐系统 |
|||
Spearman秩相关系数(无参数假设检验) |
|
||||
最优化方法 |
无约束最优化方法 |
梯度下降法 |
极大似然估计(回归分析、GMM) 支持向量机 线性判别分析 |
||
牛顿迭代法及其变种 |
|||||
有约束时通过Lagrange乘数法转换成无约束问题 |
|||||
求特征值/特征向量 |
幂法 |
线性判别分析 |
降维 |
||
奇异值分解(仅针对对称矩阵) |
主成分分析 |
||||
谱聚类 |
|||||
信息论 |
信息增益 |
特征词选择 |
|||
决策树 |
|||||
互信息 |
特征词选择 |
||||
交叉熵 |
特征词选择,稀有事件建模仿真,多峰最优化问题 |
||||
核函数 |
多项式核函数 |
SVM RBF网络 |
|||
高斯核函数(径向基函数) |
|||||
双极性核函数 |
|||||
单极性Sigmoid函数 |
Logistic回归 |
||||
BP神经网络 |
|||||
协方差 |
Pearson相关系数 |
||||
PCA |
|||||
EM算法 |
高斯混合模型 |
||||
向前向后算法 |
|||||
基函数 |
高斯混合模型 |
||||
径向基函数网络 |
|||||
平滑算法 |
拉普拉斯平滑 |
贝叶斯分类 隐马尔可夫模型 |
|||
Good-Turing平滑 |
|||||
隐马尔可夫模型 |
评估问题—向前算法 |
|
|||
解码问题—Viterbi算法 |
中文分词,词性标注 |
||||
学习问题—BaumWelch算法 |
|
Cover定理指出:将复杂的模式分类问题非线性地映射到高维空间将比投影到低维空间更可能线性可分。 所以SVM和RBF网络都试图把样本从低维空间映射到高维空间再进行分类。
好笑的是,另一些方法则是把输入样本从高维降到低维后再进行分类或回归分析,如PCA、SOFM网络、LDA、谱聚类,它们认为样本在低维特征空间有更清晰的表达,更容易发现规律。