zoukankan      html  css  js  c++  java
  • 特征值、特征向量与PCA算法

    一、复习几个矩阵的基本知识

    1. 向量

    1)既有大小又有方向的量成为向量,物理学中也被称为矢量,向量的坐标表示a=(2,3),意为a=2*i + 3*j,其中i,j分别是x,y轴的单位向量。

    2)向量的点乘:a · b

    公式:a · b = b · a = |a| * |b| * cosθ = x1 * x2 + y1 * y2
    点乘又叫向量的内积、数量积,是一个向量a和它在另一个向量b上的投影的长度的乘积,结果是一个标量

    如果两个向量的点乘是零, 那么这两个向量正交。 

    2)向量的叉乘:a X b

    叉乘,也叫向量积,结果是一个和已有两个向量都垂直的向量。
    公式:  
    模长:在这里θ表示两向量之间的夹角(共起点的前提下)(0° ≤ θ ≤ 180°),它位于这两个矢量所定义的平面上。
    =x1*y2 - x2*y1,模长也等于向量a、b所张成的平行四边形的面积。
    方向:a向量与b向量的向量积的方向与这两个向量所在平面垂直,且遵守右手定则。

    3)三维向量的叉乘公式,摘自向量叉乘

    2. 矩阵的行列式

    3. 线性方程组求解

    1)齐次和非齐次线性方程组

    2)使用行列式求解线性方程组

    4. 矩阵的特征值和特征向量

    1)定义

     

    2)示例

     二、PCA算法

     PCA是一种较为常用的降维技术,PCA的思想是将n维特征映射到k维上,这k维是全新的正交特征。这k维特征称为主元,是重新构造出来的k维特征。在PCA中,数据从原来的坐标系转换到新的坐标系下,新的坐标系的选择与数据本身是密切相关的。其中,第一个新坐标轴选择的是原始数据中方差最大的方向,第二个新坐标轴选取的是与第一个坐标轴正交且具有最大方差的方向,依次类推,我们可以取到这样的k个坐标轴。

    1. PCA的操作流程大致如下:

    • 去平均值,即每一位特征减去各自的平均值
    • 计算协方差矩阵
    • 计算协方差矩阵的特征值与特征向量
    • 对特征值从大到小排序
    • 保留最大的k个特征向量
    • 将数据转换到k个特征向量构建的新空间中

    摘自: https://blog.csdn.net/google19890102/article/details/27969459

    2. 经过数学上的推导的,我们就可以知道,特征值对应的特征向量就是理想中想取得正确的坐标轴,而特征值就等于数据在旋转之后的坐标上对应维度上的方差,所以可以根据特征值判断直线还是平面。

    摘自: https://blog.csdn.net/fuming2021118535/article/details/51339881

    3. 那么问题来了,为什么样本协方差矩阵的特征向量就是样本分散度最大的方向,相应的特征值就是在该方向的分散度——方差?

    讨论: https://www.zhihu.com/question/36348219

  • 相关阅读:
    URL请求工具
    .net动态类型在处理json数据方面的应用
    Eclipse中部署hadoop2.3.0
    Java自学之道全文下载地址
    如何生成二维码过程详解
    网页加上进度条的代码 程序员
    将checkbox设置成单选 程序员
    显示网页加载进度条 程序员
    putty 程序员
    Introducing Play 2.0(介绍play 2.0) 程序员
  • 原文地址:https://www.cnblogs.com/wellp/p/8639147.html
Copyright © 2011-2022 走看看