PCA算法另外一种理解角度是:最小化点到投影后点的距离平方和.

假设我们有m个样本点,且都位于n维空间 中,而我们要把原n维空间中的样本点投影到k维子空间W中去(k<n),并使得这m个点到投影点的距离(即投影误差)的平方和最小.我们假设投影到的k维子空间的标准正交基(orthonormal basis)为 ,这组标准正交基组成了一个的矩阵U:

称为子空间W 的投影矩阵(projection matrix)。

如果我们不从标准正交基出发,如何求得W的投影矩阵?设是W 的任意一组基,形成一个的矩阵则W的投影矩阵是

投影矩阵具有如下性质:

记每一个点对应的投影误差为,且投影误差的表达式为,那么我们要最小化的表达式为:

为了后面的推导方便,我将上式除以即样本个数),由于其是定值,所以不影响我们问题的求解

由于是预先给定的样本点,故上式中第一项是定值,因此我们的问题转化为了求第二项的最大值,即

由于(其中U是以子空间W的标准正交基为列构成的矩阵),上面的问题等价于

对其进一步化简得:

因此,等价于

求解上面的要用到最大方差解释中使用的Lagrangian Multiplier,在此不再赘述,而最后求得的就是协方差矩阵的前k个特征向量

PCA算法的最小平方误差解释的更多相关文章

  1. 用opencv实现的PCA算法,非API调用

    理论參考文献:但此文没有代码实现.这里自己实现一下,让理解更为深刻 问题:如果在IR中我们建立的文档-词项矩阵中,有两个词项为"learn"和"study",在 ...

  2. PCA最小平方误差理论推导

    PCA最小平方误差理论推导 PCA求解其实是寻找最佳投影方向,即多个方向的标准正交基构成一个超平面. 理论思想:在高维空间中,我们实际上是要找到一个d维超平面,使得数据点到这个超平面的距离平方和最小 ...

  3. 模式识别(1)——PCA算法

    作者:桂. 时间:2017-02-26  19:54:26 链接:http://www.cnblogs.com/xingshansi/articles/6445625.html 声明:转载请注明出处, ...

  4. PCA算法理解及代码实现

    github:PCA代码实现.PCA应用 本文算法均使用python3实现 1. 数据降维   在实际生产生活中,我们所获得的数据集在特征上往往具有很高的维度,对高维度的数据进行处理时消耗的时间很大, ...

  5. PCA算法 | 数据集特征数量太多怎么办?用这个算法对它降维打击!

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第27文章,我们一起来聊聊数据处理领域的降维(dimensionality reduction)算法. 我们都知道,图片 ...

  6. K-means的缺点(优化不仅仅是最小化误差)

    K-means的缺点(优化不仅仅是最小化误差) #转载时,请注明英文原作David Robinson,译者Ding Chao.# 我最近遇到一个交叉验证的问题,我认为这个给我提供了一个很好的机会去用“ ...

  7. 机器学习--主成分分析(PCA)算法的原理及优缺点

    一.PCA算法的原理 PCA(principle component analysis),即主成分分析法,是一个非监督的机器学习算法,是一种用于探索高维数据结构的技术,主要用于对数据的降维,通过降维可 ...

  8. PCA算法学习(Matlab实现)

    PCA(主成分分析)算法,主要用于数据降维,保留了数据集中对方差贡献最大的若干个特征来达到简化数据集的目的. 实现数据降维的步骤: 1.将原始数据中的每一个样本用向量表示,把所有样本组合起来构成一个矩 ...

  9. sw算法求最小割学习

    http://  blog.sina.com.cn/s/blog_700906660100v7vb.html 转载:http://www.cnblogs.com/ylfdrib/archive/201 ...

随机推荐

  1. Shiro - 自定义filterChainDefinitions和Realm

    在Spring Context中定义shiroFilter(org.apache.shiro.spring.web.ShiroFilterFactoryBean)时需要为其filterChainDef ...

  2. No.5一步步学习vuejs之事件监听和组件

    一监听事件 可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码. <div id="demo1"> <button v-on ...

  3. Mysql根据经纬度筛选数据

    创建位置表,并且插入测试数据 /*     Navicat MySQL Data Transfer     Source Server         : localhost     Source S ...

  4. unable to retrieve metadata

    在使用Scaffolding模板生成的时候,抛出了这个一个错误unable to retrieve metadata找了一下bug,居然是因为自己的数据库连接字符串,把它注释后,就可以运行了,我推测, ...

  5. When a java class is load by classloader, where the constant poll be put?

    Q:When a java class is load by classloader, where the constant poll be put? A:the "Non-Heap Mem ...

  6. HDU4336:Card Collector(min-max容斥)

    题面 传送门 Sol 方法一 直接状压就好了 # include <bits/stdc++.h> # define RG register # define IL inline # def ...

  7. 文字编辑器FCKeditor 简介以及基本配置和使用方法

    什么是FCKeditor FCKeditor是一个专门使用在网页上属于开放源代码的所见即所得文字编辑器.它志于轻量化,不需要太复杂的安装步骤即可使用.它可和PHP.JavaScript.ASP.ASP ...

  8. 【活动】畅想云端加油站,赢iPad

    中石化联手阿里云升级石油化工业务,已运行2月 中石化的“互联网+”战略正在不断深化.4月20日消息,中石化与阿里云共同宣布,双方将展开技术合作,借助阿里巴巴在云计算.大数据方面的技术优势,对部分传统石 ...

  9. Javascript之DOM的三大节点及部分用法

    DOM有三种节点:元素节点.属性节点.文本节点. 一.用nodeType可以检测节点的类型 节点类型 nodeType属性值 元素节点 1 属性节点 2 文本节点 3 这样方便在js中对各个节点进行操 ...

  10. java 从网上下载文件的几种方式

    package com.github.pandafang.tool; import java.io.BufferedOutputStream; import java.io.File; import ...