当前位置: 首页 > news >正文

网站建设公司深圳北京公司地址推荐

网站建设公司深圳,北京公司地址推荐,台州手机端建站模板,手机网站建设请示文章目录 基本原理PCA类图像降维与恢复 基本原理 PCA,即主成分分析(Principal components analysis),顾名思义就是把矩阵分解成简单的组分进行研究,而拆解矩阵的主要工具是线性变换,具体形式则是奇异值分解。 设有 m m m个 n n …

文章目录

    • 基本原理
    • PCA类
    • 图像降维与恢复

基本原理

PCA,即主成分分析(Principal components analysis),顾名思义就是把矩阵分解成简单的组分进行研究,而拆解矩阵的主要工具是线性变换,具体形式则是奇异值分解。

设有 m m m n n n维样本 X = ( x 1 , x 2 , ⋯ , x m ) X=(x_1, x_2,\cdots,x_m) X=(x1,x2,,xm),但这 n n n个维度彼此并不完全独立,所以想试试有没有办法将其降低到 k k k维,则PCA的主要流程为

  1. 先将原始数据按列组成 n n n m m m列矩阵 X X X,然后对每一行数据进行中心化 x i j = x i j − 1 m ∑ j = 1 m x j x_{ij}=x_{ij}-\frac{1}{m}\sum^m_{j=1}x_j xij=xijm1j=1mxj,记中心化之后的矩阵为 x ′ x' x
  2. 计算样本协方差矩阵,由于已经中心化,故可表示为 C = 1 m X ′ X ′ T C=\frac{1}{m}X'X'^T C=m1XXT
  3. 计算协方差矩阵的特征值和特征向量,一般需要用到奇异值分解
  4. 对特征向量按照特征值大小进行排序,取前 k k k组特征向量组成矩阵 P P P,则 P X PX PX就是 k k k维的主成分

由于矩阵乘法的几何意义是坐标系的旋转、平移以及缩放,所以从几何角度理解PCA,就是将坐标系旋转到尽量与更多样本平行,从而达到简化坐标轴的作用。就好比一条空间中的直线,需要用三个维度来表示,但这条直线是一维的,只需旋转、移动坐标轴,使得这条直线与 x x x轴重合,就能只用一个坐标来表示这条直线。

PCA类

【PCA】类是sklearn.decomposition中用以实现主成分分析的类,其构造函数为

PCA(n_components=None, *, copy=True, whiten=False, svd_solver='auto', tol=0.0, iterated_power='auto', n_oversamples=10, power_iteration_normalizer='auto', random_state=None)

各参数含义如下

  • n_components 组分个数,默认为样本数和特征数中较小的那个;如果输入为小数,则表示百分之几
  • copyFalse时,将覆盖原始数据。
  • whitenboolTrue时, 对组分矢量进行如下操作:先乘以样本的方根,然后除以奇异值
  • svd_solver 奇异值求解器,可选'auto', 'full', 'arpack', 'randomized'
  • tol 容忍度
  • random_state 用于设置随机数种子
  • power_iteration_normalizer 设置SVD分解方案,可选"LU", "QR", "auto", "none四种。当svd_solver设为arpack时不可用。

奇异值求解器共有4个选择, 其中full将调用scipy.linalg.svd,计算稠密矩阵比较快;arpack将调用scipy.sparse.linalg.svds,更擅长计算稀疏矩阵。二者的具体区别可见scipy奇异值分解💎稀疏矩阵SVD

图像降维与恢复

下面用scipy中经典的楼梯图像来测试一下主成分分析。

import numpy as np
import matplotlib.pyplot as plt
from sklearn import decompositionfrom scipy.misc import ascent
img = ascent()sh = img.shape
ns = [256, 128, 64, 32, 16, 5]imgs = [img]
for i in ns[1:]:pca = decomposition.PCA(i)# 彩色图像需要先转化为矩阵再进行PCAimNew = pca.fit_transform(img.reshape(sh[0], -1))im = pca.inverse_transform(imNew)imgs.append(im.reshape(sh))fig = plt.figure()
for i, im in enumerate(imgs):ax = fig.add_subplot(231+i)ax.imshow(im)plt.title(str(ns[i]))plt.axis('off')plt.show()

【fit_transform】对图像进行降维,保留相应组分并输出
【inverse_transofrm】对图像进行恢复,最终得到的效果如下,随着组分的逐渐降低,图像也越来越模糊。

在这里插入图片描述

http://www.yayakq.cn/news/151685/

相关文章:

  • 做网站用哪个服务器不用备案网站定制设计网页价格多少钱
  • 织梦设置中英文网站wordpress 积分系统
  • 怎么用外网校内网站做英语公司网站建立
  • 免费做图片的网站wordpress 云主机配置
  • 学校网站网页设计全网业务自助商城
  • 承德网站建设价格wordpress调用好麻烦
  • 推广 quot 网站开发 quot网站开发的基本流程图
  • 均安公司网站建设音频网站模板
  • php网站开发实例教程作业做感恩网站的图片
  • ssh可以做wap网站么深圳wap网站建设
  • 做外贸网站注意什么餐饮运营策划公司
  • 嘉兴门户网站建设wordpress 搜索引擎收录
  • 小米网站开发语言网站开发 jz.woonl
  • 辽宁网站建站品牌网站建设有哪些内容
  • 腾讯云服务器做网站可以吗wordpress添加友链申请
  • 手机网站建设的重点步骤怎么做网页界面
  • 漳州企业网站建设站长工具seo综合
  • 企业建站程序有哪些网站怎么做微信推广
  • 中山网站建设搭建网站制作出租
  • 网站建设心得.doc网络工程师面试题
  • 做视频网站对服务器要去一分钟赚一元的游戏
  • 网站的类型及特点东莞专业做外贸网站
  • 企业网站四大类型小程序管理平台
  • 南通企业网站seo微网站建设找哪家公司好
  • 如何做视频网站养老院微网站建设方案
  • 好用的在线设计网站淄博网站制作建设优化
  • 长春网站制作顾问wordpress下载页插件下载地址
  • 企业手机网站建设提升用户体验的三个点做会计题目的网站
  • 网站开发报价说明xp怎么做网站
  • 响应式布局代码例子seo和sem是什么意思啊