1、第一课 课程导言1.1 导言大纲 涵盖由浅入深的一系列机器学习技术 将会学到:o PCA, MDS, K-mean, 基于频谱的聚类方法,贝叶斯分类,boosting, logistic回归,决策树,EM算法,隐马尔可夫模型,卡尔曼滤波 讲述算法、理论、应用背后的故事 将会既有趣又辛苦时间安排 03.04 介绍 03.11 分类 03.18 聚类 03.25 隐马尔可夫与卡尔曼滤波原则 简即美 在理论性和应用性上达到平衡先修课程 概率论o 分布、密度、边界 统计基础o 矩、经典分布、回归 算法o 动态规划、基本数据结构、复杂度 编程o C/C+, Java, Matlab 将会提供一些背景知识
2、,但课程步调还是会比较快 处理抽象数学概念的能力参考书 Machine Learningo by Tom Mitchell Pattern Classsification (2nd Edition)o by Duda, Hart and Stork Information Theory, Inference, and Learning Algorithmo by David MacKay Statistical Inferenceo by George Casella and Roger L. Berger Pattern Recogniation and Machine Learningo
3、Christopher M.Bishop And more 以上均为可选参考书目,每人都会有自己的学习方法网络资源 http:/ 机器学习在科学、工作及其它领域正变得无所不在 本课程将提供应用机器学习、开发新方法的基础1.2 机器学习单元概况Call for editing 1.3 什么是机器学习?大纲 背景 什么是机器学习 机器学习对于计算机科学和技术有何帮助当今计算机科学的最大挑战 数据,数据,数据o 需要大量乏味的重复的工作才能创建数字化的世界 需要寻找新的交互方式,创造新类型的媒体 花费高的代价才能请专家(科学家、工程师、电影制作人员、图形设计师、优秀艺术家和游戏设计人员)来完成工作
4、需要高效地处理已经存在的数据,并通过它们获得新的数据计算机是高效运行的机器 各种图像、场景,只要人能够创造,就可以利用计算机来得到它 但是如何来创造这些图像、场景完全过程化合成VS完全数据化 为电影中的一个角色创造动作o 完全过程化合成 动作比较连贯,但是很容易让人觉得是伪造的,很少在实际中这样用o 完全手工制作或者完全数据化 效果质量很高,但是连贯性不好o 把两者结合起来的混合方法或许是最好的!?贝叶斯推理 关于不确定性的一个规则模型 非结构化数据的通用模型 数据拟合和不确定分析的有效算法但是,当前它通常被当做一个黑盒来使用确定性 VS 几率性数据驱动模型什么是机器学习机器学习 != 人工智
5、能 Mitchell在1997年定义的:机器学习乃于某类任务兼性能度量的经验中学习之程序;若其作用于任务,可由度量知其于已知经验中获益。 Hertzmann在2003 年的评论:对于计算机图形学上的一些应用,机器学习应该被看作处理数据的一系列技术。给定一些数据,可以得到一个方法模型用于生产新的数据。 编制学习系统不只是用来解决一个问题,而是基于一些特征来使系统本身更加优化:o 关于系统应该如何做出响应的一些例子o 关于系统在解决问题的过程中反复试验学习到的经验 不同于通常的计算机科学,去实现一个未知的功能;仅仅是处理已知的输入输出数据对(学习过程中的训练例子)学习问题的主要分类 学习情景根据训
6、练例子中提供的有效信息的改变而改变o 监督的:需要正确的输出 分类:输入N个目标,输出结果为选择其中一个(语音识别、目标辨认、医学诊断) 回归:输出准确值(预测未来的市场价格、温度)o 部分监督的:只输出一部分有效结果o 无监督的:没有反馈,需要对输出进行自我评估 聚类:聚类是指将数据分割成连贯的群集的技术 结构异常识别:检测超出正常范围的数据点o 加强的:标量反馈,可能暂时推迟更多信息 时间序列分析 降维 模型选择 泛型方法 图形建模为什么要学习机器学习? 开发强化的计算机系统o 能够自动适应用户,更加符合用户要求o 旧的系统往往很难获得必要的知识o 发掘大型数据库中离线的新数据挖掘模式 提
7、高对人的认识,生物学习o 提供具体的理论计算分析,预测o 分析大脑的学习过程中的爆发式活动 研究时机很好o 数据量的快速增长o 计算机不再昂贵而且功能强大o 理论得到了很好的发展,有一系列的算法组件机器学习对计算机科学和技术有用吗? 赞成方:所有事物都是机器学习,所有事物都是人的调整o 在有些时候,这个说法是正确的 反对方:虽然是对“学习”的一种深化,但还有其它更强大和有效的算法。o 问题分类o 通用模型o 通过概率进行推算 相信数学的魔力怎样才是一个成功的机器学习算法? 计算效率 鲁棒性 统计稳定性一些实际应用 Google! 目标识别和辨认机器学习的力量 文档处理贝叶斯分类器 网格处理数据
8、聚类和分割 纹理合成和分析隐式马尔科夫模型 反射纹理合成降维 人体建模降维 图像处理和合成图形建模 人体运动合成时间序列分析 视频纹理强化学习总结 机器学习就是这样简单明了的东西o 关键字: 名词:数据、模型、模式、特征 形容词:概率性的、统计的 动词:拟合、推理、挖掘作业 在你的研究方向上寻找机器学习的潜在应用参考文献 Reinforcement learning: A surveyEdit by Xinyuan Luo(骆歆远), 1.4 点估计最大似然, 最大化后验估计, 贝叶斯估计, 回归方法与过拟合问题 你将要学习 点估计o 最大似然估计(MLE, Maximal Likeliho
9、od Estimation)o 贝叶斯学习(Bayesian Learning)o 最大化后验(MAP, Maximize A Posterior) 高斯估计 回归(Regression)o 基础方程 特性o 方差和的最优化o 回归与高斯估计的关系 倾向与方差的折中你的第一个咨询工作 一个北京的IT亿万富翁咨询你如下问题:o 富:我有一些图钉,我将其抛出,那么它尾部朝上的概率是多少?o 你:那么扔几次看看吧o (图待上传)o 你:概率是3/5o 富:这是为什么呢?o 你:这是因为二值分布 设头朝下的概率 P(Heads)= ,尾朝下的概率 P(Tails)=1-,发生的事件 D=T,H,H,T
10、,T 抛图钉是一种独立重复分布(i.i.d. Independent Identically distributed) 每一次实验彼此独立 根据二值分布的分布概率相同 如果一个事件D 包含 H个头朝下的概率和 T个尾朝下的概率,这样事件的概率是:P(D|)=H(1-)T最大似然估计 数据:观察事件集合D 包含 H个头朝下的事件和 T个尾朝下的事件 前提:二值分布 在优化问题中对进行学习: 目标函数是什么?D = T, H, H, T, T MLE: 找出使观察到的现象的概率最大化的 =argmaxP(D) =argmaxlnP(D) =argmaxln(H(1)T) =argmaxHln+Tl
11、n(1) 导数为0时取极值,则有=TH+T=32+3我需要抛多少次? = T / H + T* 富:我抛了两个头朝上和三个尾朝上* 你:是3/5,我可以证明* 富:如果我抛了20个头朝上和30个尾朝上呢* 你:答案依然一样,我可以证明* 富:能多解释一下吗* 你:越多约好吗* 富:所以我才会给你这么多报酬啊简单边界(基于Hffding不等式) 对于N = H+ T和 = T/ H+ T,有 令 *为真实值,对任意 0,有P(|- *|)2e-2N2第二课 数据分类方法2.1 概念学习2.1.1 基本概念概念学习是指从有关某个布尔函数的输入输出训练样例中推断出该布尔函数的值,或者说,是给定某一类
12、别的若干正例和反例,从中获得该类别的一般定义,它在预定的假设空间中搜索假设,使其与训练样例有最佳的拟合度。举例介绍(通过例子介绍概念学习中的相关术语)通过以下的训练数据集来学习使EnjoySport=yes的日子:Example Sky AirTemp Humidity Wind Water Forecast EnjoySport 1 Sunny Warm Normal Strong Warm Same Yes 2 Sunny Warm High Strong Warm Same Yes 3 Rainy Cold High Strong Warm Change No 4 Sunny Warm
13、High Strong Cool Change Yes 实例空间X:概念是定义在一个实例集合上的,本例中X是所有可能的日子,而Sky,AirTemp之类是日子的属性;目标函数C:代学习的函数,可以是定义在实例集X 上的任意布尔函数,形式化为C:X0,1;训练样本D:是为学习概念而提供的训练实例,训练样本中的每一个条目为X中的一个实例加上此实例对应的目标函数的值C(x);假设空间H:所有可能假设的集合,它中的每一个假设h表示X上定义的布尔函数,即h :X 0,1;注:机器学习要做的就是拟合出h,使h(x)=c(x)归纳学习假设:任一假设如果在足够大的训练样例集中很好的逼近目标函数,它也能在未见实
14、例中很好的逼近目标函数。一般到特殊序:如果对于假设h 1和h 2,任何被h 1划分为正例的实例都会被h 2为分为正例,我们说h 2比h 1更一般(h 2= h1)变型空间:是H中与训练样例D一致的所有假设构成的集合,为H的子集表示为VSH,D(个人以为引入 变型空间 的概念更容易理解假设空间 H的结构和之后的列表后消除算法 )2.1.2 算法介绍 FIND-S:寻找最大特殊假设o 算法思想:从H中最特殊的假设开始,然后在该假设覆盖正实例失败时将其一般化。o 算法步骤: 将h初始化为H中最特殊的假设 对每个正实例x,对h的每个属性约束a i,如果x 满足a i,那么不做任何处理,否则将h 中a
15、i替换为x满足的下一个更一般约束 输出假设ho 算法举例: LIST_THEN_ELIMATION:列表后消除算法o 算法思想:将变型空间初始化为包含H中所有的假设,然后从中去除与任一训练样例不一致的假设。o 算法步骤:1. 变型空间包含H中所有假设的列表2. 对每个训练样例,从变形空间中移出所有h(x)!=C(x)的假设h3. 输出假设空间中的假设列表(输出的是一个集合)o 算法举例: CANDIDATE-ELIMINATION:候选消除算法o 算法思想:类似前两种算法的结合o 算法步骤:1. 将G初始化为最一般的假设,将 S初始化为最特殊的假设2. 对每个训练样例d ,进行如下操作1. 如
16、果d 是正例,对S使用FIND_S类似算法,但是我们要确保G必须比S更一般,否则就应该删除G中相应的项。2. 如果d 是反例,对G使用LIST_THEN_ELIMINATION类似算法o 算法举例:2.1.3 概念学习的方法小结 概念学习可以看作室在预定义的假设空间中进行搜索的过程 从一般到特殊的偏序假设,使我们可以使用更加有效地搜索方式,例如:候选消除算法 实际的概念学习的方法必须是有归纳偏差的,否则他们只能被用来分类观察样本 变形空间和候选消除算法为概念学习提供了很有用的框架,然而,他们的正确性必须要求正确的训练数据集和有能够表达未知目标概念的假设。Revised by Duanjin C
17、hen(陈端金), 2.2 决策树决策树学习是一种逼近离散值目标函数的方法,在这种方法中学习到的函数被表示为一棵决策树。这种学习算法是最流行的归纳推理算法之一,是一种从一般到特殊的算法。下面的数据是一个测试用例,根据各种条件决定是否打网球。决策树通过把实例从根结点排列(sort)到某个叶子结点来分类实例,叶子结点即为实例所属的分类。树上的每一个结点指定了对实例的某个属性(attribute)的测试,并且该结点的每一个后继分支对应于该属性的一个可能值。分类实例的方法是从这棵树的根结点开始,测试这个结点指定的属性,然后按照给定实例的该属性值对应的树枝向下移动。这个过程再在以新结点为根的子树上重复
18、。图2-1 概念PlayTennis的决策树分类一个样例的方法是,将其沿根结点排列到合适的叶子结点,然后返回与这个叶子结点关联的分类(本例中为Yes或No)。这棵决策树根据天气分类“星期六上午是否适合打网球”。图2-1画出了一棵典型的学习到的决策树。这棵决策树根据天气情况分类“星期六上午是否适合打网球”。例如,下面的实例:将被沿着这棵决策树的最左分支向下排列,因而被评定为反例(也就是这棵树预测这个实例PlayTennis=No)。这棵树以及表3-2中用来演示ID3学习算法的例子摘自(Quinlan 1986)。通常决策树代表实例属性值约束的合取(conjunction)的析取式(disjunc
19、tion)。从树根到树叶的每一条路径对应一组属性测试的合取,树本身对应这些合取的析取。例如,图2-1表示的决策树对应于以下表达式: (Normal=Humidity Sunny=Outlook(Overcast=Outlook(Weak=Wind Rain=Outlook(则得到的结果如下图所示归纳的主循环可以按如下步骤进行: AAttributes中分类Examples能力最好的属性 Root的决策属性A 对于A 的每个可能值vi 在Root下加一个新的分支对应测试A= vi 将训练样本排序后,依次添加到叶子节点上。 如果所有的训练样本都被完美的分类,那么结束 否则迭代执行上面的循环那么,哪
20、个属性是最佳的分类属性呢?这就需要用到“ 奥坎姆剃刀 ”原则奥坎姆剃刀:优先选择拟合数据的最简单假设。这是一个心理学问题,哲学家们以及其他学者已经对这样的问题争论几个世纪了,而且这个争论至今还未解决。决策树遵照这个原则:较短的树比较长的优先那么怎么确定一个属性能够较好的划分训练数据呢?这就用到了信息论(information theory)信息论是一个数学分支,由Claude shannon在20世纪40年代创建。信息论是一门用数理统计方法来研究信息的度量、传递和变换规律的科学。它主要是研究通讯和控制系统中普遍存在着信息传递的共同规律以及研究最佳解决信息的获限、度量、变换、储存和传递等问题的基
21、础理论。信息就是不确定性的减少,并获取新的知识。信息是确定性的增加-逆 Shannon信息定义。一个事件的信息量与它出现的概率最为相关。在信息论中,使用的基本单位是位( bits)。如果一个确定发生的事件发生了,那么确定性没有任何变化,所以得到的信息为0 。而如果小概率的事件发生了,那么将得到比可能发生的事情更多的信息量。所以信息量与事件发生的概率成反比。举例来说:设字母表为S 1,S2,S3,。Sn 那么每个符号Si 的概率为P( Si)=Pi(Pi=0且ni=1Pi=1) 对两个不相关的事件来说,I(SiSj)=I (Si)+I(Sj)P(SiSj)=P(Si)P(Sj) 从这两个关系式中
22、可以看出,I(Si )应该以P( Si )对数形式给出,所以有I(Si )=-log2Pi 所以每个符号的平均信息是 Et=Mi=1Pilog2Pi 这就是“熵”用熵建立一个信息增量的方程信息增量最大的属性就是最佳的属性Revised by Li Xin (李昕), 2.3 朴素贝叶斯分类问题是如何基于数据的观测值,给出结果的预测,如已知某天关于天气、温度、风等情况的观测(X 的值),预测运动员是否进行训练(Y的值) 即要计算P(Y|X) 根据贝叶斯公式: P(YX)=P(Y)P(X)P(YX) 于是我们需要计算P(X),P(Y|X) 即可 构造一个分类器(Naive Beyes Class
23、ifier),即目标函数f :XY 我们要做的就是在X的属性观察值是 X1、X2Xn的时候,预测Y的值即: Y=argmaxyjYP(yjx1,x2,xn)=argmaxyjYP(x1,x2,xn)P(x1,x2,xnyj)P(yj) Y=argmaxyjYP(x1,x2,xnyj)P(yj) 假设观测值之间是相互独立的,那么 P(x1,x2,xnyj)=iP(xiyj) 而 P(xiyj) 和 P(yj) 可以通过给定的样本数据来估计出,并用估计值来计算每一个P(yj x1,x2,xn),取概率最大的结果作为分类结果 Revised by Bin Xu(徐斌), xu_ 2.4 支持向量机(
24、SVM)2.4.1 SVM的起源上世纪90年代由 Vapnik和他的同事开发,可以用于进行分类或回归分析. 与传统的神经网络方法相比,具有更好的普遍性和全局最优性. 2.4.2 什么是SVM 一组训练向量x i,把他们简单的分为两类。定义向量y i,当x i属于第一类时y i=0;当x i属于第二类时y i=1。称这个y为一个超平面,把数据集 xi分成两类。 注意到一般情况下这种超平面会有无数多个可能,所以定义margin:超平面距离两类数据集中最近的点的和。使得margin最大的超平面就是最优的超平面。 很多时候数据集并不是线性可分的,也就是说找不到合适的超平面把数据集严格的分成两类,这是有
25、两种方法:o 引入训练误差,即允许少量数据点被分在错误的类。详细来说就是加入一些松弛变量 (slack variables) i ,使得数据 xi 即使不能被超平面线性分割而是有 i 那么大的误差也是允许的,同时,为了避免无限制的松弛,将 slack variables 也加入需要最小化的目标函数中,并(通常)使用一个参数 C 来控制原本的目标函数和松弛变量的权重,即加入 Cli=1i 这样一项。o 使用非线性的分类方式,也就是高维可分。这是通过 Kernel 方法来实现,具体来说,在原始空间中无法线性可分的数据,我们希望通过一个映射 () 将原始空间中的数据映射到一个更高维度(甚至是无穷维度
26、)的空间中。这样的做法的可行性在于考虑到 SVM (以及许多相关线性算法)中使用数据的方式仅仅是依靠于数据之间的内积 ,而我们可以通过核方法直接使用低维的数据计算出高维空间中映射后的数据点的内积:K(xi,xj)=H (其中 H 表示在高维空间 H 中的内积)。通过这样的方法,就能有效地解决了线性不可分的问题。Extended by 张弛原 2010/04/26 13:282.4.3 SVM的应用 SVM是目前针对文本和基因数据分类问题的最有效的工具之一。 SVM可以通过设计不同的核函数来完成复杂数据的分类,如图像数据,关系数据等等。 SVM可以被扩展,用于回归分析,主成分分析等。 优化SVM
27、 还是一件困难的工作,选择合适的核函数和参数没有很好的算法,只等采取不断尝试的方法。2.4.4 SVM的开发工具 SVM-Light:http:/svmlight.joachims.org LibSVM: http:/www/cise.ntu.edt.tw/cjlin/libsvmRevised by Yi Gao (高艺), 2.5 Boosting2.5.1 Boosting 算法概述Boosting算法的形式多种多样,通常都是由多个弱分类器在一定的分布下通过循环迭代,最后组成形成一个强分类器的。当这些弱分类器被组合在一起的时候,它们总是会根据各自的准确度而在组合中占一定的权重。当一个弱
28、分类器被加进来时,所有的数据都被重新赋予权重:那些被分错的点的权重会上升,而分对的点的权重则会下降。因此,接下来,分类器会着重注意对待之前被分错类的点。 2.5.2 AdaBoost 算法介绍为不失一般性, 设x 为输入数据, y表示输入数据的正负属性分类,其中设正类为1,负类为-1。给定 n个数据点,即有n个(xi,yi) 这样的点-属性对,其中1i n,iZ. 进一步假设初始弱分类器的权重分布为平均分布,即初始输入数据的权重分布为D 1(i)=n1,其中i=1,m 由于AdaBoost是一个迭代递进算法, 设循环迭代的计数t=1, T. 我们的目的是找出在当前分布Dt下,使得分类错误最小的
29、分类器ht: ht=argminjhj 其中 j=ni=1Dt(i)yi/=hj(xi)每次迭代中, 我们需重新计算新的权重t: t=21lnt1t进而我们可以更新数据的权重分布 Dt+1(i)=ZtDt(i)exp(tyiht(xi)其中Zt是归一化的参数 . 由于ni=1 Dt+1=1所以 Zt=ni=1Dt(i)exp(tyiht(xi)可以看到,如果yi与ht(x i)的值相等的话,即当前分类器的决策是正确的,则相应的该点的权重会在下一轮迭代中下降;相反,如果yi 与ht(x i)的值不相等的话,则他们符号相反,使得指数符号为正,从而使得该点的权重在下一轮迭代中上升。 设 f(xi)=
30、Tt=1tht(xi)则最终的分类函数即为 H(x)=signf(x)2.5.3 AdaBoost 算法分析设其最终错误函数为 E=n1ni=11 if yi/=H(xi)0 otherwise 最小化错误,即最小化其上限 n1ni=1exp(yif(xi)而根据 Dt+1(i)=ZtDt(i)exp(tyiht(xi)我们可以得出 Dt+1(i)Zt=Dt(i)exp(tyiht(xi)DT+1(i)Tt=1Zt=D1(i)expTt=1(tyiht(xi)DT+1(i)Tt=1Zt=n1exp(yif(xi)因此,我们的目标变成最小化 Tt=1Zt因为Zt可以表示成 Zt=(1t)exp(
31、t)+texp(t) 取最小极值,即求偏导等于零 tZt=0我们可以得到 t=21lnt1t这也就是在算法迭代过程中,t取值的原因。 2.5.3 AdaBoost 算法应用Adaboost算法已被广泛地应用于计算机视觉的人脸检测方法,目前这一算法已被包含于OpenCV程序包,可以方便通过调用来实现相关功能。 第三课 非监督机器学习方法3.1 主成分分析法3.1.1 主成分分析法定义主成分分析,即principal components analysis, 简称PCA,也被翻译成“ 主分量分析 ”或“主元分析 ”。PCA旨在利用降维的思想,把多指标转化为少数几个综合指标。在统计学中,主成分分析是
32、一种简化数据集的技术。它是依赖于数据的线性变换。这个变换把数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标( 第二主成分) 上,依次类推。主成分分析经常用减少数据集的维数,同时保持数据集的对方差贡献最大的特征。这是通过保留低阶主成分,忽略高阶主成分做到的。这样低阶成分往往能够保留住数据的最重要方面。但是,这也不是一定的,要视具体应用而定。 3.1.2 主成分分析法基本原理主成分分析法是一种降维的统计方法,它借助于一个正交变换,将其分量相关的原随机向量转化成其分量不相关的新随机向量,这在代数上表现为将原随机向量的协方差阵变换成对角
33、形阵,在几何上表现为将原坐标系变换成新的正交坐标系,使之指向样本点散布最开的p个正交方向,然后对多维变量系统进行降维处理,使之能以一个较高的精度转换成低维变量系统,再通过构造适当的价值函数,进一步把低维系统转化成一维系统。 3.1.3 主成分分析法的主要作用概括起来说,主成分分析主要由以下几个方面的作用。 主成分分析能降低所研究的数据空间的维数。即用研究m维的Y空间代替p维的X 空间(m p),而低维的Y空间代替 高维的x空间所损失的信息很少。即:使只有一个主成分 Yl(即m1)时,这个Y l仍是使用全部X 变量(p个) 得到的。例如要计算 Yl的均值也得使用全部x 的均值。在所选的前m 个主
34、成分中,如果某个X i的系数全部近似于零的话,就可以把这个X i删除,这也是一种删除多余变量的方法。 有时可通过因子负荷a ij的结论,弄清X 变量间的某些关系。 多维数据的一种图形表示方法。我们知道当维数大于3 时便不能画出几何图形,多元统计研究的问题大都多于3个变量。要把研究的问题用图形表示出来是不可能的。然而,经过主成分分析后,我们可以选取前两个主成分或其中某两个主成分,根据主成分的得分,画出n个样品在二维平面上的分布况,由图形可直观地看出各样品在主分量中的地位,进而还可以对样本进行分类处理,可以由图形发现远离大多数样本点的离群点。 由主成分分析法构造回归模型。即把各主成分作为新自变量代
35、替原来自变量x 做回归分析。 用主成分分析筛选回归变量。回归变量的选择有着重的实际意义,为了使模型本身易于做结构分析、控制和预报,好从原始变量所构成的子集合中选择最佳变量,构成最佳变量集合。用主成分分析筛选变量,可以用较少的计算量来选择量,获得选择最佳变量子集合的效果。 3.1.4 主成分分析法的基本步骤o 原始指标数据的标准化采集p维随机向量x=(x1,x 2,.,xp) 。给定n个样本x i=(xi1,xi2,.,xip),i=1,2,., n (np),可构造样本阵: o X= x11 x12 x1p x21 x22 . x2p . xn1 xn2 .xnp o 对样本阵X进行标准化变换
36、得标准化矩阵Z= XX, 其中 o x=n1ni=1xi,X=(x,x,.,x)o 对标准化阵Z 求相关系数矩阵 o R=ZZ;o 解样本相关矩阵R的特征方程得p个从大到小排列的特征根 o 12.po 将其对应的单位特征向量ui确定为主成分o 将标准化后的指标变量转换为主成分表示,即 o xi=x+pj=1zijuj,o 其中 o zij=xiuj;o 根据需要选取前k个主成分构成降维的近似表示 o xi(zi1,zi2,.,zik)3.1.5 主成分分析法与奇异值分解奇异值分解是线性代数中一种重要的矩阵分解,在信号处理、统计学等领域有重要应用。奇异值分解在某些方面与对称矩阵或Hermite矩
37、阵基于特征向量的对角化类似。然而这两种矩阵分解尽管有其相关性,但还是有明显的不同。对称阵特征向量分解的基础是谱分析,而奇异值分解则是谱分析理论在任意矩阵上的推广。奇异值分解在统计中的主要应用为主成分分析(PCA),它是一种数据分析方法,用来找出大量数据中所隐含的“模式”, 它可以用在模式识别,数据压缩等方面。PCA 算法的作用是把数据集映射到低维空间中去。 数据集的特征值(在SVD 中用奇异值表征)按照重要性排列,降维的过程就是舍弃不重要的特征向量的过程,而剩下的特征向量张成空间为降维后的空间。 奇异值分解令X 为一个居中的 NP维数据矩阵(设NP) X= x0,0 x0,1 . x0,p1
38、x1,0 x1,1 . x1,p1 x2,0 x2,1 . x2,p1 . xN1,0 xN1,1 . xN1,p1 Np=USV即为X 的奇异值分解,其中: U是Np 的正交阵,称作左奇异向量。 V是pp 的正交阵,称作右奇异向量。 S是对角阵,其中,d1=d2=dp=0,称为奇异值。奇异值分解总是存在的,并针对符号唯一。V的列即为主元,且Zj= Ujdj Eckart-Young定理令Sq 为除了最前面的q个对角线元素之外的元素全为 0的矩阵。则 Xq=US qVT 满足minrank(X q)=q XXq 主元分析例子-Eigenfaces(G. D. Finlayson, B. Sch
39、iele end计算输出矩阵Y create sparse matrix M = (I-W)*(I-W)find bottom d+1 eigenvectors of M (corresponding to the d+1 smallest eigenvalues)set the q-th ROW of Y to be the q+1 smallest eigenvector (discard the bottom eigenvector 1,1,1,1. with eigenvalue zero)3.2.2 等距特征映射 Isomap Isomap算法定义ISOMAP是近年来用于非线性降维的
40、一个重要算法,它是对经典MDS 的扩展,也是寻求保持数据点之间距离的低维表示。算法的基本思想是利用样本向量之间的欧氏距离Dist(i,j)计算出样本之间的测地距离D G(i,j),然后使用经典MDS算法来获得相应的低维投影。这样能够减少样本之间的欧式距离Dist(i,j)与D G(i,j)的误差,最大程度上保持高维数据内在的非线性(等距)几何结构,通过低维数据的分析来获得相应的高维数据特性,从而达到简化分析、获取数据有效特征以及可视化数据的目标。 Isomap主要步骤(1)选取邻域构造邻域图G。计算每个样本点同其余样本点之间的欧氏距离。当X j是X i的最近的k 个点中的一个时,认为它们是相邻
41、的,即图G有边X jXi(这种邻域称为 k-邻域) 。设边X jXi的权为d(X j,Xi),对P=1,N有 d(Xj,Xi)=Xi1Xj12+Xi2Xj22+XipXjp2 (2)计算任意两个样本向量之间的最短路径。当图G有边X jXi时,设最短路径如d G(Xi,Xj)=d(Xj,Xi),否则设d G(Xi,Xj)=。对k=1,2,N,dG(Xi,Xj)=min dG(Xi,Xj),dG(Xi,Xk)+dG(Xk,Xj) (3)计算D 维映射将经典MDS应用到距离矩阵D G。令 DY(i,j)=yiyj,D G(i,j)=dG(i,j),最小化代价函数 E=(DG)(DY)L2求解出D G的最大 d个特征值以及对应的特征向量即可。 3.2.3 BoostMap 设计目标-大幅度降低图像数据库系统的获取时间嵌入(Embedding)被描述为一个机器学习任务,AdaBoost方法用来把多个简单的1 维嵌入结合成为一个d维的嵌入;按照与一个查询对象的相似程度获得所有DB对象的排序。 主要想法数据集S,距离函数D :SS R1